Free Newsletters
InfoWorld Daily

InfoWorld
Log-in | Register

The shortcomings of scripting

Getting the most from dynamic languages means being mindful of their limitations


While dynamic languages offer undeniable coding benefits, they do have limitations. Managers bringing dynamic languages into the enterprise development mix must bear these shortcomings in mind when matching technologies to specific software projects.

Scalability. Python and Ruby both use their own VMs, neither of which is suited to threading — in fact, they offer little support for it. So, apps that require many parallel threads will not fare well with Python or Ruby. Moreover, hardware resources, such as multiple cores and multiple processors, will not be used efficiently because these VMs are not capable of leveraging this hardware effectively. Because of this, many Ruby enthusiasts are turning to JRuby, a Sun-sponsored open source project for running Ruby on the Java VM, which offers excellent threading support. JRuby is far enough along that it can be used for in-house projects and pilots.

Performance. None of the main dynamic languages uses a VM that has been optimized as extensively as the JVM. As a result, these languages run far more slowly than Java. Other factors, such as language features, also affect performance. The regularly updated language benchmark shootout for the Linux community shows that across an extensive collection of tests, Java runs at 1.8 times the speed of compiled C; Lua (using a JIT compiler), at 3 times; Python, at 6.7 times; PHP, at 7 times; Perl, at 9.8 times; and Ruby, at 16 times. So, where performance is critical, Java or a compiled language will fare far better than any dynamic language (except Lua with a JIT).

Development tools. Developers accustomed to the feature sets of Visual Studio .Net or the leading Java IDEs will be surprised by the lack of equivalent environments for dynamic languages. The best IDE for Perl, Python, and Ruby today is ActiveState’s newly released Komodo IDE 4.0. Komodo’s primary competitors are single-language tools. Worthwhile open source tools for most of these languages do not yet exist, as there is no single equivalent of Eclipse or NetBeans, although both of those environments have plug-ins that support various dynamic languages.

Developer communities. Although premier dynamic languages such as Perl, Python, and Ruby have active, thriving communities, none approaches the size of those for mainstream languages such as C, C++, and Java. Only PHP comes close. These smaller communities mean a smaller pool of developers to draw from when hiring for specific language skills. Fortunately, dynamic languages are generally easier to learn. As such, in-house staff can be cross-trained fairly quickly. And although they won’t be experts overnight, newly trained staff can contribute right away, thanks to the innate productivity of the languages.

Andrew Binstock is senior contributing editor of the InfoWorld Test Center.

Talkback:

commentPost a Comment

 

MOST COMMENTS

 
 





REMOTE ACCESS: MAINTAIN SECURITY AND DECREASE THE BURDEN ON IT
Join this interactive webcast to discover how IT Managers can control access rights, end-user security settings and end-point authorization. Sponsor: Citrix(R) GoToMyPC(R) Corporate

»  Click here to view this Webcast
  Planning For A Disaster
This new, comprehensive Solutions Guide is your one stop source for Disaster Recovery. In it you'll learn how to reduce the likelihood of a disaster and to create a rock solid business continuity plan should you face a disaster situation. Sponsored by Equallogic

»  Click here to download now

- Special Advertising Partners -
WHITE PAPERS
 

» Technology White Papers Library

Technology White Papers by Topic

Technology White Papers E-mail Alert

Find out when the latest white paper is available:
 
 
INFOWORLD MARKETPLACE
 
» BUY A LINK NOW
 
 

Video

 
 
 

Podcasts

 
IFW Daily 10/10/2008

A look back at the week: AMD splits into two, Panasonic sets world record...

 
 

 

Columnists

 
 
 

Resource Center


Ads by techwords beta  [See your link here]
 




Sponsored Technology Links

 
 
 HOME  NEWS  BLOGS  PODCASTS  VIDEOS  TECHNOLOGIES  TEST CENTER  EVENTS  CAREERS   About | Advertise | Awards | RSS | Contact Us 

Copyright © 2008, Reprints, Permissions, Licensing, IDG Network, Privacy Policy, Terms of Service.
All Rights reserved. InfoWorld is a leading publisher of technology information and product reviews on topics including viruses,
phishing, worms, firewalls, security, servers, storage, networking, wireless, databases, and web services.

CIO :: ComputerWorld :: CSO :: Demo :: GamePro :: Games.net :: IDG Connect :: IDG World Expo
Industry Standard :: IT World :: JavaWorld :: LinuxWorld :: MacUser :: Macworld :: Network World :: PC World :: Playlist