Erlang is a functional programming language created in 1986 by Joe Armstrong at Ericsson. It is known for being highly reliable, concurrent, and modular. Erlang uses lightweight processes instead of threads to handle concurrency. It is dynamically typed and uses pattern matching extensively. Erlang is used in applications like RabbitMQ, CouchDB, Facebook Chat, GitHub, and SimpleDB for its ability to handle large numbers of concurrent connections and its built-in support for distribution and fault tolerance.