Erlang is a general-purpose programming language and runtime environment with built-in support for concurrency, distribution and fault tolerance. It was developed in 1986 at Ericsson for developing telecommunications systems. Some key features of Erlang include simplicity, managing concurrency and failure through lightweight processes, and a mature community. While setup can be complex and it lacks static types, Erlang excels at handling concurrency robustly. Major companies like WhatsApp use Erlang for its reliability in large distributed systems.