Welcome!

Cloud Expo Authors: David Deans, Jeremy Geelan, Liz McMillan, Janakiram MSV, Cloud Ventures

Related Topics: Web 2.0, Java, SOA & WOA, Cloud Expo

Web 2.0: Blog Feed Post

Twelve New Programming Languages: Is Cloud Responsible?

It most certainly is. But that is not the whole story – there is more to it.

Do we need programming languages?

You may think that the answer is no. But, if you go by the recent trend you may need to change your mind.

  • Why is Google working two (GO, DART) new programming languages?
  • Why has IBM (X10), Cray (Chapel) and Red Hat (Ceylon) working on creating a new programming language of its own?

Are new programming languages getting created just to satisfy the creative urge of somebody or has the technology evolution created the need for new way of programming and hence these new languages?

If you look back...

There are 3 periods in history when there was a burst of new programming languages. Each of these periods is linked to a critical point in technology evolution.

Period Driver Languages
1957-64 Invention of compiler and the era of 3GL (1) Fortran, (2) Algol, (3) Lisp, (4) Cobol, (5) RPG, (6) APL, (7) Simula, (8) Basic and (9) PL/1
1978-84 Invention of RDBMS and the era of the 4GL (1) SQL, (2) dBase, (3) C++, (4) Oracle Forms and PL/SQL, (5) Informix 4GL, (6) Gupta SQL, (7) Unify Accell and (8) Ingress
1990-95 O-O & Multi-tier programming and the era of WWW (1) HTML, (2) Haskel, (3) Python, (4) Power Script (Power Builder), (5) Visual Basic, (6) Lua, (7) Ruby, (8) Object Pascal (Delphi), (9) Java, (10) Java Script and (11) PHP

Other important languages which was created outside these time period are: (1) Pascal – 1970, (2) C – 1972, (3) Prolog – 1972, (4) Smalltalk – 1972, (5) Erlang – 1986, (6) Perl – 1987 and (7) C# – 2001. As you can see, they are very few.

Are we entering another period which on hindsight will be classified as another period of technology transition? Only time can tell.

Does cloud computing got anything to do with it?

It most certainly does. But that is not the whole story – there is more to it.

What could the Technology Drivers be?

If you analyze the primary motivation behind these languages, you will see several common themes emerging.

(1) Distributed/Parallel computing:

Programmability of parallel computers (Chapel from Cray, X10 from IBM), Concurrent programming (Clojure, Fantom, Go) and single language for complete cloud stack (Opa)

Cloud computing is all about distributing your process across multiple CPU and running them in parallel or concurrently. Current programming languages are not very well suited for that.

Hence this attempt to create languages tailored for parallel processing.

(2) Multi-paradigm programming:

Languages which support object oriented programming as well as functional programming (Clojure, F#, Fantom, Scala)

Functional programs are relatively easy to parallelize. However, pure functional languages have not been very successful.

Hence this attempt to create multi-paradigm programming language.

(3) Multi-platform programming:

Languages that has implementation for both JVM and CLR (Clojure, Fantom, Scala) and several other platforms (Clojure & Fantom on JavaScript engine, Scala on Android, Haxe on several platforms)

Well this is a dream which we have been chasing for decades. Will it ever be a reality? We never know.

Hence this attempt to create multi-platform language!

(4) Programming at Scale:

Readability, Modularity (Ceylon), Speed of compilation (Go, Zimbu), Suitable for large team (Scala), Meta-programmability and extensibility (Ceylon, Scala), Concise (Scala, Zimbu)

Cloud provides almost unlimited computing power which encourages us to build larger and more complex application. Building such application will require large teams and the code has to be easily maintainable.

Also, the focus on frequent integration requires the process of compilation to be speeded up.

Hence this attempt to create programming language for large application.

(5) Client side programming:

Replacement for JavaScript (Dart), same language for both client and server side (Naxe, Opa, Zimbu)

Cloud computing requires client side code to seamlessly run on multiple client devices. Though JavaScript has become a standard, nobody really likes it!

Hence this attempt to create languages which is better than JavaScript and which can run on multiple client platforms.

Quick overview of the 12 new languages mentioned earlier

Here are the 12 languages listed in an alphabetical order. (I am not including HTML5 in this list as it is strictly not a new language and I have excluded Node.js as it is only a server side JavaScript engine)

Language Who is behind it? Primary Driver Licensing
Red HatHome page Readability, Predictability, Tool-ability, Modularity, Meta-programmability.Runs on JVM GPL v2
CrayHome page Programmability of parallel computersRun on Cray supercomputers and various high-performance clusters.Portable to most Unix-style systems, Mac OS X and Windows BSD
Rich HickeyHome page Concurrency using Functional programming paradigm.Runs on JVM, CLR, and JavaScript engines EPL
GoogleHome page A replacement for JavaScript on the browserFaster, easier to maintain, and less susceptible to subtle bugs.Dart VM needs to be compiled – can run on Linux, Mac and Windows New BSD
MicrosoftHome page Multi-paradigm: Functional + Imperative + Object-oriented.Runs on CLR and Mono Apache
Brian Frank, Andy FrankHome page Portability, support for functional programming and concurrency.Runs on JVM and CLR. Is also compiles to javaScript. Future targets might include Objective-C for the iPhone Academic Free License
GoogleHome page Compiled with the ease of programming of a dynamic language, concurrency and communication, speed of compilation.Compiler available for Linux, Mac OS X, Windows BSD style + patent grant
Nicolas CannasseHome page Multi-platform support.Compiler for JavaScript, Flash, NekoVM, PHP, C++. C# and Java support is expected GPL v2
MLstateHome page Targeted for cloud computing. Client-side UI, server-side logic, and database I/O are all implemented in a single languageRuntime environment own Web server and DBMS.Runs on 64bit Linux and Mac AGPL
EPFLHome page Scalability for multicore and distributed computing. For large team. Multi-paradigm: Functional and O-O. Extensible.Runs on JVM, Android, CLR BSD
IBMHome page Designed specifically for parallel programming, performance and scale.Runs on IBM AIX, Linux, Mac OS X, Windows EPL
Bram MoolenaarHome page Aims to be fast, concise, portable, and easy-to-read and support  GUI application to an OS kernel.Compiles to ANSI C Apache v2

Finally...

What is most interesting is that all the 12 languages are available under some form of open source license.

Interesting articles on history of programming languages:

Statistics on Language usage

More Stories By Udayan Banerjee

Udayan Banerjee is CTO at NIIT Technologies Ltd, an IT industry veteran with more than 30 years' experience. He blogs at http://setandbma.wordpress.com.
The blog focuses on emerging technologies like cloud computing, mobile computing, social media aka web 2.0 etc. It also contains stuff about agile methodology and trends in architecture. It is a world view seen through the lens of a software service provider based out of Bangalore and serving clients across the world. The focus is mostly on...

  • Keep the hype out and project a realistic picture
  • Uncover trends not very apparent
  • Draw conclusion from real life experience
  • Point out fallacy & discrepancy when I see them
  • Talk about trends which I find interesting
Google

Comments (1)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Cloud Expo Breaking News
With Cloud Expo 2012 New York (10th Cloud Expo) now five weeks away, what better time to introduce you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have technical and strategy sessions for you every day from June 11 through June 14 dealing with every nook and cranny of Cloud Computing and Big Data, but what of those who are presenting? Who are they, where do they work, what else have they w...
For many of the same reasons that Software-as-a-Service is catching on with enterprise buyers, delivering web services on top of Infrastructure-as-a-Service architectures is appealing to the SaaS developers. Operational agility, lower CapEx, and a broad array of tools and services are on tap that make both public and private IaaS clouds a great platform to build on. But how do you do this securely, especially in the public cloud where you have no access to the network or hypervisor your servers ...
With BigDataExpo 2012 New York (www.BigDataExpo.net), co-located with 10th Cloud Expo, now five weeks away, what better time to introduce you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have technical and strategy sessions for you every day from June 11 through June 14 dealing with every nook and cranny of Cloud Computing and Big Data, but what of those who are presenting? Who are they, w...
While cloud-based communications include a complex web of ports and protocols, typically 85 percent of the traffic flowing in and out of an organization through the cloud is email and web, including identity services. Taking more of your business and business processes to the cloud begins with knowing your data and ensuring that your existing IT security controls on these major traffic channels extend well into cloud models. In his session at the 10th International Cloud Expo, Ramon Peypoch VP...
It’s easy to lose your head in the clouds. While virtualization has provided a way to satiate the need for on-demand solutions, it is easy to lose sight of the appropriate architecture when being allured to the sky. In his session at the 10th International Cloud Expo, Phil Jackson, Development Community Advocate for SoftLayer, will go back to the basics and take a practical approach to solution building: how to structure your application to take advantage of hybrid environments and provide the...
The move to cloud-based applications has undeniably delivered tremendous benefits. However, the associated distribution creates various challenges from the quality perspective: End-to-end tests need to pass through multiple dependent systems, which are commonly unavailable, evolving, or difficult-to-access for testing. Accessing such systems often involves transaction and bandwidth fees. Teams need to test and tune the system under test against a realistic and broad range of performance and ...
For years, IT departments have organized their processes, employees, and business relationships around owning and operating the core IT assets in an enterprise. The current wave of cloud services can have a powerful effect on enterprise IT, with the potential for significant cost savings and operational efficiencies. To achieve these benefits, IT departments will have to integrate new ways of thinking about how IT resources are delivered. In his general session at the 10th International Cloud ...
With Cloud Expo 2012 New York (10th Cloud Expo) now five weeks away, what better time to introduce you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have technical and strategy sessions for you every day from June 11 through June 14 dealing with every nook and cranny of Cloud Computing and Big Data, but what of those who are presenting? Who are they, where do they work, what else have they w...
In spite of the great strides the cloud industry has made in addressing security and integration concerns, large enterprises (e.g., banks, insurance companies, health care firms) continue to be reluctant to adopt the cloud for mission-critical applications. Further, resistance to cloud adoption is now at least as much an issue of misaligned incentives and fear of the unknown as it is about legitimate technology concerns. Breaking the impasse on mission-critical apps often can't be done directl...
What do the CTO of the U.S. Dept. of Justice and the CIO of the National Reconnaissance Office have in common with the CEOs of Eucalyptus, GoGrid, ActiveState, Appcara, OpSource and Nortonworks, the CTOs of Rackspace, SoftLayer and AppZero, the Founder & General Manager of Dell Boomi, the VP of Big Data & Streams at IBM and the Chief Strategy Officer at Pacific Controls? Answer: all are shortly to present breakout sessions as members of the distinguished Speaker Faculty of Cloud Expo New York, ...