No New Language In 2009; New Habits Instead
gilesbowkett.blogspot.com
gilesbowkett.blogspot.com
What's more, learning new languages is repetition of the process of learning. It's learning how to think about a problem differently (assuming it does, you may not learn so many new concepts going from Ruby to Python). Learning to turn over a problem and attack it from a new angle is an essential skill.
There is a terrible temptation that we as engineers all face: to stop learning. After all, our skillsets are broad enough and it's hard to justify all these skills we may never use professionally. But that's a dangerous negative feedback cycle, because all these computer linguists build on other concepts. Once you fall a generation behind, you the have that much larger a gap to cross when pioneers have carved out a market that you do want to enter.
Finally, there is this kind of hidden belief in hacker circles that functioning but inelegant code is somehow worthless. Of course it's preferable to have elegant, extensible code... but in a space where there are no alternatives any functioning code is better than no code at all. Even if you can't make beautiful code with a skillset, working code is 1000x better than no code at all.
P.S. Also, the reader should care what Zed Shaw thinks of their code? Facile understanding of the history of mongrel detected, captain.
I enjoy new problems and domains too. It's great to dive into a new subject, and often very valuable. But the reason people say, "Learn a new language ever <time increment>" is because you're not just tackling a new domain, you're talking a new way of understanding domains. This kind of meta-exercise is invaluable, in my opinion.
Learning Haskell, Erlang, Lisp, etc, can be interesting on its own, but if you instead try to achieve something or learn about a subject area where Haskell, Erlang, or Lisp are strong, it's a far better way of learning. Go to France and then learn French.
That really doesn't seem like the message that's being stated. It is a little hard to pick out the relevant parts, but it seems like he's going to stick to what languages he knows and instead focus on solving problem domains.
Learning new languages as you explore new problem domains doesn't seem like the message in the post, at all.
In 2009 I'm not planning to learn a new language either, although I am planning to put up my first production app in Seaside.
This has occasionally led to more excitement than I wanted, like trying to push Python to do a processing intensive task and then switching to Java at the last minute so it would finish by the deadline. But for the most part it has worked well and by picking more productive languages to learn has even made some tasks easier than they would have been with my day job language.
However, my goal for the new year is to start a blog and write more. One of the first topics I want to write about is the programming languages I've used and what I've learned from them.
Looks like Giles missed the memo that the ZSFA persona has been put to rest. Guess Giles will have to take on this role solo, now.