Erlang

Bách khoa toàn thư mở Wikipedia
Buớc tưới chuyển hướng Bước tới tìm kiếm

Erlang là ngôn ngữ lập trình ban đầu được phát triển tại Phòng thí nghiệm Khoa học Máy tính của Ericsson. OTP (Nền tảng viễn thông mở) là một tập hợp các thư viện và phần mềm trung gian trong Erlang. Erlang / OTP đã được thử nghiệm trong một số sản phẩm của Ericsson để xây dựng các ứng dụng phân tán chịu lỗi mạnh mẽ, ví dụ AXD301 (công tắc ATM). Erlang / OTP hiện được duy trì bởi đơn vị Erlang / OTP tại Ericsson.

Nó cung cấp sự thay đổi nóng của mã để có thể thay đổi mà không cần dừng hệ thống. Ban đầu, Erlang là ngôn ngữ độc quyền của Ericsson, nhưng nó được cho mượn dưới dạng phần mềm nguồn mở vào năm 1998. Việc triển khai của Ericsson chủ yếu được diễn giải, nhưng nó cũng bao gồm trình biên dịch HiPE (chỉ được hỗ trợ trên một số nền tảng).

Việc tạo, quản lý và giao tiếp các quy trình rất đơn giản trong Erlang, trong khi ở nhiều ngôn ngữ, các luồng được coi là một phần phức tạp và dễ bị lỗi. Trong Erlang tất cả sự đồng tình là rõ ràng.

Erlang nhận được tên của A. K. Erlang. Đôi khi người ta cho rằng tên này là tên viết tắt của ERicsson LANGuage, do được sử dụng nhiều trong Ericsson. Theo Bjarne Däcker - người đứng đầu Phòng thí nghiệm Khoa học Máy tính vào thời điểm đó - sự đối ngẫu này là có chủ ý.

OTP[sửa | sửa mã nguồn]

OTP được thiết lập các thư viện Erlang và các nguyên tắc thiết kế cung cấp kho trung gian để phát triển các hệ thống này. Nó bao gồm cơ sở dữ liệu phân tán của riêng mình, các ứng dụng để giao tiếp với các ngôn ngữ khác, gỡ lỗi và phát hành các công cụ xử lý.

Ví dụ về lập trình hàm[sửa | sửa mã nguồn]

Tính giai thừa

-module(fact).

-export([fac/1]).

fac(0) -> 1;
fac(N) when N > 0 -> N * fac(N-1).

thực hiện thuật toán Quicksort

%% quicksort:qsort(List)

%% ordering

-module(quicksort).
-export([qsort/1]).

qsort ([]) -> [];
qsort([Pivot |Rest]) ->
qsort ([ X || X <- Rest, X < Pivot]) ++ [Pivot] ++ qsort ([ Y || Y <- Rest, Y >= Pivot]).

Liên kết ngoài[sửa | sửa mã nguồn]