domingo, 14 de octubre de 2012

Cual es el futuro lenguaje de la plataforma Java?


Como sabrán en la plataforma Java se esta trabajando para hacer que la JVM sea políglota, por que? Porque el lenguaje Java no siempre es bueno, es decir, pensar que un lenguaje sea bueno para resolver todos los problemas es tirar a la basura mucha teoría, por ejemplo de paradigmas y mucha investigación. Y además para se sincero Java esta un poco viejo, no por tiempo si no por nivel de abstracción, por ejemplo si vamos a hacer algo a nivel hardware esta bueno pode acceder a la memoria, pero si vamos hacer un software de administración no esta bueno tener que preocuparnos por la memoria o cuestiones de hardware, este nivel de abstracción es bueno tener en cuenta cuando hay que elegir un lenguaje. En Java existen muchas cosas que hoy no tienen sentido por ejemplo los datos primitivos; que ventaja nos da el int comparándolo con el Integer?

Por estas razones se busca que otros lenguajes permitan correr sobre bytecode con la misma eficiencia que Java. Pero existe un lenguaje que va a remplazar a Java o van a ser varios? Sin duda que existe una guerra fría de lenguajes para quedarse con la plataforma. Scala, groovy, clojure, Ceylon,  jruby, jython, Kotlin, etc... ofrecen soluciones validas y diferentes formas de encarar una solución; hasta diferentes paradigmas.

En mi opinión Java como lenguaje no va a desaparecer, dado que Android le tiro un salvavidas. Para Android, java es un buen lenguaje; con un nivel de abstracción adecuado; ya que hay que cuidar los recursos dado que se ejecuta desde un celular o tablet. Además cuenta con muchos desarrolladores que esto es muy importante para una nueva plataforma.  

Creo que con los años Java va entrar en desuso en su plataforma pero va a tener larga vida en Android. La plataforma java va ser tomada por otros lenguajes; lo que no estoy seguro es si va a ver un único ganador o va ser un triunfo compartido.

Coinciden con mi opinó? Que lenguaje les gusta? Que lenguaje tiene más futuro?

5 comentarios:

  1. ¿Qué lenguaje tiene más futuro? Pues espero que Ceylon, por obvias razones... pero pues lo que podemos ver es que hay varios lenguajes que ya tienen una presencia fuerte hoy: Groovy, Scala, JRuby.

    Y aunque tal vez no haya espacio para todos, sí lo hay para varios: Si te gusta tipado dinámico, puedes optar por Groovy o JRuby; si prefieres el tipado estático y/o te gusta el estilo funcional, puedes optar por Scala o Clojure. No tiene que haber un único ganador porque no se trata de algo tipo Highlander ("there can be only one"); es bueno que haya una diversidad de lenguajes para una misma plataforma, porque no todas las aplicaciones tienen los mismos requerimientos.

    Lo que sí no creo es que el lenguaje Java siga siendo el rey en Android por mucho tiempo. Ya hay algo de avance en poder compilar Groovy en Dalvik, creo que Scala también, y nosotros tenemos contemplado llevar Ceylon a Android también (pero después de que lleguemos a la versión 1.0).

    ResponderBorrar
    Respuestas
    1. Justifico que Java va a seguir siendo el rey en android por mucho tiempo, por temas de performance y por cantidad de desarrolladores. En lo demás coincido con vos. Saludos!!

      Borrar
    2. Hay dos tipos de devs: los que les gusta desarrollar para usuarios y los que les gusta desarrollar para otros devs (o sea que sus usuarios son a la vez devs). Los primeros están haciendo apps en Android mientras esperan que los segundos les traigan nuevos lenguajes y herramientas para facilitarles la vida. No subestimes al segundo grupo.

      Borrar
    3. No subestimo al segundo grupo; lejos de eso, pero la en general esta instaurada la idea que Java (lenguaje) es más eficiente que los otros lenguajes; se puede hacer mucho a nivel tecnología para cambiar eso; pero van a pasar varios años hasta que se derriben los prejuicios y normalmente los que tienen prejuicios son los que toman las decisiones.
      El otro punto es que las facultades enseñan java, no lenguajes de más alto nivel; lo que hace difícil el cambio.

      Borrar
  2. Es una cuestion subjetiva, pero para mi scala poco a poco ya esta ganando algo de terreno en el mundo java, por un lado ya puedes crear aplicaciones para android en lenguaje scala, ya existe un framework moderno para web, playframework, tiene atrás una empresa que esta creciendo, typesafe, es de tipado estatico con cierto sabor a dinamico, por lo tanto tiene una excelente performance, por algo no lo han escogido para la nueva generación del servidor de colas apache activemq, con nombre codigo apollo, donde el corazón echo en scala lleva a la aplicación subir exponencialmente la cantidad de mensajes por segundo que puede manejar esta nueva implementación.
    Y por ultimo ha llevado al mismísimo creador del framework más popular en el mundo java, spring, a subirse al carro de scala, estoy hablando de Rod Johnson, toda una figura en el mundo de java empresarial, que ahora esta en la Junta Directiva de typesafe, la empresa que esta atrás de scala.

    ResponderBorrar