The library IS the programming language

February 13, 2006, 08:45 AM —  ITworld.com — 

I am wondering if we are reaching some sort of inflection point in the history of computer programming? An inflection point brought on primarily by the rise of so-called 'virtual machines'. In particular, the important twist on the virtual machine concept inherent in Microsoft's .NET implementation known as the CLR (Common Language Runtime). The CLR is most often compared and contrasted with the JVM (Java Virtual Machine) but to my way of thinking, it is more similar to the UCSD P-code System[1] of my pre-bearded youth.

Let me explain. Think of the JVM and what immediately springs to mind? Well, the Java programming language of course. Think of the CLR and what springs to mind? Well, there is C# of course but also VB.NET, JScript, IronPython etc. With the CLR, you use any of these you like and indeed (with some limitations) mix and match them. Out of the box as it were, the CLR gives you a great big library of stuff that you can use from any programming language you like - as long as that programming language targets the CLR.

Now this is also true of the JVM thanks to Jython, SISC etc. but to date this 'language family' concept is not part and parcel of how programmers conceptualize the JVM. It is however, part and parcel of how people conceptualize the CLR.

In my opinion, the attitudes of CLR and JVM folk to the concept of multiple-languages targeting their virtual machines will prove to be a decisive factor in how the two fare into the Twenty First century. However, that is not the inflection point I mentioned earlier. I think the 'aha' moment we are heading for is this: programming language doesn't matter half as much as it used to and frankly, we should stop talking so much about them.

In my opinion, any competent programmer should be able to pick up a new imperative programming language in a couple of days. They are all the same really. Actually, deep down they are in fact totally the same[2]. However, it is not reasonable to expect a competent programmer to be productive in application development after those couple of days. The reason being that real world applications are not developed primarily IN a programming language. They are developed primarily ON a platform - a library of pre-developed code doing everything from opening databases to drawing GUI screens. These libraries are, these days, behemoths. So big that competent programmers can and do spend literally years wrapping their heads around them.

The common interview question "what programming languages do you know?" is becoming less and less useful. The common line of reasoning that goes like this 'She knows C++ therefore she will be able to pick up programming on platform X in no time', is becoming increasingly fallacious.

There is a risk that focusing too much on programming language choices can mask the real issues surrounding portability, ease of maintenance, lock-in and so on.

If these issues are on your agenda, make sure you look past the programming language. Get under the hood into the library/platform where the really important analysis needs to be performed.


[1]
http://en.wikipedia.org/wiki/UCSD_p-System


[2]
http://en.wikipedia.org/wiki/Turing_complete

ITworld.com

Sign up for ITworld's Daily newsletter
Follow ITworld on Twitter @IT_world

I like it!
Post a comment
The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
peer-to-peer

jfruh
Apple syncing patent can't come soon enough

pasmith
New Twitter features borrow from 3rd party clients

Esther Schindler
Open Source Changes the Software Acquisition Process

mikelgan
How to set up continuous podcast play on the new iTunes

David Strom
Five important Windows 7 mobility features

sjvn
Guard your Wi-Fi for your own sake                        

Sandra Henry-Stocker
Grepping on Whole Words

 

Sidekick: The Good News & the Bad News
Either way you look at it Microsoft Data Center management did not follow standards or best practices in this failure. In which case it makes me wonder more about the outsourcing of corporate data much less personal data.
- mburton325

Join the conversation here

The Daily Tip

The Daily TipQuick, practical advice for IT pros. Made fresh daily.

Hot tips:

Want to cash in on your IT savvy? Send your tip to tips@itworld.com. If we post it, we'll send you a $25 Amazon e-gift card.

Newsletters

Subscribe to ITWORLD TODAY and receive the latest IT news and analysis.

I would like to receive offers via email from ITworld partners.
By clicking submit you agree to the terms and conditions outlined in ITworld's privacy policy.
Featured Sponsor

AISO founders envisioned a Web hosting company that was environmentally friendly. While the company employed energy-efficient innovations like solar panels, its infrastructure produced unacceptable power and cooling requirements. Find out how AISO leveraged AMD technology to overcome their challenge in this case study white paper.

In this whitepaper, Scalar explores the opportunity to change the landscape with respect to mission critical databases built around Oracle. Leveraging technologies such as Linux, high-end commodity processing power and Oracle RAC technology to architect, design, build and maintain database infrastructure that delivers maximum availability, reliability and performance at a fraction of traditional cost.

On a typical day, weather.com, the Web site for The Weather Channel in Atlanta, serves up between 15 million and 20 million page views. But in September 2004, when back-to-back hurricanes ransacked Florida, the peak traffic on one day more than tripled: over 70 million page views by more than 7 million unique visitors. Read the full success story now.

Marketplace