Looking at Peter Wayner's examination of possible futures for dynamic programming languages, I'm surprised that "better language technology" didn't rank higher on the list of evolutionary principles. All of the major interpreted languages have enjoyed a period of active development in recent years. Despite their humble origins, you can hardly refer to Perl, Python, or Ruby as "scripting languages" anymore.
I'm particularly interested in the growing convergence between dynamic languages and platforms like Java and .Net. Dynamic languages have lately been exploring such technologies as bytecodes and JIT (just-in-time) compilation, while the Java and .Net runtimes have been adding features to accommodate more dynamic programming styles. In fact, some engineers envision a time when the two technologies conflate completely.
The key to such a conflation will be to divorce the VMs from the syntactic details of specific languages. No more languages as platforms; imagine being able to program in the language of your choice and then choose from any of several different underlying engines to execute your code, depending upon the needs of your application. It could be the next major stage in the evolution of programming -- and it's happening now.
Write anything, run everywhere
Not surprisingly, perhaps, the first hints of this idea came from the dynamic-language side of the house. Though long delayed (some would say it has officially graduated to vaporware status), Perl 6 is expected to run on Parrot, a "generic" VM engine that will execute not just Perl code but also Python and potentially other dynamic languages as well.
Not long after Larry Wall and company began work on Perl 6, Microsoft introduced the .Net platform, and with it CLR (Common Language Runtime). Seen by many as Microsoft's answer to the JVM (Java Virtual Machine), the CLR has an advantage in that while the JVM was designed to run Java, the CLR supports a variety of languages.
The first beneficiaries of the CLR were traditional-style compiled languages, such as C++, C#, and Visual Basic. With some diligence, however, Jim Hugunin was able to implement a version of Python for the CLR, and other, similar projects would soon follow. More recently, Microsoft has announced the Dynamic Language Runtime, an effort to provide services on top of the CLR designed specifically to suit dynamic languages.
This whitepaper explains the terminology and concepts behind Data Replication technologies and establishes some sizing rules through worked examples. Learn the new paradigm in disaster tolerance—protect data anywhere.
Download now »Server virtualization is a popular option for dealing with mounting datacenter costs. Another equally promising approach is the use of an Application Delivery Controller. Citrix NetScaler provides a low-cost way for organizations to reduce their server count and accrue cost savings from a reduction in space, cooling, power and personnel.
Download now »
The emergence of WLANs has created a new breed of security threats to enterprise networks.
Included in HP ProCurve WLAN solutions is security technology that alleviates threats from WLANs through:
* Monitoring wireless activity inside and out of the enterprise
* Classifying WLAN transmissions into harmful and harmless
* Preventing transmissions that pose a security threat to the enterprise network
* Locating participating devices for physical remediation
Effectively address data protection challenges, implementing solutions that help store and protect businesscritical data while cutting costs and improving efficiency and reliability.
Download now »
Sign up to receive InfoWorld Resource Alerts
