And let's, while working hard for me, I'll write a small overview nonsense about functional languages.
It so happened that I managed to sort through at least a dozen of them; I will try to give the most subjective assessment to a couple of languages by putting a link to an objective assessment of Wikipedia’s Universal Mind.
Despite the “esotericity”, there are quite a lot of functional languages. Often they are highly specialized, although this is more likely a prerequisite, later they turn into “general purpose languages” (as was the case with Erlang).
Go:
Scheme (
My Favorite )
The scheme is a lisp dialect that inherited from the latter the best syntax of all times and peoples - brackets. The main difference from the lisp - the scope of functionality.
Lisp is not a functional language for several reasons, including: you can use variables and create side effects in a lisp.
Another good feature of the scheme is the native and mandatory (included in the specification) processing of "tail recursions".
Scheme is the most beautiful programming language on Earth. At least I think so (-:
And
here is what the Universal Mind thinks about.
')
Haskell (
Most Unloved )
The language of insane zen mathematicians. In his syntax, the devil breaks his leg, but at the same time he is incredibly cool. I am often ashamed that I, the worm ™, did not bother to learn it.
Sorry, my brain resources end after writing a factorial function.
The main problem of Haskel, in my opinion, is an absolutely deadly syntax.
Universal Mind thinks
differently .
OcamlWonderful language. Manages to combine the benefits of the OP and OOP. This miracle degenerated directly from the legendary ML. Unlike other various functional, Okeml is utilitarian and relatively popular among developers of real software.
Microsoft on the sly released a wonderful compiler of a certain subset of Ocaml - F #. The main advantage of F # in its CLR'nosti. This is a .NET language, with all the consequences.
Recommend.
Universal Mind about
Ocaml , about
F # .
Erlang (
also the most favorite )
Erlang is out of Ericsson. And it is beautiful!
For a long time was used without a name, as a
very strange Prolog. As a result, they prologue finally functioned and gave the name of the great
Agner Erlang . By the end of the twentieth century, the source code was discovered and made public property.
The language is ideal for building distributed systems and, indeed, in many respects resembles the Plan9 /
Inferno OS.
If you ask the Universal Mind, he will tell you about the
following . (By the way, I adore this article in wikipedia).
Oh, they please me with something heavy, promising to shove it in my ear if I don’t start working.
Excuse me (-: