Language Instinct

» 06 January 2004 » In Opinion, Tech »

Simon Willison writes:

Looking back on 2003, one thing really stuck out for me: I didn’t learn a new programming language. The Pragmatic Programmers recommend learning at least one new language every year. . .

One new language every year? I have to question the validity of this advice. Programming language is just a tool, after all – the important thing is the knowledge of algorithms, complexity theory, data structures, protocols, and general computer science problem solving. The differences between mainstream languages may be significant, but the commonalities are overwhelming. The same solution can be implemented in roughly the same way in most of them. Knowing a language just for its own sake reeks a bit of hubris, in my humble opinion. Being comfortable with one language in each category makes more sense: one functional (Lisp, Scheme), one object-oriented (Java, C#), one scripting (Perl, Python, PHP), and a couple of specialty ones (SQL, HTML) provide a solid base and enable you to learn similar languages quicker, if need be.

Simon is probably going to resort to learning Snobol and INTERCAL in a couple of years, but that’s his choice. 🙂

Trackback URL

  1. andrei
    Coder
    06/01/2004 at 10:14 pm Permalink

    What exactly does “functional” mean? Academic? I don’t know Scheme (AFAIK) and have only browsed through the one book I could find on Lisp.

  2. andrei
    Coder
    06/01/2004 at 10:17 pm Permalink

    I think C is still really important to know, if you want to consider yourself a programmer.

  3. andrei
    Coder
    06/01/2004 at 10:20 pm Permalink

    As for Python, I really have no need for it. PERL’s CPAN is better, and I don’t care for the syntax, pseudo objectese, and spacing requirements. Ruby is probably a better Python (which I still don’t need).

  4. andrei
    Ryan
    08/01/2004 at 2:51 pm Permalink

    Pseudo objectese, eh? I dunno – I would say that Perl fudges objects to an incredible extent, and that at least Python was based on an object model. I’m a Perl guy myself, but I still have to say that it’s object implementation is a real double bagger.

  5. andrei
    Justin
    11/01/2004 at 5:45 am Permalink

    python’s object syntax is very elegant. maybe it’s my taste , but i find it to be pure “fun” rather than the hard slog that is java.

Additional comments powered by BackType