Thursday, August 25, 2005

Freedom Languages

A thought provoking article over at Code Craft. Kevin compares languages that try to remove constructs that are deemed confusing or easy to misuse with languages that try to remove constructs that reduce programmer freedom. According to Kevin, C++, Java, C are examples of safety languages; his freedom languages include Python and Ruby.

For what it's worth, I find programming in a safety language (C++) as satisfying as writing in a freedom language (Ruby). In a sense, I feel both do their job well. Somehow, I can never get real satifaction from writing Java (OK, it pays the bills, but I mean that pleasure of writing something beautiful; something that has merit beyond its practical purpose). The C++ language has beauty in its austerity. Ruby has a different charm, but ultimately the attraction of both is their power to let me express the problem without hiding it in the messy housekeeping details. My first reaction when I discovered C++ (back in the old cfront days) was that it improved the signal to noise ratio (that's my time in HW slipping through the cracks). And there's my chief complaint about Java; I spend too much time (and too many lines of code) writing things that are better left unseen. In trying to make the laguage safe, it has made it more difficult to write and maintain.

If Java's greatest strength is that it is easy enough that anyy programmer can write it; that is also its greatest weakness. Today we have far too many people who can write Java (and are Java Certified Engineers) but don't know how to program.

Category: Software, Programming, Java, Ruby

0 Comments:

Post a Comment

<< Home