gentoo linux, java, software libre y otras hierbas
sep, 21 2007 - 10:42 am

10 razones por las que Java apesta

Me he leído una entrada en JavaHispano, donde se habla de un artículo de Obie Fernandez titulado “Top 10 reasons why Java sucks ass“. Y la verdad de las diez razones, pienso, 9 son estúpidas y solo una (la 6) tiene algo de sentido (al menos temporalmente). Copio y pego la entrada de JavaHispano:

Como podrás ver muchas de sus razones no tienen sentido alguno pero en mi opinión son una muestra del tipo de ideas preconcebidas existentes en el mundo del desarrollo de software contra Java. Aquí va la lista:

“1) Java tiene un compilador. Al demonio con los compiladores y su falso sentido de seguridad. Con demasiada frecuencia código malo es subido e incluso desplegado en servidores simplemente porque es compilado. En ruby no tenemos ese lujo.” Si alguien entiende este punto que me lo explique. Supongo que tiene que ver con que a menudo se confía en los compiladores para que nos indiquen errores u optimicen el código mientras que en lenguajes interpretados es el programador quien realiza esa labor.

“2) Lo creadores de los frameworks Java no son desarrolladores de aplicaciones.” Pone como ejemplo a los empleados de JBoss. Bueno, este punto es tan estúpido que no vale la pena debatirlo. Creo que la gran mayoría de los frameworks Java han sido creados por desarrolladores de aplicaciones buscando facilitarse la vida.

“3) La mayoría de los programadores Java son tontos”. Aquí el brillante autor realiza simple estadística, dice que si hay 2 millones de programadores Java, es imposible que todos sean buenos porque el número de buenos programadores en el mundo es menor. Sin comentarios.

“4) Java está demasiado fragmentado”. Por fin un buen argumento, ese sí es un problema real de Java: demasiadas opciones que confunden a los principiantes sobre el camino a seguir. Pero decir que Ruby es mejor porque solo tiene Rails me parece una tontería. Basta ver lo que paso con Twitter donde Rails no pudo con la escalabilidad y se tuvieron que crear un framework propio.

“5) Java es demasiado lento”. Otra idea preconcebida que data de los tiempos de java 1.2 y 1.3; pero sobre todo un argumento muy raro para defender a Ruby que es más lento incluso que Groovy que a su vez es 30 veces más lento que Java.

“6) Java no tiene blocks ni closures”. Bueno, closures los tendrá a partir de la 7,

“7) Java tiene IDEs. (…) Todos saben que los buenos programadores usan VIM o Emacs. (..). Si necesitas un IDE no sirves, punto”. ¿Alguién quiere debatirlo? Si las herramientas existen, úsalas. Si te permiten desarrollar en menor tiempo y cometer menos errores, ¿por qué no?.

“8) Java tiene buen soporte para debugging. (…) Ruby tiene un soporte ridículo para debugging, lo que quiere decir que nuestro código debe ser probado y legible”. Supongo que este punto es una broma.

” 9) Java genera mucho dinero para las empresas”. Un buen punto a debatir, ¿hasta qué punto los intereses corporativos han ayudado o perjudicado el mundo Java? Al parecer el mundo Java tiene su mayor fuerza en los proyectos open source y en los desarrollos independientes que han moldeado en gran medida el lenguaje y la forma en que lo usamos. Por ejemplo, las empresas han apoyado EJB2 (incluyendo esos horribles EJB de entidad), JSQL, BPEL; mientras que los desarrolladores los contenedores ligeros, el ORM y el uso intensivo de POJOs. ¿Qué es lo que usamos actualmente en nuestros desarrollos?

“10) Java no tiene a DHH.” DHH-> David Heinemeier Hansson, el creador de Ruby. Pues no, no lo tiene ..¿y?.

En fin, bastante encendida y llena de ideas preconcebidas esta lista. La verdad nunca he entendido porque los de Ruby siempre han criticado con tanto ahínco a Java, vamos creo que ni Microsoft y eso que es su verdadero rival, mientras que Ruby tiene un mercado un tanto distinto (más enfocado a creación de aplicaciones web 2.0, mientras que Java si bien sirve para eso obtiene sus mayores ingresos de aplicaciones empresariales -basadas en la web o no- y móviles).

La lista también está siendo debatida en Javalobby quienes han propuesto su lista por las que Ruby sucks ass.

Sin comentarios…

10 Comentarios | deja el tuyo

10 Comentarios en “10 razones por las que Java apesta”

  1. Matías dice:

    Jaja, muy buenas razones.

  2. odioajava dice:

    pos si que parecen tontas las razones, pero la verdad es q java apesta!!!

  3. odioajava dice:

    y eso de que no tenga goto???? que os parece??? no se si lo pone xq no me he leido todas las razones xD

    enganano

  4. Gerardo Alfonso dice:

    Todas las razones son validas …

    Java es la c@g@d@ !!!

    Python y Ruby son la salida … primero Python, despues Ruby, en ese orden :)

  5. Elver Gonzalez dice:

    Habia leido p3nd3j@d@$ ¿pero esto? es una reverenda estupidez que Java no tiene a David Heinemeier Hansson, ¿eso que? ni es un argumento válido, es solo lo que escribe un tipo traumado que no aprendio Java.

  6. egocripta dice:

    Las razones expuestas son débiles, es cierto… no obstante ello, java APESTA de todos modos!!!!!

  7. Roberto dice:

    Lo unico cierto es la lentitud. “Java es la raiz de todos males”. Es decir en windows si corres un programa hecho en JAVA corrres el riesgo de que tu maquina colapse constamente.
    Simplemente JAVA no esta hecho para aprovechar eficientemente a Windows, por ello da miedo ver un programa hecho en JAVA para Windows, pero ni modo a veces hay que utilizarlos.
    Es lo malo de que quieran usar JAVA para todo.

  8. Merol dice:

    No mames, Roberto, como que Java no esta hecho para aprovechar a Windows, es la mamada mas grande que eh visto. Falta que te pongas a defender a C# y toda la .NET

    En lo personal Java me encanta

  9. Roberto dice:

    Es la verdad. Java corre sobre una maquina virtual. Eso le agrega sobrecarga al sistema. Las instrucciones de Java al compilarse no se transforman en codigo fuente de maquina, sino en codigo que es traducido por una aplicacion al momento de correrlo. Es decir hay una capa entre la aplicacion de Java y el SO. Cualquier inexperto en programacion lo sabe.
    Por ello Java al ejecutarse es mas lento. Y lo digo por experiencia, las aplicaciones hechas en Java se ciclan con facilidad en un ambiente Windows.
    Sera muy bonito para programar (que tambien lo dudo) pero eficiente no es.

  10. Juan dice:

    dices que 2 hay dos millones de programadores java … jaja pero hay el 5tuple de programadores .net ahora donde hay mas cantidad de tontos!!!

¡Déjanos tu comentario!