阿尔茨海默症是什么病| 鱼油功效和作用是什么| 至多是什么意思| 缺钙吃什么补得最快| 史字五行属什么| 你干什么呢| 张学友和张家辉什么关系| 华妃娘娘是什么电视剧| 诺如病毒拉的大便是什么样的| 定日是什么意思| 老虎吃什么食物| 什么伤肝| 饱不洗头饿不洗澡是为什么| 马与什么属相相克相冲| 多吃洋葱有什么好处| 3月27日什么星座| 高碳钻是什么| 早上醒来手麻是什么原因| 呼吸道感染吃什么药最好| 县级干部是什么级别| 轻度脂肪肝吃什么药| 抬举征阳性是什么意思| 1887年属什么生肖| 梦到绿色的蛇是什么意思| 什么动物不怕热| 2026是什么年| 女性尿路感染吃什么药好得快| 造化什么意思| 7月17什么星座| 发达国家的标准是什么| 阴唇痒用什么药| 感光度是什么意思| romantic是什么意思| 心脏跳的慢吃什么好| 头晕目眩挂什么科| 护肝吃什么好| 珑骧包属于什么档次| 二人世界是什么意思| ntd是什么意思| 心理咨询挂什么科| 肠胃不好可以吃什么水果| 尿点什么意思| 38岁属什么的生肖| 月经期间肚子疼是什么原因| 炼蜜是什么| 吃什么东西补脑| 爱屋及乌什么意思| 五郎属什么生肖| 鹰嘴桃什么时候成熟| 慢性胰腺炎有什么症状| 射频消融术是什么手术| 医院什么时候下班| 食管反流用什么药效果好| 7月7日是什么星座| 有何贵干是什么意思| 出虚恭什么意思| 吃白饭是什么意思| 梦见结婚是什么意思| 为什么养鱼双数是大忌| 供血不足吃什么好| 孩子呼吸道感染吃什么药效果最好| 夏天防中暑备什么药| 甲状腺结节吃什么食物好| 结石吃什么药好| 牙龈出血吃什么药| abo是什么| 胸部挂什么科| 大林木是什么生肖| 什么叫痤疮| 梦见吃花生是什么意思| 构造是什么意思| 下午3点到4点是什么时辰| 血压高挂什么科| 蓝精灵是什么意思| 心机重的人弱点是什么| 什么叫机械手表| 奴才是什么意思| 宇舶手表什么档次| 火凤凰是什么意思| 端午节为什么吃粽子| cocoon是什么品牌| 老年人脚肿挂什么科| 甜瓜不能和什么一起吃| 烧仙草是什么东西| 空调一级能效什么意思| 樱菜是什么菜| 水果的英文是什么| 骨折后吃什么恢复快| 口甲读什么| 脑供血不足中医叫什么| 不利是什么意思| 撒旦和路西法什么关系| 鲛人是什么意思| 暗房是什么意思| cp什么意思| 胰管扩张是什么意思| 中国第一长河是什么河| rpl是什么意思| 面首是什么意思| 坐月子是什么意思| 角鲨烯有什么作用| 大熊猫为什么有黑眼圈| 惊鸿是什么意思| 为什么一同房就出血| 夜宵吃什么好| 阴道内壁是什么样的| 馋是什么意思| 什么是桥本氏甲状腺炎| 汗味重是什么原因| 孕妇有狐臭擦什么最好| 尖锐湿疣挂什么科| 身上长癣是什么原因引起的| 耳刀旁加步念什么| wb是什么| 东倒西歪的动物是什么生肖| 甲状腺需要做什么检查| 一次不忠终身不用什么意思| mdt是什么| 夜尿多是什么原因引起的| 辅助什么意思| 川字属于五行属什么| bbs是什么意思| 偏光镜片是什么意思| 湖北有什么好玩的| 感冒打什么针| dp是什么意思| 硬盘是什么| 热量是什么| 黄猫来家里有什么预兆| 甘油三酯高是什么原因| 小白脸什么意思| 耳朵蝉鸣是什么原因引起的| 早上起床想吐是什么原因| 黔驴技穷什么意思| 为什么老虎头上有王字| 评审是什么意思| 胺碘酮又叫什么名字| 扣字是什么意思| 为什么睡觉老是流口水| 右边肋骨下面是什么器官| 6月30号什么星座| 压马路什么意思| 9.20号是什么星座| 纯钛对人体有什么好处| 碱性磷酸酶偏高吃什么能降下来呢| 散光是什么| 办理出院手续都需要什么| 天下无不是的父母是什么意思| 菠萝与凤梨有什么区别| 情有独钟什么意思| 大生化检查能查出什么病来| 手串13颗代表什么意思| 梦见狗吃屎是什么意思| 铁是什么颜色的| 嬴稷是秦始皇的什么人| 胆汁酸高是什么意思| 网是什么结构的字| 过敏性皮肤用什么护肤品比较好| 宫保鸡丁是什么菜系| music什么意思| 宫颈癌吃什么好| 血清铁蛋白低说明什么| 伊字五行属什么| 1935年属什么| 头晕出冷汗是什么原因| 血型o型rh阳性是什么意思| 什么是两栖动物| 取保候审是什么意思还会判刑吗| alt什么意思| 氮泵有什么作用| 茱萸是什么意思| 毛主席什么时候去世| 天麻有什么作用| 孕妇梦见别人怀孕是什么意思| 260是什么意思| 皮瓣手术是什么意思| 怀孕了为什么还会出血| 牙龈疼吃什么消炎药| 鸟在电线上为什么不会触电| 梦见数钱是什么预兆| 大小姐是什么意思| 女性缺镁有什么症状| 梦见面包是什么意思| 除夕是什么意思| 一什么港湾| 大葱和小葱有什么区别| 子宫附件是什么| 皮肤白斑是什么原因| 钥匙像什么| 吉吉念什么| 洋酒兑什么饮料好喝| 荨麻疹忌口忌什么食物| 耳朵痒是什么原因| 骨质增生挂什么科| 掉链子是什么意思| 血糖高吃什么降得快| 高密度脂蛋白胆固醇低是什么意思| 宝宝入盆有什么感觉| 苹果6和苹果6S有什么区别| 口干舌燥吃点什么药| 锦鲤是什么鱼| 脾胃不好有什么症状表现| 周易是什么| 柏拉图之恋是什么意思| 鱼日羽念什么| 守宫砂是什么| 非食健字是什么意思| 孕妇多吃什么食物好| 一个人自言自语的说话是什么病| 无氧运动是什么| 舌苔发白厚吃什么药| 桃花指什么生肖| 一个黑一个出读什么| 长孙皇后叫什么名字| 尿隐血十一是什么意思| 乳头发黑是什么原因| 低钾是什么原因引起的| 炎是什么意思| 咳嗽吃什么好得快| 围产期是什么意思| 荔枝代表什么寓意| 染色体由什么和什么组成| 意什么风发| 牙龈经常出血是什么原因| 口腔出血是什么原因| 联合创始人是什么意思| 孕晚期为什么会脚肿| 老人高烧不退是什么原因| 3加2是什么意思| 诗五行属性是什么| 穷指什么生肖| 蓝猫为什么叫蓝猫| 口红是什么做的| 低压高吃什么降压药| 李连杰是什么国籍| 鳞状上皮内高度病变是什么意思| 蟑螂讨厌什么味道| 芥末是什么做的| cap医学上是什么意思| 口角炎涂什么药膏| 肟是什么意思| 小孩不吃肉是什么原因| 意象是什么| 步履维艰是什么意思| 能人是什么意思| 晚上入睡困难是什么原因| 小孩尿味道很重是什么原因| 小产和流产有什么区别| 人造奶油是什么做的| 婶婶是什么意思| 失业是什么意思| 喉咙看什么科| 后会有期什么意思| 黄柏的功效与作用是什么| 眼睛流泪用什么眼药水| 胃炎应该吃什么药| 舌头发白是什么原因| 121是什么意思| 扁桃体发炎不能吃什么东西| 梦到自己流鼻血是什么预兆| 戴字五行属什么| 小赤佬是什么意思| 鸽子吃什么粮食| 脂肪肝适合吃什么水果| 百度Zum Inhalt springen

有什么软件可以赚钱

aus Wikipedia, der freien Enzyklop?die
Erlang
Basisdaten
Paradigmen: funktional, nebenl?ufig, pr?dikativ
Erscheinungsjahr: 1987
Designer: Joe Armstrong, Robert Virding, Mike Williams
Entwickler: Ericsson
Aktuelle Version 28.0.1[1] (16. Juni 2025)
Typisierung: dynamisch, stark
Wichtige Implementierungen: Erlang
Beeinflusst von: Prolog
Beeinflusste: Clojure, Scala, Elixir
Betriebssystem: Windows, Linux, macOS, Solaris
Lizenz: Apache Software License 2.0
www.erlang.org
Das LYME-Softwarepaket gründet auf Erlang und stellt eine Alternative zum Softwarepaket LAMP dar.
百度 为做高做精“塔尖”,武汉推出“城市合伙人”计划,力争每年至少引进两名诺贝尔奖得主、20名外籍外地院士和一批商界领袖。

Erlang ist eine Programmiersprache, die bei Ericsson von Joe Armstrong und anderen entwickelt wurde. Sie ist nach dem d?nischen Mathematiker Agner Krarup Erlang benannt, der Name kann aber auch für Ericsson language stehen.[2]

Spricht man von Erlang, meint man meistens nicht nur die relativ kompakte Sprache, sondern auch das Laufzeitsystem und die umfangreiche Bibliothek. Zusammen wird das System Erlang/OTP genannt, wobei OTP eine Abkürzung für The Open Telecom Platform ist. Es handelt sich dabei um eine Middleware für den Bau verteilter, hochverfügbarer Systeme. Hervorzuheben sind z. B. die verteilten Datenbanken Mnesia und CouchDB.

Erlang wurde ursprünglich für die Programmierung von Anwendungen in der Telekommunikation geschaffen, insbesondere für Vermittlungsstellen von Telefonnetzen (Switch).

Die dort vorhandenen besonderen Anforderungen gingen unmittelbar in den Entwurf der Programmiersprache und des Laufzeitsystems ein:

Erlang genügt den Paradigmen der funktionalen, nebenl?ufigen und verteilten Programmierung. Joe Armstrong, der geistige Vater von Erlang, bezeichnete sie am liebsten als Concurrency Oriented Programming Language (COPL), was in etwa als auf Nebenl?ufigkeit ausgerichtete Programmiersprache zu übersetzen ist und andeutet, dass Prozesse die wichtigsten Objekte in Erlang sind. Den funktionalen Kern fand er weniger wichtig, auch wenn dieser wegen der Vermeidung von Nebeneffekten recht nützlich für die nebenl?ufige Programmierung ist.

Erlang ist eine der wenigen funktionalen Programmiersprachen, die in der Industrie eingesetzt werden. Insbesondere Telefon- und Netzwerkausrüster setzen Erlang wegen seiner guten Skalierbarkeit und Parallelit?t ein.

Prozesse sind in Erlang sehr ressourcenschonend implementiert. Der in Erlang geschriebene Webserver Yaws mit seiner hohen Skalierbarkeit ist ein Beispiel dafür.

Die Syntax von Erlang erinnert an die von Prolog, was nicht ganz verwundert, da das System anf?nglich als in Prolog geschriebener Interpreter vorlag.

Basierend auf dem von Erlang verwendeten Bin?rformat[3] wurde das allgemeine Bin?rformat BERT und ein darauf aufbauendes Remote-Procedure-Call-Protokoll entwickelt.[4]

Mitgelieferte Software

[Bearbeiten | Quelltext bearbeiten]

Mit der Erlang-Distribution werden viele nützliche Zusatzwerkzeuge mitgeliefert, die die Programmierung von Anwendungen deutlich erleichtern:

OTP
Die Open Telecom Platform erleichtert das Bauen von wirklich stabilen, parallelen Anwendungen mit zus?tzlichen Eigenschaften wie das dynamische Austauschen des Codes w?hrend der Laufzeit. OTP ist eine Bibliothek, die verschiedene Behaviors (Verhalten) zur Verfügung stellt, die die Funktionalit?t einer Anwendung von dem Modell dahinter (Funktionsaufruf, Client/Server usw.) trennen.
ETS/DETS
ETS und DETS ((Disk) Erlang Term Storage) sind zwei eng verwandte Speichersysteme für Erlang-Terme (Tupel, Listen, Atome, also eingebaute Datentypen), die eine gro?e Skalierbarkeit und eine kleine Zugriffszeit bieten. Die grundlegenden Operationen sind insert und lookup. Genutzt wird eine Schlüssel-Wert-Struktur (Key-Value-Storage).
Mnesia
Mnesia ist ein vollwertiges, eingebautes Datenbanksystem (DBMS). ?hnlich wie bei ETS werden Erlang-Terme gespeichert. Mnesia bietet eine Verteilung über mehrere Erlang-Knoten (Nodes), die Speicherung im RAM oder auf der Festplatte, mehrere Tabellen und atomare Transaktionen.

Au?erdem besitzt die Standardbibliothek m?chtige Socket-Funktionen für TCP und UDP und viele andere kleine Werkzeugfunktionen für Listen, Bin?rdaten etc.

Berechnung der Fakult?t

[Bearbeiten | Quelltext bearbeiten]

Dieser Code muss in der Datei test.erl stehen, da das Modul (Zeile 1) ebenfalls test hei?t. Die Export-Direktive macht die Funktion fac() auch von au?erhalb aufrufbar.

Die beiden Zeilen, die mit fac( beginnen, werden clauses genannt. Im C++-Jargon k?nnte man die Nutzung von clauses mit dem überladen vergleichen. Bei jedem Aufruf einer Funktion wird der Reihe nach durchprobiert, zu welchem clause die gegebenen Argumente passen (match), wobei der erste passende clause genutzt wird. Der letzte clause endet mit ., alle vorherigen mit ;.

-module(test).
-export([fac/1,fac_tr/1]).

%%% nicht-endrekursive Version
fac(0) -> 1;
fac(N) -> N * fac(N-1).

%%% endrekursive Version (tail recursive)
fac_tr(0,Yet) -> Yet;
fac_tr(N,Yet) -> fac_tr(N-1,Yet*N).

%% Hilfsfunktion
fac_tr(N) -> fac_tr(N,1).
%% quicksort(List)
%% Sort a list of items
-module(quicksort).
-export([qsort/1]).

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

Im obigen Beispiel wird die Funktion qsort rekursiv aufgerufen, bis nichts mehr zum Sortieren vorhanden ist.

Der Ausdruck

[ X || X <- Rest, X < Pivot]

kann interpretiert werden als ?w?hle alle ?X‘, wobei ?X‘ ein Element von ?Rest‘ ist und ?X‘ kleiner ist als ?Pivot‘“. Dies hat eine sehr bequeme Art der Listenbehandlung zur Folge (in der Literatur als List Comprehension bezeichnet). Praktisch bedeutet dies, dass eine Liste zurückgegeben wird, die alle Elemente aus Rest enth?lt, die kleiner als Pivot sind (aber nicht notwendigerweise nach Gr??e geordnet sind).

Eine kleine verteilte Anwendung, die auf zwei Erlang-Prozessen l?uft

[Bearbeiten | Quelltext bearbeiten]
-module(ping_pong).
-export([ping/0, pong/0]).

ping() ->
    Receiver = spawn(ping_pong, pong, []),
    Receiver ! {self(), ping},
    receive
        pong ->
            ping
    end.

pong() ->
    receive
        {Sender, ping} ->
            Sender ! pong
    end.

Kommuniziert wird per Message Passing. Der Operator ! sendet eine Nachricht, die asynchron übertragen wird, d. h. der Prozess wartet nicht, bis die Nachricht empfangen wurde.

Eintr?ge in der Mnesia-Datenbank (siehe oben) sind Erlang-Records (Records sind syntaktischer Zucker zum einfacheren Umgang mit gro?en Tupeln), sprich Tupel nach dem Muster {recordname,key,feld1,feld2,feld3}. Das erste Feld im Tupel muss der Tabellenname sein (bei Records ist das erste Feld im generierten Tupel der Name des Records), das zweite Feld ist die für relationale Datenbanken typische, eindeutige ID in der jeweiligen Tabelle. Beispiel:

%% Shell-Sitzung
% Record definieren
rd(table1,{field1,field2}).

% Mnesia-Instanz erzeugen (Struktur im aktuellen Verzeichnis)
mnesia:create_schema([node()]).
% Mnesia-Server starten
mnesia:start().

% Definiere Tabelle 'table1' mit den Feldern field1 und field2 (Wie der Record)
mnesia:create_table(table1,[{attributes,record_info(fields,table1)}]).

% Definiere Transaktion, die einen Datensatz einfügt.
F = fun() -> Record = #table1{ field1=helloWorld, field2=xyz }, mnesia:write(Record) end.
% Das gleiche wie
% F = fun() -> Record = {table1, helloWorld,xyz}, mnesia:write(Record) end.

% Führe atomare Transaktion aus.
mnesia:transaction(F).

% Query-Transaktion. qlc:q() kompiliert eine Listenkomprehension, qlc:e() führt sie aus.
G = fun() -> Query = qlc:q([X || X <- mnesia:table(table1)]), qlc:e(Query) end.

% Führe Transaktion aus. ListOfTuples ist eine Liste der Tupel, die die Anfrage erfüllen
{atomic, ListOfTuples} = mnesia:transaction(G).

mnesia:stop().

Prominente Anwendungen

[Bearbeiten | Quelltext bearbeiten]

Kommerzieller Einsatz von Erlang

[Bearbeiten | Quelltext bearbeiten]

Erlang ist eine der wenigen funktionalen Programmiersprachen, die auch in der Industrie eingesetzt werden. Zu den bekannten Anwendern geh?ren:

  • Pavlo Baron: Erlang/OTP – Plattform für massiv-parallele und fehlertolerante Systeme. Open Source Press, München 2012, ISBN 978-3-941841-45-1
Commons: Erlang (Programmiersprache) – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Release 28.0.1. 16. Juni 2025 (abgerufen am 16. Juli 2025).
  2. Interview mit Joe Armstrong auf CIO.com.au (Memento des Originals vom 19. Juni 2009 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gem?? Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.cio.com.au (englisch)
  3. erlang.org
  4. bert-rpc.org (Memento des Originals vom 24. Oktober 2009 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gem?? Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/bert-rpc.org
  5. github.com
  6. erlang-solutions.com (Memento vom 30. Dezember 2011 im Internet Archive)
  7. blog.whatsapp.com
  8. tambur.io (Memento des Originals vom 29. September 2015 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gem?? Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.tambur.io
  9. Matt Nowack: Using Rust to Scale Elixir for 11 Million Concurrent Users. 17. Mai 2019, abgerufen am 18. April 2025 (englisch).
男属龙和什么属相最配 消炎药是什么药 侏儒是什么意思 檀香是什么味道 美业是做什么的
神经性皮炎用什么药 医保断了一个月有什么影响 pdn是什么意思 元旦唱什么歌 喉咙痒吃什么药好
什么人不适合吃榴莲 吃什么都拉肚子怎么回事 出轨是什么意思 bonnie是什么意思 灭活是什么意思
什么叫肺间质病变 嵌顿是什么意思 三焦是什么器官 拉肚子发热是什么情况 development是什么意思
什么手机像素最高hcv8jop9ns5r.cn 肝看什么科hcv8jop4ns7r.cn 川字属于五行属什么hcv8jop2ns8r.cn 神经递质是什么意思hcv9jop1ns3r.cn 突然头晕想吐是什么原因cj623037.com
为什么会得痛风hcv8jop8ns1r.cn 生化妊娠后需要注意什么hcv8jop5ns3r.cn 巴基斯坦是什么语言hcv9jop6ns4r.cn 云南在古代叫什么bjcbxg.com 黄瓜可以和什么一起榨汁hcv7jop6ns9r.cn
痰饮是什么意思xjhesheng.com 少许纤维灶是什么意思hcv9jop3ns7r.cn 胃镜后吃什么hcv8jop2ns7r.cn 10.14是什么星座jasonfriends.com 今年清明节有什么讲究huizhijixie.com
结局be是什么意思hcv8jop1ns9r.cn 女人梦见猫是什么预兆hcv9jop1ns9r.cn 神经外科是看什么病的hcv8jop9ns0r.cn 什么是铂金hcv8jop0ns6r.cn 代用茶是什么意思weuuu.com
百度