2010-05-02 12 views
7

Después de leer la discusión de Bloch http://www.infoq.com/news/2010/04/bloch_java_future Empecé a pensar en "¿Tengo que cambiar a scala para nuevos desarrollos web?" O se prefiere Java en todos los casos. Cuál es tu opinión ?Java o Scala para nuevos proyectos greenfield?

Gracias,

+6

Creo que sería un gran error dejar pasar la oportunidad de usar Scala para un nuevo proyecto. –

+1

Lo que realmente limita y penaliza seriamente a Scala es que hicieron un gran esfuerzo "agregar gradualmente algo de Scala" a un proyecto Java existente. Si solo trabajaran un poco en eso ... Pero, por supuesto, eso es probablemente más difícil que crear aún-otra-programación-lenguaje-que-objetivos-la-JVM;) – SyntaxT3rr0r

+4

@WizardOfOdds ¿Cómo? Creo que es bastante fácil agregar gradualmente algo de Scala. –

Respuesta

11

Si su elección es entre Java o Scala, probablemente debería ir con Scala. Spring, Hibernete, etc. funciona bien con Scala, así que si puedes usarlo ahora mismo. Las herramientas para Scala no son tan malas en IntelliJ en este momento. No es como lo fue hace 6 meses o un año.

Sin embargo, debo advertirle ... Java es una plataforma bastante inflada en este momento para el desarrollo estrictamente web. Fui arquitecto de software duro de Java durante 9 años, y he estado haciendo Scala recientemente, así que tengo un sesgo hacia estas plataformas. Aún así, si lo único que quieres hacer es crear una aplicación que proporcione una funcionalidad modesta sobre una base de datos, solo debes usar Grails o incluso Rails (aunque Grails probablemente se ajuste mejor a tus habilidades).

No recomendaría hacer Lift for Scala a menos que ya conozca la programación funcional.

+0

Muchas gracias Egervari, información muy útil. – sirmak

3

Sigo siendo un gran admirador de Java Spring. Algunas personas piensan que podría ser un poco pesado, sin embargo, con las anotaciones y el cableado automático, puede armar aplicaciones web de manera muy rápida. Además, con Java, tiene acceso a una gran cantidad de bibliotecas de código abierto, especialmente de Apache commons.

Una de las cosas que realmente no me gustan de Scala/Lift es que la línea entre la vista y los controladores está un poco mezclada. Con Java Spring, hay una clara distinción entre la vista y los controladores, especialmente si utiliza un lenguaje de plantilla para la vista como Apache Velocity.

Sin embargo, en general, dependiendo del tamaño de su proyecto, no creo que haya una gran diferencia entre Scala y Java. Ambos harán el trabajo por ti. Si su proyecto tiene el potencial de llegar a ser muy grande, me equivocaría al elegir Java debido a su madurez y gran cantidad de bibliotecas maduras de código abierto disponibles.

+4

Puede usar casi cualquier biblioteca Java fácilmente desde Scala, por lo que el hecho de que haya tantas bibliotecas maduras de código abierto de Java no es realmente una razón para usar Java en lugar de Scala. – Jesper

4

Depende de qué tipo de aplicaciones web que desea trabajar con aunque yo elegiría Java debido al código y API gran base de su gran comunidad

+1

De acuerdo. La gran base de usuarios y las API ricas son muy importantes. – cherouvim

+13

Puedes usar prácticamente cualquier código Java en Scala, así que no estoy seguro de por qué es un gran problema. –

+4

¿Cómo demonios se convirtió este comentario en la respuesta aceptada? –

2

Creo que depende de la escala de sus aplicaciones web y su recursos humanos. ¿Tiene buenos programadores que puedan ponerse al día con la nueva tecnología rápidamente? También debe preocuparse por el tiempo debido para el proyecto y el presupuesto también.

Puede ser un buen momento para probar nuevas tecnologías solo si es realmente adecuado para su proyecto. Java todavía tiene una posición fuerte en la comunidad y también puede encontrar una gran cantidad de soportes y un marco de código abierto.

Cuestiones relacionadas