Создание коммерческой системы: чистый Erlang или Erlang / OTP? - PullRequest
12 голосов
/ 04 сентября 2011

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

  1. Learn You Some Erlang ;
  2. Erlang / OTP в действии
  3. Программирование Erlang (Armstrong);
  4. Программирование Erlang (Cesarini).

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

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

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

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

Ответы [ 4 ]

35 голосов
/ 04 сентября 2011

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

Сборка систем на Erlang / OTP.

34 голосов
/ 04 сентября 2011

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

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

13 голосов
/ 04 сентября 2011

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

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

2 голосов
/ 08 октября 2012

Если вы прочтете «Изучите какой-нибудь Эрланг» (как вы и сказали), вы заметите, что автор тратит главу Разработка параллельного приложения , в которой написано что-то наполовину полезное в «обычном Эрланге»,Затем в следующих 2 главах он в основном отбрасывает все это и использует OTP для достижения того же результата с гораздо меньшим количеством кода (добавьте к этому тот факт, что, поскольку это код OTP, он является стандартным - так что другие разработчики, знакомые с OTP, получатгораздо лучшее представление о том, где искать, чтобы понять это!)

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

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

...