
Study Predicts Upswing in Dynamic Language Use
Click title for source at SDTimes.com…
By Alex Handy
July 19, 2007
A new study from Forrester Research explores how the use of dynamic languages and the frameworks associated with them will change corporate software development.
The study, which should be released in August, is based primarily on the work of Forrester senior analysts Jeffrey Hammond and Michael Goulde. During their research, the pair discovered that, although the current boom in the use of languages such as Ruby, PHP and Python may resemble the Visual Basic boom of the 1990s, this time there are some distinct differences.
“These dynamic languages are creating very strange bedfellows,” said Hammond. “With these languages, some are open source, and in some cases you have multiple commercial vendors pushing on a single language. You’ve got Sun with JRuby and Microsoft with IronRuby. Having these traditional vendors cooperating and collaborating around these languages is interesting. It’s not your traditional .NET versus Java battle.”
Currently, dynamic languages aren’t in widespread corporate use, Goulde explained. For this reason, he and Hammond decided to look into the reasons why corporations have, thus far, been left out of the dynamic language typhoon that has overtaken the casual Web.
“The reason behind this,” Hammond noted, “is we’ve increasingly been seeing a real split in the types of languages and programming [that] people are doing outside the firewall and the types they’re using inside the firewall. This study was an attempt to drill into the reasons we see so many people in the Web world using these dynamic languages. Why is it that we see so much PHP and Perl and JavaScript out in the Web, and yet we see almost nothing of these languages inside the [corporate] firewall?”
But during the course of their studies, the pair found that dynamic languages aren’t being ignored by enterprises, they’re simply sneaking in the back door. They learned that Python, for example, has made headway with nonprogrammers: The language now offers many powerful frameworks and libraries for scientific and engineering uses. PHP, on the other hand, is often used for database-driven applications that require constant modifications and shifting requirements.
This so-called dynamic language creep will have big implications for development teams and their daily chores, the analysts claimed. For one thing, said Hammond, developers using dynamic languages are given much more initiative as to how they will complete their tasks.
“[Among] the things that are going to be different about these languages is the ways they’re constructed shift the way traditional development is done,” said Hammond. “Dynamic languages offer things like [dynamic] ‘duck’ typing, which means you don’t have rigidly typed function calls. That means developers can put together architectures that are very flexible but may introduce errors at runtime. The type of skill set you need also changes. Ruby is very similar in architectural principle to Smalltalk, so you need really good object-oriented skills to use it effectively. PHP can be used in ways that are similar to what many Visual Basic programmers have done in the past.”
However, that means that testing requirements for corporate applications will shift as well. “Things will compile successfully without a problem,” Hammond predicted, “but because of dynamic interfaces, it’s possible someone will put together a connection at runtime that fails. Then the question becomes: Is the business logic supporting it?”
The other thing that dynamic languages do, Hammond said, is they tend to trust developers more to make design decisions. “If you have a bad developer going very, very fast, that’s a bad thing. They need to understand that these languages are very different from Java and C++. The compiler is not going to save them all the time. With more power and speed comes more responsibility.”
For now, Goulde and Hammond see three of these dynamic languages as being the most important for enterprises. Certainly, said Hammond, JavaScript is important for Web developers—being the only language in the pack that requires no extra stack components to write and deploy—but at the moment, Ruby is the language that is seeing the most growth in overall uptake in enterprises. Goulde also pointed out that PHP is likely the most popular dynamic language in current corporate development environments.
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.”
[...] “These dynamic languages are creating very strange bedfellows,” said Hammond. “With these languages, some are open source, and in some cases you have multiple commercial vendors pushing on a single language. You’ve got Sun with JRuby and Microsoft with IronRuby. Having these traditional vendors cooperating and collaborating around these languages is interesting. It’s not your traditional .NET versus Java battle.”” (SD Times) [...]
Pingback by Lazy Coder : IronRuby is in town — July 23, 2007 @ 5:23 pm