3 languages in 3 weeks, goodbye prolog hello scala

I’ve finally finished Prolog.  Its taken longer than I thought due to things at work getting a bit rowdy and my inability to sort a list for what seemed like an eternity. It took the best part of a day, so for my test case of 6 elements it was pretty poor.  Prolog is not for me, its a great tool in my CV box set, but I really haven’t clicked with it.  Like most things in my life, I’ll no doubt come back to it in 6 months and find I understand it and can’t see what all the fuss was about.  I suppose if I can attach it to a massive wordlist, I can finally get round to solving Countdown whereas in Java, I gave up when it became apparent my solution would require a new type system and many more hours than I was willing to spend to beat some pensioners at a daytime TV game show.

Next up is Scala. Its between Scala and Erlang as to which I am most excited about learning.  I noticed someone’s review of 7 languages in 7 weeks (7L7W) said the book didn’t teach you the languages, it was mainly a brief introduction and history lesson on each language.  The author also said s/he hadn’t done any of the work at the end of each chapter.  If s/he did this for every programming book, s/he would never learn any language.  Its about getting stuck in, playing with it outside of the boundaries of the book’s text, seeing how it does things compared to your language of choice.  That’s how you learn a language, or at least that’s how I do.  That and debugging your pitiful first cut attempts at the solutions.  The text in 7L7W doesn’t hold your hand through every single part of a technical book, it does get you to go and find API references, user forums and example code for each language, putting the emphasis on the reader to learn as much or little as they like.  If you did the bare minimum then you’ll scrape through and will get through each language in 3 full working days. If you experiment, research and tinker with it, you’ll take a week per language – hence the name…

Anyway, scala: excited. Please, please, please, don’t disappoint, you’re on my shortlist for none .net language of choice.