First impression on unpacking the Q702 test unit was the solid feel and clean, minimalist styling.
Dynamic programming futures
- — 14 October, 2008 08:47
When a decision must be made, some believe it makes sense to go with popularity. The rich will get richer. PHP is the first language that many people learn after mastering HTML, and it will always be as comfortable as a childhood home. PHP server platforms from Zend Technologies offer better performance, making it possible to write a serious application in the language.
But will PHP be able to shake the casual structure that encourages beginners to whip up spaghetti code? Will it be able to continue to mix the presentation layer and the application layer without driving everyone insane? Will Zend's collection of server optimizations provide enough performance to overcome any limitations of the language?
Others suggest that developer passion will produce the dominant language. Perl and Python attract some of the smartest minds who see programming as a craft. Their insight and devotion to creating elegant solutions is bound to produce a great platform in two years.
Hearts and minds
The same credibility with programming hipsters, however, can scare away the bulk of programmers and limit a language to a niche. This isn't fatal, but it can come close if the masses flock to something simpler. The cool library writers can follow demand.
Some want to place their bets on Ruby on Rails, a striking and elegant solution that produces sophisticated results in no time. A few lines of code produce a full interface with all of the pages necessary to create, update, and delete records.
This simplicity often turns into shackles when the programmers reach the edge of the framework's capabilities. Changing little details or producing slightly unorthodox output can be maddening.
There are many other options. Some developers love Groovy, the dynamic language integrated with the Java API. A programmer gets the rock-solid foundation of compiled Java code mixed with the flexibility to diddle with the Java objects in real time.