2011-09-04 21 views
12

estoy a punto de construir un sistema con Erlang (mi problema puede resolverse mejor con las CPUs múltiple) y he hojeado:Creación de un sistema comercial: Pure Erlang o Erlang/OTP?

  1. entera de que algunos Erlang;
  2. Erlang/OTP en Acción
  3. programación Erlang (Armstrong);
  4. Erlang Programación (Cesarini).

El Erlang/OTP en el libro Acción (2) dice:" ... la escritura de código no OTP Erlang es realmente un tema avanzado, y es algo que debe hacerse sólo cuando realmente realmente tiene que Así que tal vez. no haberlo hecho nunca, la forma no OTP es una bendición porque usted recogerá los hábitos correctos inmediatamente con respecto a las cosas OTP ... "

(2) insiste en que los sistemas comerciales deben construirse solo con OTP, mientras que (4) muestra suavemente que OTP no es la única forma de hacer esto.

Además, mediante la lectura (4) He descubierto que la construcción del conocimiento a partir de los conceptos básicos de Erlang ayuda a entender cómo funciona la OTP (pero no a la inversa).

Entonces, la pregunta es: ¿Debo elegir Erlang/OTP para construir un sistema comercial o puedo hacerlo con Erlang puro?

Respuesta

34

¿Puede ser hecho con pura Erlang?

Sí, se puede, sujeta al análogo de Greenspun's Tenth Rule: su sistema contendrá ad hoc, se especifica de manera informal-, plagada de errores, la lenta aplicación de la mitad de OTP.

35

Aprende y juega con Erlang puro.

Sistemas de compilación en Erlang/OTP.

+2

Bien dicho, Mazen. – RichardC

13

OTP está escrito en Erlang por lo que definitivamente puede hacerse en Erlang puro. Dicho esto, OTP le proporciona una gran cantidad de funcionalidades útiles que de otra manera tendría que escribir usted mismo. @Alexey tiene razón de lo que terminarás implementando una porción de OTP en el camino. El problema es que el marco que necesita para construir sistemas tolerantes a fallas, que proporciona OTP, tiene a sí mismo muy sin fallas.

También echo eco a @Mazen en que experimentar con hacerlo en puro Erlang te da una buena idea de lo que está sucediendo internamente en OTP y cómo puedes construir sistemas tolerantes a fallas en Erlang. Harás un mejor uso de OTP luego. Obtendrá una mejor comprensión cuando no para usar OTP, y por qué.

2

Si lee el artículo "Learn You Some Erlang" (como usted dijo que tiene) notará que el autor pasa el capítulo Designing a Concurrent Application creando algo útil en "plain Erlang". Luego, en los siguientes 2 capítulos, básicamente lo descarta todo, y usa OTP para lograr lo mismo con mucho menos código (a esto se añade el hecho de que, como es código OTP, es estándar, por lo que otros desarrolladores familiarizados con OTP tendrán una idea mucho mejor de dónde mirar para entenderlo!)

La Fiscalía se ha desarrollado y refinado durante mucho de años (versión inicial 1998 según Wikipedia) con un gran número de desarrolladores, y el respaldo de una empresa internacional de gran tamaño (Ericsson), y revisada por pares como es todo de código abierto. ¡Creo que sería un poco audaz suponer que podrías construir con una sola mano algo igualmente robusto y escalable!

Utilice la OTP. Incluso para proyectos de "juego", aún use la OTP ya que solo puede ayudarlo a aprender a mejorar su código "comercial" :)

Cuestiones relacionadas