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.
В сфере телекоммуникаций, как и в других сферах ИТ при разработке действует следующее правило. Для решения определенной задачи лучше всего использовать инструмент, который:
- спроектирован под решение этого рода задач
- имеет набор готовых библиотек (<<изобретать велосипед>> как правило увлекательно, но недальновидно)
Но данные постулаты хорошо применимы только когда разработка начата с чистого листа, задачи хорошо конкретизированы и не меняются со временем.
Как известно, в сфере телекоммуникаций (ISP) сложно заранее закладывать риски по вполне понятным причинам (рост траффика, изменение его качественной структуры), а следовательно, приходиться комбинировать инструменты. Кроме того накладываются как ограничивающий фактор исторические элементы системы (так называемые унаследованные свойства или legacy).
На основе суммированного опыта нами раcсматривается вопрос применимости языков Perl и Erlang для различных задач при различных условиях.
Сравнение языков проведено по следующим прикладным моментам:
- Объем и качество библиотек
- Вопрос обучения (взаимозаменяемости программистов)
- Инструменты для отладки
- Инструменты для профайлинга/бенчмаркинга
- IDE
- Схема и основные коммитеры в развитии языка
- Инструменты специфические для сферы ISP (снифферы, сетевые мониторы)
Суммированно к плюсам Erlang как платформы по отношению к Perl можно отнести её стабильность, высокую адаптацию под задачи отрасли (встроенные механизмы интеркоммуникации по сети, механизмы балансировки и избыточности, библиотека OTP), поддержку со стороны крупных компаний, встроенные механизмы параллелизации.
Но есть и минусы по отношению к Perl: размер библиотек в разы меньше чем у CPAN, более высокая сложность обучения, более слабое сообщество, меньше сторонней документации, отчасти сильное влияние крупных компаний на развитие языка.
Текст тезисов доступен под лицензией Creative Commons Attribution-ShareAlike 3.0.