Ask HN: How do you test-drive a new programming language? What do you build?

2 points by GeneralMaximus ↗ HN
Hi HN,

I've been reading through Bruce Tate's excellent Seven Languages in Seven Weeks and really enjoying the chapter on Io (http://iolanguage.org). The example problems in the book have been fun to solve, but I want to see how the language scales to larger problems. This is where my problem starts.

Io barely has a community. Libraries are either unavailable or unmaintained. There are very few examples on the Web that describe what people have built with it.

I build front-end Web applications for a living, so my first instinct when learning a new language/framework is to build some simple UIs (todo lists, spreadsheets, etc), or small games (pong, space invaders, etc). If I like the language, I scale up to something more complex, like a reddit client or chat application.

Since Io doesn't have bindings to GUI libraries, doesn't compile to JS, and I can't get the OpenGL bindings to work correctly on the Mac, I'm at a dead end.

So far, I'm thinking of building a dungeon crawler, since I only need simple console I/O for that. However, I'd like to know what kind of applications other people build with a new programming language. I feel programming puzzles like Project Euler or reimplementations of common data structures don't really reflect the real-world of a language. I prefer to build the kind of applications I'm likely to use myself.

So HN, what applications do you build when you learn a new programming language?

2 comments

[ 3.2 ms ] story [ 17.3 ms ] thread
For me, it's the other way around. I find a piece of technology that I want to use, and then, sometimes, it comes with a new programming language I have to learn. For example, I didn't install Python and then wonder what to do with it. I was using Mercurial, had a need for a custom plugin, so I learned Python so I could write the plugin.
I understand your viewpoint. I do this, too, when I'm trying to achieve a specific goal.

In my free time, though, I like to explore different programming languages/paradigms. It's a fun hobby.

I'd love some advice on what I can do to properly exercise a programming language so I can understand it at more than just surface level.