2.1 a rich set of immutable, persistent data

2.1 Closure: it is a dynamic,
general-purpose programming language, combining the accessibility and
interactive development of a scripting language with an efficient and robust
infrastructure for multithreaded programming. Clojure is a dialect of Lisp, it is
predominantly a functional programming language, and features a rich set of
immutable, persistent data structures. When mutable state is needed, Clojure
offers a software transactional memory system and reactive Agent system that
ensure clean, correct, multithreaded designs 1, 2.

2.2 Pharo: Pharo is a pure
object-oriented programming language and a powerful environment,
focused on simplicity and immediate feedback. It has many features like Simplicity; no constructors, no types
declaration, no interfaces, no primitive types. 
Live, immersive environment; immediate feedback at any moment of
your development: Developing, testing, debugging. Even in production
environments, you will never be stuck in compiling and deploying steps again.
Easy to debug; the Pharo environment includes a debugger that allows to step
through code, restart the execution of methods, create methods on the fly, and
much more. Pharo is made by an incredible community, with more than 100
contributors for the last revision of the platform and hundreds of people
contributing constantly to frameworks and
libraries 3.

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!

order now

2.3 Haskell: it is a general-purpose language that can
be used in any domain and use case, it is ideally suited for
proprietary business logic and data analysis, fast prototyping and enhancing
existing software environments with correct code, performance, and scalability. Haskell programs are a series
of high-level generalizable functions that define what the program is intended
to do, letting lower layers (compiler, runtime, and libraries) handle mundane
low-level details such as iteration. Haskell offers the following features: Substantially
increased programmer productivity, shorter, clearer, and more maintainable
code, fewer errors, higher reliability, a smaller “semantic gap”
between the programmer and the language, and shorter lead times 4, 5.

2.4 Ruby: it is a dynamic, open source
programming language with a focus on simplicity and productivity. It has an
elegant syntax that is natural to read and easy to write. Ruby programming was
released in 1995. Since its inception, it has draw coders from across the
world. In the year 2006, Ruby programming attained global acceptance
with Ruby Talk, the primary mailing list for discussion of the Ruby programming language reaching 200
messages per day. Ruby programming is completely free of charge and also
can be used, copied and modified as well as distributed quite easily. Ruby
programming largely involves perceiving every information or code as an
object with its own properties and actions. Object-oriented
programming calls properties instance variables and actions as methods. This
pure object-oriented approach is
described through code which applies an action to a number. Ruby programming is
similar to Smalltalk in expressing methods and instance variables for all
types. Rules applying to objects apply to the complete programming language.
Some of the features of Ruby are Free format as you can start writing your program from any line and column. Case
sensitive, lowercase letters and uppercase
letters are distinct. The keyword end,
for example, is completely different from the keyword END.  Ruby is easy to learn if you already know a
programming language. It runs on a variety of platforms, such as Windows, Mac
OS, and the various versions of UNIX 6.

2.5 JavaScript: is a lightweight,
interpreted, object-oriented language with first-class functions, and is best known as the
scripting language for Web pages, but it’s used in many non-browser
environments as well. It is a prototype-based, multi-paradigm scripting
language that is dynamic, and supports object-oriented, imperative, and
functional programming styles. JavaScript runs on the client side of the web,
which can be used to design/program how
the web pages behave on the occurrence of an event. JavaScript is easy to learn and also a powerful scripting language, widely used for
controlling web page behavior. JavaScript can function as both a procedural and an object-oriented language. Objects are created
programmatically in JavaScript, by attaching methods and properties to
otherwise empty objects at runtime, as
opposed to the syntactic class definitions common in compiled languages like
C++ and Java. Once an object has been constructed it can be used as a blueprint
(or prototype) for creating similar objects. JavaScript’s dynamic capabilities
include runtime object construction, variable parameter lists, function variables,
dynamic script creation (via eval), object introspection (via for … in), and source code
recovery (JavaScript programs can decompile function bodies back into their
source text)