Thursday, September 17, 2009

polyglot language - New trend in multi-paradigm programming

Polyglot and Poly-paradigm programming ( PPP ) Model gaining a lot of momentum for last couple of years however the model was implemented successfully in various applications very long back. For example there are lot of application use C and shell/awk scripting together. Embedding the scripts with HTML is also yet another best example of PPP model.

Then, Why the PPP model creating some buzz of late. The simplest answer is as the enterprise applications getting more and more complex, there is no single universal language can be developed to satisfy and work with this diverse problems. Today a simple enterprise application might need language for domain specific problem, web interface, networking , concurrency , database etc. So we need to use an integration of various programming language like scripting, DSL ( Domain specific language ) , functional etc to solve various problems with in an application domain.

The scripting languages like python, ruby , groovy provide more agile, ready to use patterns, components for development and hence the development time getting shorter and gaining lot more productivity. The big problem with the languages like Java , C++, C# are the learning time is more and more oriented towards seasoned developers. For a domain guys to implement a small equation solver with in his program required to learn how to write a java or C++ code to solve the problem. His objective is to solve the issue rather than learning nuances of various languages. These are the clear cases where DSLs and scripting languages are more helpful as they inherently simplify the grammar of the program.

In addition to all of these, most of the modern language provide and targeted to deliver byte code which can directly deployed on either Java VMs or .NET VMs. This process minimizes completely the integration complexity with in various languages. For example scala for java , JRuby , JPython and Haskell.net for .NET are the best examples of PPP model.

This programming practice can be more nurtured and practiced, if the language creator can still simplify the calling conventions and integration issues with in multiple languages. I am hoping we are progressing towards the same goal.

More to find :

http://www.polyglotprogramming.com/