Erlang

Erlang (эрланг) — функцыянальная мова праграмавання з дынамічнай тыпізацыяй, створаная для распрацоўкі размеркаваных сістэм, устойлівых да памылак.

Праграма на Erlang звычайна пабудавана з сотняў паралельных легкаважных працэсаў, якія ўзаемадзейнічаюць праз абмен асінхроннымі паведамленнямі.

Erlang
Erlang
Семантыка функцыянальная
З’явілася ў 1986
Аўтар(ы) Джо Армстронг, Роберт Вірдзінг, Майк Уільямс
Пашырэнне файлаў .erl, .hrl
Тыпізацыя даных дынамічная, строгая
Зведала ўплыў Lisp, Prolog, Smalltalk
Паўплывала на Clojure, Elixir, Rust, Scala, Go
Ліцэнзія Apache License, Version 2.0[d]
Сайт erlang.org (англ.)

Erlang была створана ў 1986 годзе ў кампаніі Ericsson Джо Армстрангам, Робертам Вірдзінгам і Майкам Уільямсам. Яны даследавалі магчымасць выкарыстання тагачасных моў праграмавання для пабудовы тэлекамунікацыйных сістэм, аднак у выніку стварылі ўласную мову праграмавання і платформу Erlang/OTP (Open Telecom Platform).

Першапачаткова гэта было прапрыетарнае праграмнае забеспячэнне, аднак у 1998 годзе Ericsson вырашыла адмовіцца ад далейшага выкарыстання мовы ўнутры кампаніі для новых прадуктаў, што прывяло да выпуску Erlang у якасці свабоднага праграмнага забеспячэння з адкрытым зыходным кодам і сыходу стваральнікаў мовы з кампаніі. У выніку кампанія зноў наняла Армстранга ў 2004 годзе і працягнула выкарыстоўваць Erlang.

Erlang выкарыстоўваецца ў мабільных сетках GPRS, 3G і LTE па ўсім свеце. Аднак гэта не адзіная сфера яе ўжывання — Erlang была выкарыстана для распрацоўкі RabbitMQ і WhatsApp, таксама яе выкарыстоўваюць унутры сваіх праектаў такія кампаніі, як Facebook, Cisco, Goldman Sachs, Nintendo і Samsung.

Прыклад

Прыклад напісання праграмы падліку фактарыяла:

-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 -- 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.
  • Спасылкі

    This article uses material from the Wikipedia Беларуская article Erlang, which is released under the Creative Commons Attribution-ShareAlike 3.0 license ("CC BY-SA 3.0"); additional terms may apply (view authors). Матэрыял даступны на ўмовах CC BY-SA 4.0, калі не пазначана іншае. Images, videos and audio are available under their respective licenses.
    ®Wikipedia is a registered trademark of the Wiki Foundation, Inc. Wiki Беларуская (DUHOCTRUNGQUOC.VN) is an independent company and has no affiliation with Wiki Foundation.

    Tags:

    Erlang ПрыкладErlang Гл. таксамаErlang СпасылкіErlangМова праграмаванняФункцыянальнае праграмаванне

    🔥 Trending searches on Wiki Беларуская:

    Арганізацыя Аб’яднаных НацыйГомельМірскі замакСамаліСерабрыстая чайкаКірыла ТураўскіКубаЕва ВежнавецТарашкевіцаКітайНіжняя сківіцаРуская моваКіеўская РусьБалгарыяГісторыя беларускай мовы1984Трэці рэйхНазоўнікЧасціны мовыПортКічэрЯзэп Нарцызавіч ДраздовічБеларуская народная самапомачМоўная інтэрферэнцыяГубыГарады-героіМТБанкАлесь ГарунБеларуская народная дэманалогіяЯгайлаПары-МатчБанк ДабрабытТунісДанута Іванаўна Бічэль-ЗагнетаваЕфрасіння ПолацкаяІзраільДругая сусветная вайнаБерасцянкаБаза даныхДасакратыкіКузьма ЧорныФранцыск СкарынаГалоўная старонкаАўтамагістраль АмурЗубр еўрапейскіУкраінская моваПотэрЖаўнаПрызнанне Галадамору генацыдамРэзюмэГПаўстанне 1830—1831 гадоўДжон Рональд Руэл ТолкінАрменіяВырайНідэрландыВ’етнамNirvanaМанголіяПятро ВасючэнкаБарань (Барысаўскі раён)Андрусь ГорватАўтамагістраль ВолгаКостшынВільнюсПрыказкаПалессеКапюшонАўгуст Аляксандр ЧартарыйскіКіеўскае дзяржаўнае харэаграфічнае вучылішчаАлматыДаведнікВацлаў Ластоўскі🡆 More