Erlang | |
---|---|
Семантыка | функцыянальная |
З’явілася ў | 1986 |
Аўтар(ы) | Джо Армстронг, Роберт Вірдзінг, Майк Уільямс |
Пашырэнне файлаў | .erl, .hrl |
Тыпізацыя даных | дынамічная, строгая |
Зведала ўплыў | Lisp, Prolog, Smalltalk |
Паўплывала на | Clojure, Elixir, Rust, Scala, Go |
Ліцэнзія | Apache License, Version 2.0[d][1] |
Сайт | erlang.org (англ.) |
Erlang (эрланг) — функцыянальная мова праграмавання з дынамічнай тыпізацыяй, створаная для распрацоўкі размеркаваных сістэм, устойлівых да памылак. Праграма на Erlang звычайна пабудавана з сотняў паралельных легкаважных працэсаў, якія ўзаемадзейнічаюць праз абмен асінхроннымі паведамленнямі.
Erlang была створана ў 1986 годзе ў кампаніі Ericsson Джо Армстрангам, Робертам Вірдзінгам і Майкам Уільямсам. Яны даследавалі магчымасць выкарыстання тагачасных моў праграмавання для пабудовы тэлекамунікацыйных сістэм, аднак у выніку стварылі ўласную мову праграмавання і платформу Erlang/OTP (Open Telecom Platform)[2].
Першапачаткова гэта было прапрыетарнае праграмнае забеспячэнне, аднак у 1998 годзе Ericsson вырашыла адмовіцца ад далейшага выкарыстання мовы ўнутры кампаніі для новых прадуктаў, што прывяло да выпуску Erlang у якасці свабоднага праграмнага забеспячэння з адкрытым зыходным кодам і сыходу стваральнікаў мовы з кампаніі. У выніку кампанія зноў наняла Армстранга ў 2004 годзе і працягнула выкарыстоўваць Erlang[3].
Erlang выкарыстоўваецца ў мабільных сетках GPRS, 3G і LTE па ўсім свеце. Аднак гэта не адзіная сфера яе ўжывання — Erlang была выкарыстана для распрацоўкі RabbitMQ і WhatsApp, таксама яе выкарыстоўваюць унутры сваіх праектаў такія кампаніі, як Facebook, Cisco, Goldman Sachs, Nintendo і Samsung[4][5].
Прыклад
Прыклад напісання праграмы падліку фактарыяла:
-module(fact). % Вызначэнне назвы модуля, павінна супадаць з назвай файла ('fact.erl')
-export([fac/1]). % Экспарт функцыі, пазначэнне арнасці 1
fac(0) -> 1; % Пры перадачы 0 вернецца 1, інакш - гл. наступны радок
fac(N) when N > 0, is_integer(N) -> N * fac(N-1). % Рэкурсіўны падлік, вяртанне рэзультата
Гл. таксама
Зноскі
- ↑ Erlang/OTP 18.0 has been released Праверана 24 лютага 2019.
- ↑ Erlang -- Academic and Historical Questions (англ.). www.erlang.org. Праверана 10 студзеня 2023.
- ↑ question about Erlang's future (англ.). www.erlang.org. Праверана 10 студзеня 2023.
- ↑ Which companies are using Erlang, and why? (англ.). erlang-solutions.com (11 верасня 2019). Праверана 10 студзеня 2023.
- ↑ Erlang -- What is Erlang? (англ.). www.erlang.org. Праверана 10 студзеня 2023.
Спасылкі
- Афіцыйны сайт (англ.)