(defpost C++, Lisp… Erlang?

ErlangJest pewien język, którego uczyłem się ostatnimi czasy praktycznie równolegle z Lispem, a o którym nic nie pisałem na łamach tego blogu. Traktowałem go jako coś pobocznego, jako dodatkową możliwość użycia pewnych świeżo poznanych, lispowych koncepcji. Teraz jednak odbywam praktyki w firmie używającej i propagującej tenże język. Mowa oczywiście o Erlangu. Jako, że teraz pracuje z nim na codzień, język ten będzie często gościł na tym blogu.

Gdybym miał podsumować Erlanga w kilku hasłach, byłyby to: niezawodność, współbieżność (concurrency), lekkie procesy (lightweight processes), język funkcyjny, interaktywność. Język ten powstał w laboratoriach firmy Ericsson (tak, tej od Sony Ericsson) i pozwolił jej osiągnąć w jednym ze swoich projektów niezawodność tzw. nine nines, czyli 99.9999999% – innymi słowy, w ciągu roku system był niesprawny nie dłużej niż ok. cztery setne sekundy! Taki poziom bezawaryjności jest osiąganlny dzięki pewnym bardzo ciekawym koncepcjom, o których chciałbym napisać w przyszłości.

Nie będę się w tym poście rozpisywał o innych mniej lub bardziej znanych projektach zrealizowanych w Erlangu (w o tym klasycznych, używanych wręcz marketingowo przykładach Facebook’a czy Amazonu). Warto moim zdaniem wspomnieć tu jeszcze o jednym – edytorze modeli 3D o nazwie Wings 3D, napisanym w całości w Erlangu. Jest to o tyle specyficzny przykład, że Erlang jako język nie jest stworzony do pisania aplikacji przeprowadzających ogromne ilości obliczeń matematycznych w czasie rzeczywistym, a jego funkcyjność średnio pomaga przy programach trzymających duże ilości wewnętrznego stanu. A do czego ten język się nadaje najlepiej i jakie ciekawe rozwiązania zostały dla niego pomyślane – to już temat na kolejne posty.

(tags , )

2 Responses to “C++, Lisp… Erlang?”

  1. kobier says:

    Czekam na następne posty, jestem ciekaw co napiszesz o Erlangu – czytałem o tym języku i zapowiada się intrygująco :D

  2. Kolejne posty w drodze :) . Stay tuned.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

SexpCode: You can use SexpCode tags.

) ;end of defpost