Programming Languages
Erlang
This might be an old language, created by the Swedish telecom operator Ericsson, this language the first major language to embrace asynchronous programming with micro processes.
Elixir
This is a more modern language built on top of the virtual machine that Erlang was build on top of.
Prolog
This language is for logic constraint programming, this is the big language in this paradigm, there are other languages to look at here, some of them has many interesting things to offer.
Haskell
This is one of the major purely functional languages, no mutability and complete referential transparency, coupled with a very strong type-system, when you have written something in Haskell and gotten it to behave as you want, and made all the types checkout then it should never throw an error.
Lisp
As some people say "The oldest language of the future"
this has a little truth to it, since there is still things from Lisp that other languages adopt
Clojure
This is a modernised version of Lisp, this however is made to run on top of the JVM, which might make it a little less attractive, or in some cases make it a perfect fit for some projects.