Erlang:
Erlang
is a programming language used to build massively scalable soft real-time
systems with requirements on high availability. Some of its uses are in
telecoms, banking, e-commerce, computer telephony and instant messaging.
Erlang's runtime system has built-in support for concurrency, distribution and
fault tolerance.
Since
Erlang was created by Ericcson Communications for use in telecommunication,
fast and scalable is an important consideration.
Erlang is a general
purpose, concurrency-oriented functional programming language suited for
fault-tolerant, distributed, soft real-time systems. It features strong dynamic
typing, lightweight concurrency, eager evaluation and prolog like pattern
matching. Erlang was developed in the 1980s at the Ericsson Computer Science
Laboratory to address a then-unfulfilled need for telecommunications
programming: a high-level, expressive language suitable for rapid development
that offered the error recovery, concurrency, distribution and performance
features required by telecommunications equipment.
Go:
Go is an open
source programming language that makes it easy to build simple, reliable, and
efficient software.
Go, also commonly referred to as golang, is a programming language initially developed at Google in 2007 by Robert Griesemer, Rob Pike, and Ken Thompson.It is a statically-typed language with syntax loosely derived from that of C, addinggarbage collection, type safety, some dynamic-typing capabilities, additional built-in types such as variable-length arrays and key-value maps, and a large standard library.
Go is an expressive, concurrent,
garbage-collected programming language.
Groovy:
Groovy is
an object-oriented programminglanguage
for the Java platform. It is a dynamic language with features similar to those
of Python, Ruby, Perl, and Smalltalk.
It can be used as a scripting language for the
Java Platform, is dynamically compiled to Java Virtual Machine (JVM) bytecode, and interoperates with
other Java code and libraries. Groovy uses a Java-like curly-bracket syntax. Most
Java code is also syntactically valid Groovy.
Caml:
Caml supports functional,
imperative, and object-oriented programming
styles. It has been developed and distributed by INRIA, a French research
institute in computer science and applied mathematics, since 1985. The OCaml
system is the main implementation of the Camllanguage.
OCaml is the most popular variant of
the Caml language. From a language
standpoint, it extends the core Caml language with a fully-fledged
object-oriented layer, as well as a powerful module system, all connected by a
sound, polymorphic type system featuring type inference.
CoffeeScript:
CoffeeScript is a little language that compiles into
JavaScript. Underneath that awkward Java-esque patina, JavaScript has always
had a gorgeous heart. CoffeeScript is an attempt to expose the good parts of
JavaScript in a simple way.
CoffeeScript is a programming language that
transcompiles to JavaScript. It adds syntactic sugar inspired by Ruby, Python
andHaskell[1] to enhance JavaScript's brevity and readability.
Scala:
Scala is an
acronym for “Scalable Language”. This means that Scala grows with you. You can
play with it by typing one-line expressions and observing the results. But you
can also rely on it for large mission critical systems, as many companies,
including Twitter, LinkedIn, or Intel do.
Dart:
Dart is an open-source Web programming language developed by Google. It was unveiled at the GOTO conference in Aarhus, October 10–12, 2011. The goal of Dart is "ultimately to replace JavaScript as the lingua franca of web development on the open web platform"
Dart is a class-based, single inheritance, object-oriented language with C-style syntax. It supports interfaces, abstract classes, reified generics, and optional
typing.
Julia:
Julia is a high-level, high-performance
dynamic programming language for technical computing, with syntax that is
familiar to users of other technical computing environments. It provides a
sophisticated compiler, distributed parallel execution, numerical
accuracy, and an extensive mathematical function library. The library,
largely written in Julia itself, also integrates mature, best-of-breed C and
Fortran libraries for linear algebra, random number generation, signal processing, and string processing.
Julia
is a high-level dynamic programming language designed to address the requirements of high-performance numerical and scientific computing while also being effective for general purpose programming
The world of
scientific programming is filled with Python lovers who enjoy the simple syntax
and the freedom to avoid thinking of gnarly details like pointers and bytes.
For all its strengths, however, Python is often maddeningly slow, which can be
a problem if you're crunching large data sets as is common in the world of
scientific computing. To speed up matters, many scientists turn to writing the
most important routines at the core in C, which is much faster. But that
saddles them with software written in two languages and is thus much harder to
revise, fix, or extend.
Ceylon:
Gavin King
denies that Ceylon, the language he's developing at Red Hat, is meant to be a
"Java killer." King
is best known as the creator of the Hibernate object-relational mapping
framework for Java. He likes Java, but he thinks it leaves lots of room for
improvement.
Among King's
gripes are Java's verbose syntax, its lack of first-class and higher-order
functions, and its poor support for meta-programming. In particular, he's
frustrated with the absence of a declarative syntax for structured data
definition, which he says leaves Java "joined at the hip to XML."
Ceylon aims to solve all these problems.
F#:
Functional
programming has long been popular with computer scientists and academia, but
pure functional languages like Lisp and Haskell are often considered unworkable
for real-world software development. One common complaint is that
functional-style code can be difficult to integrate with code and libraries
written in imperative languages like C++ and Java.
Opa:
Web
development is too complicated. Even the simplest Web app requires countless
lines of code in multiple languages: HTML and JavaScript on the client, Java or
PHP on the server, SQL in the database, and so on.
Opa doesn't
replace any of these languages individually. Rather, it seeks to eliminate them
all at once, by proposing an entirely new paradigm for Web programming. In an Opa
application, the client-side UI, server-side logic, and database I/O are all
implemented in a single language, Opa.
Fantom:
Should you
develop your applications for Java or .Net? If you code in Fantom, you can take
your pick and even switch platforms midstream. That's because Fantom is
designed from the ground up for cross-platform portability. The Fantom project
includes not just a compiler that can output bytecode for either the JVM or
the .Net CLI, but also a set of APIs that abstract away the Java and .Net APIs,
creating an additional portability layer.
There are
plans to extend Fantom's portability even further. A Fantom-to-JavaScript
compiler is already available, and future targets might include the LLVM
compiler project, the Parrot VM, and Objective-C for iOS.
Zimbu
Most
programming languages borrow features and syntax from an earlier language.
Zimbu takes bits and pieces from almost all of them. The brainchild of Bram
Moolenaar, creator of the Vim text editor, Zimbu aims to be a fast, concise,
portable, and easy-to-read language that can be used to code anything from a
GUI application to an OS kernel.
Owing to its
mongrel nature, Zimbu's syntax is unique and idiosyncratic, yet feature-rich.
It uses C-like expressions and operators, but its own keywords, data types, and
block structures. It supports memory management, threads, and pipes.
X10
Parallel
processing was once a specialized niche of software development, but with the
rise of multicore CPUs and distributed computing, parallelism is going
mainstream. Unfortunately, today's programming languages aren't keeping pace
with the trend. That's why IBM Research is developing X10, a language designed
specifically for modern parallel architectures, with the goal of increasing
developer productivity "times 10."
haXe
Lots of
languages can be used to write portable code. C compilers are available for
virtually every CPU architecture, and Java bytecode will run wherever there's a
JVM. But haXe (pronounced "hex") is more than just portable. It's a multiplatformlanguage that can target diverse operating
environments, ranging from native binaries to interpreters and virtual
machines.
John Mathew :)
ReplyDelete