Я пытаюсь узнать больше об Эрланге, чем о игрушечных проектах, с которыми я играл. С этой целью я читаю Программирование Erlang и некоторые архивы от Armstrong on Software .
Я также хотел бы прочитать какой-нибудь примерный (предпочтительно рабочий) код, демонстрирующий виды вещей, которые вы можете создать с помощью Erlang, что было бы непропорционально сложно в других языках. Помимо (я полагаю) Yaws , есть ли общедоступные примеры прекрасного кода Erlang, который я мог бы прочитать, чтобы лучше понять язык и / или увидеть идиоматические применения для различных языковых конструкций?
Я специально не ищу код, который «выполняет свою работу», но использует сомнительные практики или примеры в духе «вот как вы пишете factorial
на Erlang».
В том же духе, может ли кто-нибудь порекомендовать какую-либо хорошую литературу для изучения этого языка (кроме упомянутого «Программирование на Erlang»)? Для предпочтения, то, что вы сами использовали для изучения, но если есть какие-то стандартные для сообщества книги для этого, добавьте их тоже.
Ответы:
Еще один хороший пример - Erlang и OTP в действии .
О примерах кода: довольно сложно найти лучшие практики для Erlang, но я бы посоветовал вам попробовать эти сайты:
Проверьте ссылки из этой статьи (программное обеспечение с открытым исходным кодом, написанное на erlang), и вы можете найти интересный код.
источник
Поскольку вы добавили тег функциональное программирование, как насчет написания компилятора или интерпретатора Erlang на Haskell? Эрланг уже не совсем современный, как и все. Я рекомендую выучить эрланг за один-два дня, как и некоторые другие языки (LISP, Prolog), а затем забыть о них; они всего лишь шаг к тому, чтобы отучить императивные ООП-языки.
Для меньших задач, чем реализация компилятора, см. Project Euler .
[РЕДАКТИРОВАТЬ] Чтобы ответить на комментарий:
С технической точки зрения: Эрланг был хорош в старые времена, когда не было многоядерных процессоров. Но теперь - учитывая существующие компиляторы / интерпретаторы, которые у меня есть - он просто больше не масштабируется, как должен. Интерпретатор, написанный на Haskell, будет масштабироваться, скомпилированный в Haskell сделает его быстрее, но уберет функцию замены кода на лету.
С точки зрения программистов: Haskell не для всех применимых задач лучший выбор, но, пожалуй, более продвинутые языки очень экспериментальны, и эти неприменимые задачи обычно имеют отношение к встроенным системам (таким как микроконтроллеры и графические процессоры) или сжатие чисел, где C и Assembler по-прежнему лучший выбор.
Что именно вы можете сделать с Erlang лучше, чем на других языках?
источник