By Serdar Yegulalp, InfoWorld
From Ceylon to Egison, these 10 languages tackle tough programming problems in unique and increasingly popular ways.
Beyond the usual suspects: 10 programming languages on the rise
The sheer number and diversity of 
programming languages in use today is immense. For better or worse, 
however, most organizations settle on a small subset, the usual 
suspects, to tackle whatever programming problem comes their way. Java, 
C++, JavaScript, PHP, Ruby -- time and again, developers shoehorn code 
to do the best they can with the tried and true.
Some problems require new approaches and new tools. Here are 10 programming languages gaining significant traction for newfound, newly created, or reimagined utility. They run the gamut from general purpose to highly specific, and have roots that range from Lisp to Java, but each could have meaningful impact on modern programming as it evolves.
Some problems require new approaches and new tools. Here are 10 programming languages gaining significant traction for newfound, newly created, or reimagined utility. They run the gamut from general purpose to highly specific, and have roots that range from Lisp to Java, but each could have meaningful impact on modern programming as it evolves.
Ceylon 1.0.0
Resembles: Java (but it isn't a version of it)
License: Apache v2
What's it all about: Once upon a time developers at Red Hat got together and said, "Man, Java would be great if only it didn't do this, and if only it did do that."
 Several wish lists later, Ceylon was born. The language runs on the JVM
 and Node.js, while doing away with many of Java's more notorious pain 
points. Instead of XML, it uses a JSON-like declarative syntax for 
tree-structured data, and it features static typing, a module system, 
and support for some structures that don't exist in Java, such as 
sequence, intersection, and union types.
Clojure 1.6
Resembles: Lisp
License: Eclipse Public License 1.0
What's it all about:
 One way to think about Clojure is that it's Lisp for the JVM, given 
that it runs on the JVM and has full access to Java's frameworks and 
libraries. Clojure's creators advertise the language as a tool for 
functional programming that is also designed for concurrency -- in other
 words, well-suited to multicore or widely distributed applications. InfoWorld's Andy Oliver looked at Clojure
 in the context of Ruby and Ceylon, and he felt it best suited for 
programmers coming from a math or science background. But with the 
functional programming paradigm on the rise, Clojure deserves a closer 
look beyond computational science.
Egison 3.3.3
Resembles: Lisp
License: MIT
What's it all about:
 Egison is a functional language aimed at performing pattern matches 
against a range of data types. Egison's creator, Satoshi Egi, claims 
that pattern matching in existing programming languages is supported 
only when the data is stored in a structured form like a list. Egison 
was designed to allow pattern matches to be expressed in different ways 
based on data types (for lists vs. sets); to handle nonlinear patterns, 
such as multiple occurrences of the same variable in a pattern; and to 
create functions that both receive and return patterns.
Groovy 2.2
Resembles: Java
License: Apache License 2.0
What's it all about:
 Call it "Java plus," since Groovy is essentially a syntactical 
extension of Java that runs on the JVM and can make use of Java library 
classes. But Groovy bristles with features not found in Java natively: 
static and dynamic typing, mainly, but also operator overloading, native
 regular expression support, and -- my favorite -- a "?" operator to 
allow for the safe checking of null objects without wrapping expressions
 in tons of syntactic sugar. It's also found uptake with some fairly big
 names: LinkedIn and Wired have used Groovy (and Grails, a Groovy Web 
framework) for their websites, and major IDEs like Eclipse and IntelliJ 
now support it.
Hack 1.0
Resembles: PHP
License: PHP/Zend licenses
What's it all about: Facebook had already created 
its own runtime for PHP, known as HHVM -- so why not go a step further 
and fork PHP itself? Hack, Facebook's new spin-off language, keeps PHP's
 rapid development cycle and ease of use, adds static object typing and 
lambda expressions, and was written in OCaml for safety and durability. 
Much existing PHP code will run in Hack, making it theoretically easier 
to migrate from PHP to Hack, but right now, outside of Facebook's own 
bullpens, it's hard to say if Hack will enjoy the kind of massive uptake
 PHP has enjoyed.
Jeeves
Resembles: ML, but implemented directly in Scala and Python
License: MIT
What's it all about: Jeeves was created to help programmers do one thing: enforce privacy policies for how data moves through an application. As explained
 in the readme for the Python implementation of the language, this goes 
beyond ascertaining whether a given user can see a value to determining 
whether that user can see values derived from that value. Policies for 
how such data flows are created and managed separately from the program 
itself. Given how important data security has become as a matter of 
programming practice, projects such as Jeeves may be receiving a good 
deal more attention in the future.
Julia 0.2.1
Resembles: Python
License: MIT
What's it all about: Julia was designed for 
technical and scientific computing, where parallelized and distributed 
number-crunching is a way of life. Julia compiles to machine code with 
the aid of an LLVM-based compiler, and on some key benchmarks it 
outperforms Matlab, Mathematica, and R -- which were also developed for 
math and science work -- by a wide margin. It even supports a Lisp-like 
macro function for expanding the functionality of the language. Also, 
existing fans of Python's math and science libraries need not feel shut 
out, since Julia can optionally make use of those libraries as well.
Nimrod 0.9.2
Resembles: Python, Pascal
License: MIT
What's it all about: The Nimrod homepage describes
 the language as "a statically typed, imperative programming language 
that tries to give the programmer ultimate power without compromises on 
runtime efficiency." Nimrod compiles down to C (with C++ and Objective-C
 as options) and does not need a virtual machine or runtime. Its creator
 intends for it to be used for systems programming, because it can 
access hardware directly and has pointers to both garbage-collected and 
manually managed memory. The language also lets the user define 
operators and macros, and bindings have been written for many popular 
libraries and third-party applications: Windows and POSIX APIs, GTK2, 
OpenGL, and so on.
OCaml 4.01
Resembles: The ML theorem-proving language, and to some degree Lisp
License: Q Public License
What's it all about:
 Most programming languages generally tend to fall into one of three 
buckets: functional (Lisp), imperative (C), or object-oriented (Java). 
OCaml does all of those things, and some recent OCaml projects have made
 waves, including Hack (Facebook's recent fork of PHP, mentioned 
previously) and the Xen Project's Mirage OS. Its statically typed design
 may not win over those solidly invested in the dynamic-typing camp, but
 one sign of how seriously it's worth taking is how other languages are 
now beginning to arise in its wake as well: Microsoft's F#, for 
instance.
Racket 6.0
Resembles: Lisp, Scheme
License: LGPL
What's it all about:
 A variant of Scheme, which itself is a variant of Lisp, Racket was 
designed to be powerful enough for creating languages, but also 
straightforward and robust enough to be used for traditional application
 programming -- Naughty Dog uses it for scripting in several of its 
games, and the Hacker News website was developed using Scheme. Unlike 
other Lisp-like languages, Scheme's macro system includes the compiler 
itself, so features can be added to the language as if they were native 
Racket constructions.
Credit: http://www.computerworld.com














 
 
 
 
 
