Система Orphus
Версия для печати

Начала работы с Erlang


Перевод: Михаил Купаев
Тайкало Олег
Дмитрий Димандт

Источник: Getting Started With Erlang
Материал предоставил: RSDN Magazine #3-2006
Опубликовано: 06.12.2006
Исправлено: 07.12.2006
Версия текста: 1.0
Так что же такое Erlang?
И все же, что такое Erlang?
И где я могу его использовать?
1 Введение
1.1 Вступление
1.2 Пропущенные вещи
2 Последовательное программирование
2.1. Оболочка Erlang
2.2 Модули и функции
2.2 Modules and Functions
2.3 Атомы
2.4 Кортежи
2.5 Списки
2.6 Стандартные модули и документация
2.7 Вывод на консоль
2.8 Больший пример
2.9 Сопоставление, защита и область видимости переменных
2.10 Еще о списках
2.11 If и Case
2.12 Встроенные функции (Built In Functions, BIF)
3 Параллельное программирование
3.1 Процессы
3.2 Обмен сообщениями
3.3 Регистрированные имена процессов
3.4 Распределенное программирование
3.5 Больший пример
4. Устойчивость к ошибкам
4.1 Ограничения по времени
4.2 Обработка ошибок
5 Записи и макросы
5.1 Пример побольше, разделенный на несколько файлов
5.2 Заголовочные файлы
5.3 Записи
5.4 Макросы

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

Так что же такое Erlang?

В далеком 1985-м году группа разработчиков из компьютерных лабораторий компании Ericsson решила создать язык, который идеально бы подходил для решения задач в телекоме. Шесть лет спустя, в 1991-м, миру был представлен такой язык – Erlang.

ПРИМЕЧАНИЕ

Среди любителей Erlang-а бытует мнение, что Erlang расшифровывается как ERicsson LANGuage. На самом деле язык назван в честь Агнера Крарупа Эрланга, датского математика, который работал в области телекоммуникаций. Так, единица измерения телекоммуникационного траффика также называется «Erlang».

С 1992 года Erlang начал применяться в компании Ericsson для разработки телекомуникационного оборудования. Например, бoльшая часть функциональности флагманского продукта компании, свитча AXD-301, реализована с использованием Erlang-а.

В 1998 году были опубликованы исходные коды языка и его библиотек. С тех пор Erlang стал не просто языком для телекоммуникационных приложений, а полноценным языком общего назначения. Ericsson до сих пор развивает Erlang, и его бесплатная версия собирается из тех же исходников, что и коммерческая.

И все же, что такое Erlang?

Кратко говоря, Erlang – это язык программирования общего назначения и среда исполнения. В язык встроена поддержка распределенных и параллельных вычислений.

А если говорить подробнее, то Erlang предлагает разработчику следующее

В состав стандартных библиотек Erlang-а входят, например, следующие продукты:

И где я могу его использовать?

Erlang можно использовать в самых разнообразных областях. На данный момент Erlang с успехом применяется, например:

1 Введение

1.1 Вступление

Это – простая обучающая статья, посвященная началам работы с Erlang. В ней все верно, но это только часть правды. Например, я привожу только самую простую форму синтаксиса, но не все его эзотерические формы. Там, где я уж очень упрощаю, я буду писать *manual*, что означает, что куда больше информации можно найти в книгах или в Erlang Reference Manual.

Я также предполагаю, что вы не в первый раз сели за компьютер, и что вы имеете общее представление о том, как их программируют. Не волнуйтесь, я не рассчитываю на то, что вы – гуру.

1.2 Пропущенные вещи

Перечисленное ниже в этой статье не рассматривается:

Здесь не рассматривается также связь с внешним миром и/или ПО, написанным на других языках. Впрочем, для этого есть отдельная обучающая статья, Interoperability Tutorial.

2 Последовательное программирование

2.1. Оболочка Erlang

2.2 Модули и функции

2.2 Modules and Functions

2.3 Атомы

2.4 Кортежи

2.5 Списки

2.6 Стандартные модули и документация

2.7 Вывод на консоль

2.8 Больший пример

2.9 Сопоставление, защита и область видимости переменных

2.10 Еще о списках

2.11 If и Case

2.12 Встроенные функции (Built In Functions, BIF)

3 Параллельное программирование

3.1 Процессы

3.2 Обмен сообщениями

3.3 Регистрированные имена процессов

3.4 Распределенное программирование

3.5 Больший пример

4. Устойчивость к ошибкам

4.1 Ограничения по времени

4.2 Обработка ошибок

5 Записи и макросы

5.1 Пример побольше, разделенный на несколько файлов

5.2 Заголовочные файлы

5.3 Записи

5.4 Макросы


Полная версия этой статьи опубликована в журнале RSDN Magazine #3-2006. Информацию о журнале можно найти здесь