Wednesday, January 4, 2012

10 programming languages that could shake up IT

"These cutting-edge programming languages provide unique insights on the future of software development

"Do we really need another programming language? There is certainly no shortage of choices already. Between imperative languages, functional languages, object-oriented languages, dynamic languages, compiled languages, interpreted languages, and scripting languages, no developer could ever learn all of the options available today.

"And yet, new languages emerge with surprising frequency.... Why do people keep reinventing the wheel?

"The answer is that, as powerful and versatile as the current crop of languages may be, no single syntax is ideally suited for every purpose. What's more, programming itself is constantly evolving. The rise of multicore CPUs, cloud computing, mobility, and distributed architectures have created new challenges for developers. Adding support for the latest features, paradigms, and patterns to existing languages -- especially popular ones -- can be prohibitively difficult. Sometimes the best answer is to start from scratch.

"Here, then, is a look at 10 cutting-edge programming languages, each of which approaches the art of software development from a fresh perspective, tackling a specific problem or a unique shortcoming of today's more popular languages. Some are mature projects, while others are in the early stages of development. Some are likely to remain obscure, but any one of them could become the breakthrough tool that changes programming for years to come -- at least, until the next batch of new languages arrives...

"Dart 

"JavaScript is fine for adding basic interactivity to Web pages, but when your Web applications swell to thousands of lines of code, its weaknesses quickly become apparent. That's why Google created Dart, a language it hopes will become the new vernacular of Web programming.

"Ceylon

"...at Red Hat, is meant to be a "Java killer." 

"Go

"...a general-purpose programming language suitable for everything from application development to systems programing... more like C or C++ than Java or C#. But like the latter languages, Go includes modern features such as garbage collection, runtime reflection, and support for concurrency.

"F#

"...a Microsoft language designed to be both functional and practical

"Opa


"Fantom

"...designed from the ground up for cross-platform portability

"Zimbu

"...a fast, concise, portable, and easy-to-read language that can be used to code anything from a GUI application to an OS kernel

"X10

"...IBM Research... designed specifically for modern parallel architectures, with the goal of increasing developer productivity "times 10."

"haXe

"...multiplatform language that can target diverse operating environments, ranging from native binaries to interpreters and virtual machines

Chapel

"...Cray's first original programming language, was designed with supercomputing and clustering in mind



1 comment: