Soy un desarrollador de Java y quiero saber, ¿cuál es el principal beneficio de aprender un idioma como Scala o Groovy?¿Por qué un desarrollador de Java debe aprender un lenguaje JVM adicional?
Respuesta
Puede obtener el mismo beneficio aprendiendo otro idioma JVM que aprendiendo cualquier idioma nuevo. Aumenta su comprensión de la programación en general y, lo que es más importante, agrega otra herramienta a su caja de herramientas.
Así que la próxima vez que tenga que resolver un problema, puede buscar una pistola de clavos en lugar de un martillo.
Para ser más específicos, Groovy es un buen lenguaje para burlar código rápidamente, y Scala, aunque nunca lo he usado, es ideal para escribir aplicaciones simultáneas debido a su enfoque funcional. Como otros han mencionado, los lenguajes de JVM pueden interactuar con el código de Java. Lo cual puede ser útil para agregar a sistemas heredados o para burlar piezas de una aplicación rápidamente.
+1. Exactamente lo que pensé Las herramientas son buenas. Y aunque puede ser divertido golpear todo con un martillo, no es ideal :-) – Joey
Ventajas del lenguaje de scripting dentro de jvm. Perfecta interacción con el código compilado de Java.
de http://groovy.codehaus.org/:
"maravilloso es como una versión súper de Java Se puede aprovechar las capacidades empresariales de Java, pero también tiene características interesantes de productividad como cierres, constructores y tipado dinámico Si usted es un desarrollador, probador o script.. gurú, debes amar a Groovy ".
Por lo tanto, en muchos casos tiene sentido usar Groovy en lugar de Java; Por ejemplo, en pruebas de unidades de Java!
Porque entonces conocerá un nuevo idioma, lo que significa un conjunto de habilidades más amplio y otra forma de ver los problemas. Pero debido a que Groovy y Scala se ejecutan en la JVM y usted conoce Java, puede integrar bibliotecas y códigos existentes si lo desea o necesita.
Sé con Groovy, puede cargar scripts (desde archivos) en tiempo de ejecución desde su aplicación Java. Esto me permite personalizar el comportamiento de las acciones de la aplicación en un sitio del cliente sin necesidad de que recompile el código. Es bastante encantador.
Los idiomas que ha mencionado practican un paradigma de programación diferente que podría ayudarlo a ser más productivo. También son más divertidos de trabajar.
Idiomas como Scala y Clojure se ejecutan en la JVM y muestran un gran rendimiento en sistemas multi-core sin imponer requisitos de sincronización.
Y, por supuesto, todavía puede utilizar la gran cantidad de bibliotecas disponibles para Java.
Las otras respuestas aquí tienen muy buenos puntos, pero hay una cosa que me falta.
Un buen codificador rara vez se identifica a sí mismo como un "desarrollador de Java", un "desarrollador de Python" o cualquier "desarrollador". Aprender otro idioma (ya sea un lenguaje JVM o no) te hará entender que hay mucho más en el mundo para aprender.
Si está satisfecho con un solo idioma, generalmente significa que no tiene en cuenta los problemas que tiene, y que hay muchas tareas que son más adecuadas para otros idiomas.
Es por eso que los programadores pragmáticos alientan a todos los programadores a aprender un idioma al año.
+1 Esta es la única respuesta que resuelve el problema. Acepto que no debemos etiquetarnos con etiquetas como "Desarrollador Java", "Desarrollador Python". "o" Cualquier desarrollador ".. – aProgrammer
sentimos más preguntas, entonces respuestas ..
- ¿Qué le gastar su tiempo en si no está aprendiendo un nuevo idioma?
- ¿Por qué te limitas a los lenguajes JVM?
- ¿Sería más beneficioso aprender el desarrollo impulsado por pruebas?
- ¿Qué tal aprender las patentes de diseño estándar?
- ¿Cuáles son que tratando de lograr con su inversión de tiempo?
aprender un idioma es siempre bueno, sin embargo, si usted no aprende muy bien y se utilicen no obtiene un gran beneficio, ya que tienes que ser capaz de “pensar en un idioma” para ampliar tu mente
Usar más de un idioma en una empresa genera muchos costos adicionales a largo plazo, por lo que puede obtener más aprendiendo a programar mejor en su idioma principal, solo usted puede decidir.
Algunas buenas razones por las que vienen a la mente:
- Tienen características que Java no tiene y que le pueden resultar útiles en ciertas circunstancias.
- Utilizan diferentes paradigmas de programación, diferentes formas de pensar.
- Aprender otros idiomas abre su mente.
- El aprendizaje de idiomas te hace consciente de sus respectivas fortalezas y debilidades.
- Están recibiendo más y más atención y mejor compatibilidad con JVM (con Java 7).
realidad, tal vez hacerse la pregunta inversa:
- por qué no aprender una lengua JVM addiitional?
- 1. ¿Qué partes del ecosistema y lenguaje de Java debería aprender un desarrollador para aprovechar al máximo Scala?
- 2. ¿Es Lua un lenguaje que un no desarrollador puede aprender rápidamente?
- 3. ¿Qué lenguaje ensamblador aprender?
- 4. Método para aprender Flash AS3 para un desarrollador de Java?
- 5. ¿Debe un desarrollador ser diseñador?
- 6. ¿Qué puede aprender un solo desarrollador de Scrum?
- 7. ¿Por qué un desarrollador de bases de datos usaría LINQ
- 8. ¿Por qué Java está etiquetado como un lenguaje "seguro"?
- 9. ¿Por qué str.lstrip elimina un carácter adicional?
- 10. ¿Cuáles son las habilidades esenciales de DBA que un desarrollador debe aprender?
- 11. ¿Qué debe saber un desarrollador antes de crear un nuevo formato o idioma basado en XML?
- 12. ¿Cómo hacer un lenguaje .Net o JVM?
- 13. ¿Por qué un desarrollador usaría Silverlight?
- 14. ¿Qué tan rápido debe ser un lenguaje interpretado hoy?
- 15. viniendo de bash, ¿qué lenguaje de scripts de Windows se debe aprender?
- 16. Al generar código, ¿qué lenguaje debe generar?
- 17. ¿Por qué un desarrollador debe colocar una barra diagonal al inicio de cada ruta relativa?
- 18. ¿Por qué debería aprender y usar puntales?
- 19. Enfoque para aprender algoritmos usando un lenguaje específico
- 20. ¿Qué debe saber un desarrollador antes de crear aplicaciones para teléfonos celulares?
- 21. ¿Qué tipo de proceso de desarrollo de software debe tener un desarrollador solitario?
- 22. ¿Por qué necesita un par adicional de soporte?
- 23. ¿Qué es un lenguaje lambda?
- 24. ¿Cómo debe un desarrollador junior manejar reuniones standup?
- 25. Por qué .NET es un Framework y Java es un lenguaje
- 26. ¿Qué preguntas de entrevista debe hacerle a un desarrollador/diseñador de experiencia de usuario (ux)
- 27. ¿Por qué debería aprender un framework de PHP?
- 28. ¿Qué significa un 'lenguaje de sistemas'?
- 29. ¿Cuáles son algunas de las razones por las cuales un único desarrollador debe usar TDD?
- 30. ¿Por qué no Rhino para aplicaciones JVM?
Radi, he editado su pregunta un poco para que quede más claro. Espero que esto esté en línea con tu intención original. Si no, por favor retroceda. –