If Programming Languages were art...
Muli Koppel writes about how we select our Programming Languages based on the credo of their creators, and that each creator can be viewed as a Sociologist or philosopher.
In my case at least, it's a very astute observation about why we use the languages we do, in order to create systems.
You could almost think of each language as an artistic style:
- Ruby : Monet, Zen Art
- Perl : Dali!
- Python: Bauhaus
- Java : Modernism
- JavaScript: Popart
- C/C++/C# : Renaissance
- Rails : A lot of Jackson Pollock's...
When programming it is important to feel comfortable with the language you are using. A function or module is like a piece of prose expressing a concept. Lack of feeling for the language will lead to dull code. Translation is not the same skill as creation, which is perhaps why strict design specifications produce uninspiring code.
It seems to me, reading Muli's piece and the comments, that there are 2 basic types of programmer, the artistic one and the scientific one.
The former is drawn to more abstract, philosophical kinds of languages that give a blank canvas and the latter is drawn to regular, mandated practices and defined boundaries.
There will always be disagreement in which way is the best way to work, the latter group cling to standards and manuals, the former defy best practice and re-use.
There ought to be room for both types, and their preferred programming languages, but I suspect the scientific approach will be more and more dominant as our industry evolves. There's a place for art, but it's usually only an option for the gifted few.
