Erlang là một ngôn ngữ lập trình và hệ thống thời gian chạy được thu gom rác đa mục đích chung. Tập hợp con tuần tự của Erlang là một ngôn ngữ chức năng, với sự đánh giá chặt chẽ, bài tập đơn và gõ động. Đối với đồng thời, nó theo mô hình Actor. Nó được thiết kế bởi Ericsson để hỗ trợ các ứng dụng phân tán, chịu lỗi, thời gian thực mềm, không dừng. Nó hỗ trợ trao đổi nóng, để mã có thể được thay đổi mà không cần dừng hệ thống.
Mặc dù các luồng được coi là một chủ đề phức tạp và dễ bị lỗi trong hầu hết các ngôn ngữ, Erlang cung cấp các tính năng ở cấp độ ngôn ngữ để tạo và quản lý các quy trình với mục đích đơn giản hóa lập trình đồng thời. Mặc dù tất cả đồng thời là rõ ràng trong Erlang, các quy trình giao tiếp bằng cách sử dụng thông báo truyền thay vì các biến được chia sẻ, loại bỏ sự cần thiết của khóa.
Phiên bản đầu tiên được phát triển bởi Joe Armstrong vào năm 1986. 2 Ban đầu nó là ngôn ngữ độc quyền trong Ericsson, nhưng được phát hành dưới dạng nguồn mở vào năm 1998.