Перайсці да зместу

Erlang

З Вікіпедыі, свабоднай энцыклапедыі
Erlang
Семантыка функцыянальная
З’явілася ў 1986
Аўтар(ы) Джо Армстронг, Роберт Вірдзінг, Майк Уільямс
Пашырэнне файлаў .erl,.hrl
Тыпізацыя даных дынамічная, строгая
Зведала ўплыў Lisp,Prolog,Smalltalk
Паўплывала на Clojure, Elixir,Rust,Scala,Go
Ліцэнзія Apache Software License 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)whenN>0,is_integer(N)->N*fac(N-1).% Рэкурсіўны падлік, вяртанне рэзультата

Зноскі

  1. Erlang/OTP 18.0 has been releasedПраверана 24 лютага 2019.
  2. Erlang -- Academic and Historical Questions(англ.).www.erlang.org.Праверана 10 студзеня 2023.
  3. question about Erlang's future(англ.).www.erlang.org.Праверана 10 студзеня 2023.
  4. Which companies are using Erlang, and why?(англ.).erlang-solutions.com(11 верасня 2019).Праверана 10 студзеня 2023.
  5. Erlang -- What is Erlang?(англ.).www.erlang.org.Праверана 10 студзеня 2023.