Есть ли вещи, которые эликсир может сделать, что Эрланг не может, или наоборот?


этот вопрос находится в контексте Луча VM и возможностей, которые он предоставляет, а не в общем контексте того, что может сделать полный язык Тьюринга. Я хочу потратить некоторое время на изучение чистого Эрланга или эликсира. Я получаю основные различия между ними, и я склоняюсь к эликсиру из-за макросов, лучшего синтаксиса и более быстрого развития языка в этот день.

мой вопрос: если я выберу эликсир, я наткнусь на то, что я не могу сделать это, но может сделать в Эрланге? Могу ли я использовать все материалы OTP, все библиотеки Erlang, перезагрузку кода и т. д. с эликсиром?

Я не прошу чье-то предпочтение между этими двумя; просто факты о возможностях языков. Предпочтительно от того, кто использовал оба в производстве.

3 80

3 ответа:

просто предисловие-я использовал только эликсир в производстве, а не Эрланг.

Я бы честно рекомендовал эликсир. Это мое мнение и не обязательно правильное для вас, но ниже я перечислю свои причины.

  1. производительность: я исхожу из фона Ruby/Rails, поэтому синтаксис и стиль эликсира-это то, что было мне очень знакомо. Один из основных факторов, который помогает мне определить, следует ли изучать язык, - это то, насколько продуктивно я могу работать это - главным образом, почему я выбрал Руби. Эликсир тот же самый. Я могу работать так же быстро, как и Ruby, со всеми дополнительными преимуществами параллелизма и сопоставления шаблонов.
  2. Erlang: поскольку Elixir построен поверх Erlang и компилируется до erlang и Луча vm, у вас есть доступ к каждому модулю и пакету erlang. Поэтому, если вы беспокоитесь об использовании эликсира и упускаете все возможности Erlang, вы не должны быть. Эликсир даже имеет свои собственные реализации большинства больших Функции Erlang / OTP, такие как GenServer, GenEvent и т. д.
  3. сообщество / ресурсы: сообщество эликсира действительно великое. Канал slack действительно популярен и отличный способ получить ответы на некоторые вопросы для начинающих. Уже есть несколько действительно хороших книг, написанных на этом языке (Programming Elixir 1.2 - Dave Thomas, автор Ruby Pickaxe), которые также облегчают доступ к языку.

действительно, если у вас есть возиться с двумя Вы вероятно, пришли к тому же решению, что Elixir-это гораздо более приятный язык со всеми особенностями Erlang + More. Он также растет, я не могу вспомнить точные цифры, но я помню, что читал что-то с веб-сайта Hex (менеджер пакетов) о значительном увеличении загрузки пакетов.

вы не должны натыкаться на все, что вы можете сделать в одном, что вы не можете в другом, так как вы можете свободно вызывать код эликсира из Erlang и наоборот. Вы даже можете легко смешивать файлы Erlang и Elixir в одном проекте.

В Эликсир:

:erlang_module.erlang_function(args)

на Erlang:

'Elixir.ElixirModule':elixir_function(args)

TL; DR -начать с эликсира

Эрланг имеет более крутую кривую обучения по сравнению с эликсиром. Как только вы начнете изучать эликсир, вы автоматически начнете изучать Эрланг. Следовательно, начните с эликсира. Эликсир написан на языке Эрланг и эликсир. смотрите дистрибутив на Github (так как эликсир полон макросов ака мета-программирования). Elixir Project Code distribution

вы можете использовать эликсир с Эрлангом и наоборот, следовательно полная эко-система Эрланга 20+ лет библиотеках.

Подробнее Erlang Solutions

урожайность эликсира "из коробки" выполнена сильным фокусом на tooling и удобстве в выражении манипуляции данных. Конструкция системы одинакова в Elixir и Erlang, но Elixir удаляет много шаблонного кода и легче расширяется. Удаление шаблона повышает производительность и позволяет программистам получать обратную связь быстрее-очень важно, когда вы хотите запустить свой продукт на рынок как можно быстрее. Менее шаблонный также делает для счастливых разработчиков, а счастливые разработчики являются неудивительно продуктивными разработчиками.

Джо Армстронг ' s (Erlang inventor's)сообщение в блоге об эликсире

начните здесь, чтобы узнать о Elixir - Начало Работы

Как только вы почувствуете, что все идет хорошо, пройдите свой путь к практике на Exercism и другой ресурсы.