Я занимаюсь телекоммуникационным программным обеспечением более 20 лет. Я сожалею, что начал использовать Erlang только в последние 12 месяцев. Большинство телекоммуникационных разработок ведется на C, C++ и т.д.
ИМХО, это происходит потому, что мы не знали лучшего. Если вы хотите максимизировать свои возможности трудоустройства, Erlang - не лучший выбор. Я сожалею, что это правда. Сказал бы я своему сыну изучать Erlang и идти туда, где есть работа? Да, сказал бы.
Карл Райт Service Level Corporation
Существует большая разница между веб-разработкой высокого уровня и реализацией сетевого приложения с использованием шестнадцатеричного редактора и непонятной спецификации протокола, независимо от языка.
Если вы хотите программировать телекоммуникационные приложения, вы должны быть готовы выучить гораздо больше, чем новый язык.
К сожалению, нет. Я знаю множество приложений telco / voip в Erlang, но бизнес телекоммуникаций, как известно, имеет закрытый исходный код. У вас больше шансов получить исходный код Windows, чем заставить телефонную компанию выпустить свой код.
Мне кажется, вы путаете Erlang, язык программирования, с erlang, единицей измерения, которая "используется во всей телекоммуникационной отрасли" именно потому, что это ключевой показатель производительности. По моему опыту работы в телекоммуникационной отрасли, вы можете многого добиться, используя только Perl.
Один из телекоммуникационных проектов с открытым исходным кодом на Erlang - это YXA , SIP-сервер.
Я работаю с программным обеспечением для телекоммуникаций уже 2-3 года. Я бы сказал, что нет ничего специфичного для этой области. Программирование является довольно общим, реализует стеки протоколов (клиенты и серверы), анализирует записи из форматов файлов, выявляет узкие места и повышает производительность, а также устраняет проблемы на сайтах клиентов.
Как программисту вам необходимо знать терминологию, относящуюся к различным технологиям телекоммуникационных систем (им действительно нравятся аббревиатуры). Это упростит понимание требований и того, о чем на самом деле говорят клиенты при описании своей среды. Мой работодатель отправил меня на однодневные курсы, так что я не особо беспокоился об этом.
Я бы порекомендовал вам хорошо освоить универсальное программирование, работать с большими системами, возможно, остановиться на том, как базы данных и файловые системы работают на низком уровне, а также как писать парсеры (вручную и с помощью генераторов парсеров и не полагайтесь на регулярные выражения во всем).
Онлайн-системы обычно нуждаются в качествах «мягкого реального времени», которые есть в Erlang, поэтому вам нужно понимать сборщики мусора, то, как они вводят остановки gc и какие настройки можно сделать в этом отношении. Также бесценно знать инструменты, которые можно использовать для отладки работающей производственной системы без риска снижения производительности.