Erlang [Erlang/OTP, or OTP] is a general-purpose, concurrent, functional component programming ready-to-use language, a set of design principles, as well as a garbage-collected runtime system.