2. ● Немного истории
● Обзор языка
● Многопоточность
● Устойчивость к ошибкам
● Распределенность
● Горячее обновление
● Live Coding: сервис сокращенных ссылок
● OTP фреймворк
● Сфера применения. Истории успеха.
● Импровизация по другим темам :)
yzh44yzh.com
3. Немного истории
● Ericsson 70-e годы. Язык и ОС PLEX
● 1985 г – исследование существующих языков
● 1987 г – началась разработка Erlang
● 1995 г – релиз Erlang
● 1996 г – релиз OTP
● 1998 г – Erlang/OTP выпущены в open source
● 2006 г – рост популярности платформы
yzh44yzh.com
4. Обзор языка.
● Многопоточность
● Устойчивость к ошибкам
● Распределенность
● Горячее обновление
yzh44yzh.com
5. Обзор языка.
● Erlang Run-Time System (ERTS)
● Sheduler
● I/O
● Garbage Collector
yzh44yzh.com
6. Обзор языка. Многопоточность.
● Shared memory with locks? Нет (ну почти нет)
● Software transactional memory? Нет (ну почти нет)
● Futures, Promises и подобное? Нет
● Message Passing – это оно :)
yzh44yzh.com
7. Обзор языка. Многопоточность.
run() ->
Pid = spawn(fun ping/0),
Pid ! self(),
receive
pong -> ok
end.
ping() ->
receive
From -> From ! pong
end.
yzh44yzh.com
8. Обзор языка. Устойчивость к ошибкам.
Defensive Programming – не нужно
Try … catch – не нужно
yzh44yzh.com
25. OTP фреймворк. application.
Directory Structure:
● src -- contains the Erlang source code.
● ebin -- contains the Erlang object code, the beam files.
● include -- used for include files.
● priv -- used for application specific files.
yzh44yzh.com
27. Сфера применения.
Долгоживущие сервеные приложения, обеспечивающие
коммуникацию большого числа пользователей.
● computer telephony
● messaging systems
● retail and commercial banking
● enterprise
● web services
yzh44yzh.com
28. Истории успеха.
AXD301 ATM Switch
● telephony-class 10–160 Gbps ATM switch
● 1.5 million lines of Erlang code
● has been installed in networks all over the world
● largest “Voice over ATM” backbone in the world
● 99.9999999% availability.
● Erlang code was 4 to 10 times shorter than similar
systems written in C/C++, Java, and PLEX
yzh44yzh.com
29. Истории успеха.
CouchDB
● open source database made by Damien Katz
● schema-less replicated document store, storing objects in JSON
format
● and accessed through a RESTful interface.
● first version of CouchDB in C++
● entire C++ code base was replaced with Erlang
● one of the best known Erlang open source applications currently
being used in production systems worldwide.
yzh44yzh.com
30. Импровизация по другим темам :)
● Недостатки языка
● Средства разработки (Emacs, Erlide, ErlGray)
● Книги
● Чем Erlang лучше Scala, чем Scala лучше Erlang?
● Как убедить себя, работодателя, заказчика
использовать Erlang?
● Предложите свою тему :)
yzh44yzh.com