¿Dónde se ubicaría Erlang en el espectro de la concisión entre, digamos, Java/.net en el extremo menos conciso y Ruby/Python en el extremo más conciso del espectro? Tengo un problema de RSI así que la concisión es particularmente importante para mí por razones de salud.¿Es Erlang un lenguaje conciso desde la perspectiva de un programador?
Respuesta
concisión como una característica del lenguaje está mal definida y probablemente no uniforme. Los diferentes idiomas pueden ser más o menos concisos dependiendo del problema.
Erlang como lenguaje funcional puede ser muy conciso, más allá de Ruby o Python. Específicamente, la coincidencia de patrones a menudo reemplaza las declaraciones y la recursión, y las listas de comprensión pueden reemplazar los bucles.
Por ejemplo Java podría tener algo como esto:
String foobar(int number){
if (number == 0) {
return "foo";
} else if (number == 1) {
return "bar";
}
throw new Exception();
}
mientras que el código Erlang sería el resultado:
foobar(0) -> "foo";
foobar(1) -> "bar".
Con la excepción siendo inherentes porque no hay ninguna cláusula para la entrada de otros entonces 0 o 1. Esto es causa de un problema que se presta bien al desarrollo del estilo de Erlang.
En general, cualquier cosa que pueda definir como una transformación coincidirá especialmente con un lenguaje funcional y se puede escribir con mucha precisión. Debido a que muchos fanáticos del lenguaje funcional afirman que cualquier problema en la programación es una transformación.
Erlang le permite realizar funciones en muy pocas líneas de código, en comparación con mis experiencias en Java y Python. Solo Smalltalk o Scheme se acercaron a mí en el pasado. Solo obtiene un poco de sobrecarga, pero normalmente tiende a identificar identificadores para módulos, funciones, variables y átomos. Hacen que el código sea más legible. Y tienes muchos tirantes normales, rizados y cuadrados. Por lo tanto, depende de la distribución de su teclado qué cómodo será. Usted debe darle una oportunidad.
mue
Erlang es sorprendentemente conciso, especialmente cuando se quiere lograr un rendimiento y fiabilidad.
Erlang es concisa, incluso si se compara con Haskell:
http://thinkerlang.com/2006/01/01/haskell-vs-erlang-reloaded.html
Y es sorprendentemente rápido (y confiable) incluso en comparación con C++:
(18x menos SLOC no es sorpresa).
De todos modos, siempre depende de tus preferencias y objetivo lo que quieras lograr.
Tienes que dedicar algo de tiempo, escribir código, para entender el punto óptimo de erlang, frente a todas las otras herramientas emergentes, DHT, tiendas de documentos, marcos mapreduce, hadoop, GPU, scala, ... Si intentas hacer , digamos aplicaciones tipo SIMD fuera del punto óptimo, probablemente terminará luchando contra el paradigma y escribiendo código detallado, mientras que si se topan con problemas que necesitan escalar servidores y middleware sin problemas hacia arriba y hacia abajo, fluye naturalmente.(Y el aumento de Scala en su punto óptimo es inevitable, también, creo)
Algo bueno para buscar sería el experimento Tim Bray Wide Finder (destilando grandes archivos de registro de Apache) de hace un par de años, y cómo estaba decepcionado con Erlang.
lo general no recomiendo poner mucho tienda en la tanda de Alioth, dado que inevitablemente terminan comparando realmente bueno y malo de código, pero si usted necesita para poner los números de LOC, Erlang vs C, rubí, sea cual sea
- 1. ¿Es Erlang realmente un lenguaje funcional?
- 2. ¿Es Erlang un lenguaje de programación de restricción de lógica?
- 3. ¿Cuál es el lenguaje de programación más conciso?
- 4. Programador de C++ que busca ampliar la perspectiva
- 5. Erlang shell desde un navegador?
- 6. Además de un lenguaje declarativo, ¿SQL es un lenguaje funcional?
- 7. ¿C# es adecuado para un lenguaje de scripting?
- 8. ¿Qué es un lenguaje lambda?
- 9. ¿Es R un lenguaje compilado?
- 10. ¿Erlang es la elección correcta para un webcrawler?
- 11. Aprende UML pero desde la perspectiva C# ... (soy principiante)
- 12. Explicar C++ SFINAE a un programador que no es C++
- 13. ¿Cómo evaluarías a un programador?
- 14. ¿Cuál es la diferencia entre un lenguaje y un marco?
- 15. ¿C++ es un lenguaje orientado a objetos?
- 16. ¿La similitud con el "lenguaje natural" es un argumento de venta convincente para un lenguaje de programación?
- 17. Preguntas sobre Scala desde un programador C++ (estructuras y stl)
- 18. ¿Qué es un archivo erlang hrl?
- 19. ¿El lenguaje informático 'Erlang' está relacionado con la deidad china?
- 20. ¿JavaScript es un lenguaje de aplicación?
- 21. ¿XSLT es un lenguaje de programación funcional?
- 22. ¿C# es un lenguaje de alto nivel?
- 23. ¿Qué es un lenguaje de plantillas?
- 24. ¿Qué es un lenguaje de programación formal?
- 25. ¿Qué es un lenguaje de pegamento?
- 26. ¿Qt 4 es un lenguaje de programación?
- 27. ¿Está Clojure más cerca de Scheme o Common Lisp desde la perspectiva de un principiante?
- 28. MongoDB incrustado vs. referencia desde la perspectiva de rendimiento
- 29. Comprender los compiladores de C++ desde una perspectiva Java/C#
- 30. ¿Cuál es la forma más rápida de que un programador de Ruby elija Python?