International conference of developers
and users of free / open source software

Erlang and Perl application in ISP

Наим Шафиев, Baku, Azerbaijan

LVEE 2012

In telecommunication we have a couple of tasks which can be resolved by different ways, and also with different languages. The Erlang is a “king” in telecommunication, but the Perl is really applicable to many tasks. An attempt is presented to compare their most applicable features. Language comparing is done along with following criteria: amount and quality of modules, education aspect, tools for debug, tools for profiling/benchmarking, IDE, the development of language by type, tools for ISP.

В сфере телекоммуникаций, как и в других сферах ИТ при разработке действует следующее правило. Для решения определенной задачи лучше всего использовать инструмент, который:

  1. спроектирован под решение этого рода задач
  2. имеет набор готовых библиотек (<<изобретать велосипед>> как правило увлекательно, но недальновидно)

Но данные постулаты хорошо применимы только когда разработка начата с чистого листа, задачи хорошо конкретизированы и не меняются со временем.
Как известно, в сфере телекоммуникаций (ISP) сложно заранее закладывать риски по вполне понятным причинам (рост траффика, изменение его качественной структуры), а следовательно, приходиться комбинировать инструменты. Кроме того накладываются как ограничивающий фактор исторические элементы системы (так называемые унаследованные свойства или legacy).

На основе суммированного опыта нами раcсматривается вопрос применимости языков Perl и Erlang для различных задач при различных условиях.

Сравнение языков проведено по следующим прикладным моментам:

  1. Объем и качество библиотек
  2. Вопрос обучения (взаимозаменяемости программистов)
  3. Инструменты для отладки
  4. Инструменты для профайлинга/бенчмаркинга
  5. IDE
  6. Схема и основные коммитеры в развитии языка
  7. Инструменты специфические для сферы ISP (снифферы, сетевые мониторы)

Суммированно к плюсам Erlang как платформы по отношению к Perl можно отнести её стабильность, высокую адаптацию под задачи отрасли (встроенные механизмы интеркоммуникации по сети, механизмы балансировки и избыточности, библиотека OTP), поддержку со стороны крупных компаний, встроенные механизмы параллелизации.
Но есть и минусы по отношению к Perl: размер библиотек в разы меньше чем у CPAN, более высокая сложность обучения, более слабое сообщество, меньше сторонней документации, отчасти сильное влияние крупных компаний на развитие языка.

Лицензия Creative Commons
Текст тезисов доступен под лицензией Creative Commons Attribution-ShareAlike 3.0.