Title: Part II: Choosing a programming language Date: 2010-10-09 23:03 Author: Michael Category: Dev-Notes Tags: Computer, Language, Programming Slug: part-ii-choosing-a-programming-language Status: published
I spent a considerable amount of time pondering which programming language I should really focus on. I still have lingering questions and half-formed opinions at this time, perhaps getting them out here will help solidify the weaker aspects. This is not only an economical question, but also a philosophical question, as mentioned in the previous post.
The economics were that of the opportunity cost when learning one language over another. Learning in tandem is certainly an option, although part of me wonders if you really learn that way. Another potential solution to this quandary is solve your current programming problem with the language you want to really learn.
The problem would have to be big enough to really test you. The features that you decide to implement in your solution need to capture the bulk of or at least a large portion of the framework behind the language. Otherwise you become the dreaded jack of the language with no mastery what-so-ever.
I read an interesting take on the issue of choosing programming languages. I read the article 4 tests, 8 programs, several sleepless nights at the firehouse and 3 projects ago and I couldn’t find it (Google Instant is awesome, but it has changed the way we get search for ever). I’ll sum up the salient points that I recall wishing I could deliver proper attribution…
The author stated that programmers MUST know and have sufficient performance with multiple languages. His examples seemed valid and I respected the point of view. He then went on to describe his ideal of what languages one should learn. This also was respectable and made sense form a beginners point of view.
The author stated that one should focus on a language from distinct groups. One high-level strongly typed language, one functional based language and one script based language. What the heck does that mean? We’ll get into that in the next post…