Languages a well-rounded programmer ought to know
However, this post isn't about those things. This post is just a very subjective sampling of very useful languages that are either useful for the ways of thinking they help you acquire or for the application domains in which they excel or for both. I consider these the bare minimum of languages that a hacker should know.
Here they are (with double newlines because I couldn't figure out how to do single newlines on HN):
A LISP dialect (preferably either Clojure, Common Lisp, or Racket)
Python, Ruby, or Scala
Haskell, ML, OCaml, Erlang, or Scala (don't pick Scala twice)
C
A Bourne-derived UNIX shell (Bourne, ksh93, or Bash)
HTML/CSS/JavaScript (at least basic proficiency)
Optional: Any logic programming language
Agree? Want to rip my eyes out? Let me know!
8 comments
[ 555 ms ] story [ 239 ms ] threadI could add F# to the functional languages since, from what I understand, it almost exactly is to Scala what C# is to Java. But I don't view Microsoft-specific languages as languages a hacker needs to know. XD But what mental growth would BASIC facilitate?
Cool list, though. Will probably inspire me to go back and try to further my understanding of Haskell, which hands down has had the most disproportionate effect on my understanding of programming.
a low level language - C is the most important one by a million miles
a high level enterprise oriented language - Java or C#
a high level scripting language - Python, Ruby, Perl
Unix Shell Scripting (bash is the most popular i guess)
the frontend web stack - HTML/CSS/JavaScript
obviously people will have widely varying degrees of proficiency between those categories, but everyone should be at least familiar with those categories if not an expert in all of them. you probably should be an expert in one of them though. having a "native tongue" is a useful thing.
Thinking "functionally" has tons of holistic benefits for a programmer. It can also shrink your code base significantly.
Why ignore these gains if they can make you a better professional coder?