Chapter three of Seven Languages in Seven Weeks is on Io, a prototype-based language that is very intriguing. Io reminds me of Othello, the classic board game that takes "a minute to learn, a lifetime to master". Io has a small, simple syntax that essentially is just a bunch of messages chained together, so you're hacking away with the language in a matter of minutes. Yet its remarkable flexibility allows you to do some very interesting stuff - and do it kinda easily. The book showed a few such examples, which took me a little while to grasp. That's the thing about Io: it can do some powerful things, particularly along the lines of metaprogramming, but how to do these things is not immediately obvious, so you have to take the time to really learn the subtleties of working with the language.
The question, though, is whether it's worth such an investment. Io has a small community, making it hard to find information. Granted, there is a message board and some helpful sites, but often you can't just google around to quickly find the answers to your questions like you would for other languages. Outside of Pixar, I'm not aware of a well-known enterprise application or consumer product that uses Io, which doesn't help its visibility. I think it has been used in some embedded systems, so we'll see if it gains any prominence there. For me personally, I think I'd be willing to use Io professionally if there's ever a demand for it. But for now, there's other languages and technologies that interest me more and will probably have a greater impact on my career, so I only see myself occasionally working with Io for fun and a fresh viewpoint on things. Nonetheless, I'm glad that I've had exposure to it.
I've added my answers to GitHub, so let me know of any corrections or improvements.
Next up is Prolog.
0 comments:
Post a Comment