Dynamic Language Anti-FUD
Aug 1st, 2007 by phil
There is a good article running over at SD Times titled “Study Predicts Upswing In Dynamic Language Use” (hat tip to James Robertson). Given how hot dynamic languages are right now I don’t think it would take Nostradamus to predict an upswing in use. The Forrester study mentioned in the article did have a few interesting, if not surprising, conclusions.
The first is that dynamic languages are being used in corporate settings, but that they are being introduced through the backdoor rather than as major corporate initiatives. Essentially they find that developers are using “mainstream” languages at work and dynamic languages after hours. The mainstream languages are the ones developers are forced to use while the dynamic languages are the ones they choose to use. It is only natural that developers would then find ways to use the languages they like during their day job.
The second interesting observation is that dynamic languages almost require an agile development methodology. In addition, because of their dynamic nature these languages rely more heavily on testing to verify the correctness of the code. I think the authors of the study put too much faith in rigid typing systems’ ability to detect errors in the code. That having been said, it is true that dynamic languages seem to have a stronger tradition of unit testing than more mainstream technologies.
Finally, they note that training developers in dynamic languages isn’t that hard:
Goulde and Hammond predicted that finding developers will not be too difficult. While they both conceded that, currently, dynamic language developers are commanding a premium price for their services, it is also possible to retrain existing developers to use these languages.
“There’s a lot of skill transfer across these languages. It’s not like you’re working in a totally different environment. They have enough similarities that developers pick it up pretty quickly,” said Goulde. “These guys have worked with multiple languages for years. They try to use the best language for the purpose at hand. They’re not, by any stretch, skills limited to one language.”
I get very annoyed when I hear development shops saying that they “standardized” on a platform because it is too hard to support development in more than one language. A related argument is that it is too hard to find developers for languages other than Java and C#. This kind of thinking kills innovation and ignores the suitability of the “standard” platform to the problem at hand. In reality, learning a programming language isn’t any harder than learning a sizable framework or class library in a language you already know well (J2EE anyone?).
I think that we may be seeing a paradigm shift in software development where languages are chosen based on their suitability and power more than their popularity or “mainstream” status. If that is the case, it can only be good for developers and for the larger software development community.




