Sunday, September 24, 2006

 

Three less-known programming languages worth learning...

  1. D
    If you are a language purist, be warned: D will not impress you with elegant academic concepts. Their site makes it very clear, that D is a practical language (read Who D is Not For). D is basically C++ done right. There are a few features from C++ that are missing in D, but most of the C++ power is there (see Comparison). D has more high-level language features than C# or Java, while all low-level features of C are still available when you need them. Coexistence of low-level and high-level features is probably the most remarkable feature of D. It feels like C# or Java, but you can mangle pointers, perform manual allocation/deallocation and easily connect to your existing C/C++ code.
  2. Nemerle
    Nemerle is a beautiful language. It's very readable and powerful. The most important feature is metaprogramming, which basically allows you to write 'programs that write programs'. It runs on .NET platform only, so it's not for every purpose. If you need performance and low-level access, D is a better choice. Otherwise, Nemerle is a language that will please both language purists and pragmatic programmers alike.
  3. Lisp
    This is the language for language purists. It's amazing, how conceptually simple language can offer so much power and extensibility. Basically, Lisp is a 'programmable programming language', which means, that you can not only express your ideas in very concise way and then define semantics for interpreting these ideas. Lisp is not a very practical language and I'm definitely not saying you should use it professionally. Just like Eric Raymond said, learning Lisp will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot. You should probably start learing Lisp with Scheme, a pure and clean Lisp dialect.

This page is powered by Blogger. Isn't yours?