Подтвердить что ты не робот

Создание коммерческой системы: Pure Erlang или Erlang/OTP?

Я собираюсь создать систему с Erlang (моя проблема может быть решена лучше с несколькими процессорами), и я просмотрел:

  • Узнайте, что у вас есть Erlang;
  • Erlang/OTP в действии
  • Программирование Erlang (Armstrong);
  • Программирование Erlang (Cesarini).

В книге действий Erlang/OTP в книге действий (2) говорится: "... писать не-OTP-код Erlang - это действительно передовая тема, и что-то, что нужно делать только тогда, когда вам действительно нужно. Поэтому, возможно, это не способ OTP - это благословение, потому что вы сразу же подберете правильные привычки в отношении вещей OTP..."

(2) настаивает на том, что коммерческие системы должны быть построены только с OTP, в то время как (4) нежно показывает, что OTP - это не единственный способ сделать это.

Кроме того, прочитав (4), я обнаружил, что построение знаний из самых основ Эрланга помогает понять, как работает OTP (но не наоборот).

Итак, вопрос: Должен ли я выбирать Erlang/OTP для создания коммерческой системы или это можно сделать с помощью чистого Erlang?

4b9b3361

Ответ 1

Можно ли это сделать с помощью чистого Erlang?

Да, он может, подчиняясь аналогу Десятого правила Greenspun: ваша система будет содержать специальную, неформально указанную, загруженную ошибками, медленную реализацию половина OTP.

Ответ 2

Учитесь и играйте с чистым Erlang.

Создайте системы в Erlang/OTP.

Ответ 3

OTP написан в Erlang, так что это определенно можно сделать в чистом Erlang. Это говорит о том, что OTP предоставляет вам множество полезных функций, которые вам в противном случае нужно было бы написать самостоятельно. @Alexey прав, чем в конечном итоге реализовать часть OTP на этом пути. Проблема в том, что инфраструктура, необходимая для создания отказоустойчивых систем, которые предоставляет OTP, сама по себе является очень безотказной.

Я также буду эхом @Mazen в том, что экспериментирование с этим в чистом Erlang дает вам хорошее представление о том, что происходит внутри OTP и как вы можете создавать отказоустойчивые системы в Erlang. После этого вы улучшите использование OTP. Вы поймете, что лучше не использовать OTP и почему.

Ответ 4

Если вы прочитали "Узнайте, что у вас есть Erlang" (как вы сказали, у вас есть), вы заметите, что автор тратит Проектирование параллельного приложения глава, создающая нечто наполовину полезное в "простом Эрланге". Затем в следующих двух главах он в основном выбрасывает все это и использует OTP для достижения того же самого решения с гораздо меньшим количеством кода (добавьте к этому тот факт, что, поскольку он OTP-код, он стандартный, поэтому другие разработчики, знакомые с OTP, будут иметь гораздо лучше понять, где искать, чтобы понять это!)

OTP был разработан и усовершенствован в течение многих лет (начальный выпуск 1998 года в соответствии с Википедией) с большим количеством разработчиков и поддержкой крупной международной компании (Ericsson), а также проверен как открытый, Я думаю, что было бы немного смело предположить, что вы могли бы создать что-то одинаково надежное и масштабируемое!

Поэтому используйте OTP. Даже для проектов "играть" по-прежнему используйте OTP, поскольку это может помочь вам научиться лучше делать ваш "коммерческий" код:)