Porque odio a java (como programador y usuario)

Los que me conocen saben que siempre he ‘odiado’ Java, pero no es un ‘odio’ sin motivos, tengo mis razones que voy a enumerar, corriendo el riesgo de herir susceptibilidades de quienes les guste dicho lenguaje y sin intención alguna de entrar en discusiones estériles sobre cuál lenguaje es mejor. Obviamente Java es más que un lenguaje y es poderoso para entornos empresariales y móviles, sin embargo, sigue sin gustarme por las razones que enumero debajo (totalmente cuestionables, pero mías al fin).

Odio Java: 

  1. Por su sintaxis innecesariamente compleja (Hola Mundo en Java vs. Hola mundo en Ruby)

  2. Por su tediosa estructura de librerías ( import sun.java.sucks.sometimes.*; )

  3. Por sus lentos e inútiles ‘applets’ (afortunadamente en desuso)

  4. Por su lentitud a la hora de ejecutar las aplicaciones (aunque ha mejorado con el tiempo). Por eso lo llamo «YA-va»

  5. Porque sin la ‘bendita’ máquina virtual su portabilidad no existe. (Y si no tengo la JVM a mano?),  a manera de ejemplo: en donde trabajo (renault pachuca) la instalacion de su sistema de informacion de notas tecnicas y manuales asi como de catalogos exige aprox. 50 Gb. y debo dejar cargando el bendito dialogys programado en ya-va por supuesto y mientras desayuno, cambio las cintas de respaldo y esporadicamente checo las versiones del antivirus y voy luego de 30 min a ver si «ya» cargo completamente el sistema, ahora que si apostamos por la «portabilidad» a un defensor de ya-va me puedo reir en su cara como jajajaja a pesar de estar en java, y correr si y solo si la maldita jvm esta instalada….no es posible instalarlo en linux ni mac! porque? bueno porque el instalador y las clases personalizadas estan diseñadas para trabajar junto con las bonitas «DLL`s» de Windows….lo cual pone en entredicho su «absoluta portabilidad»..jeje

  6. Por su lenta curva de aprendizaje, que demanda horas y horas de lectura para aprender a programar bien, ademas de dinero, hombre no olvidemos todo el dinero que se debe invertir en cursos, talleres, conferencias, derechos de examennes, certificaciones….para que al final se den cuenta de que java no es el lenguaje absoluto para todo lo que necesita su empresa, y que tristemente tienen que acaber en escuelas enseñando ese lenguaje para el cual pagaron por «aprender» (no dice sun que java es «free for everyone»???) jajaja. 

  7. Porque NO es adecuado para el desarrollo web (RoR es libre, más fácil, menos líneas de código, desarrollo rápido real sin contar que no intentamos hacer etiquetas Xml complejas, en lugar de un simple widget, con java te llevas muchas mas lineas de codigo)

  8. Porque NO es GPL (El lenguaje es GPL pero no las librerías necesarias para correr los programas).

  9. Por la obsesión de llamarlo todo con J (Java, JVM, JRE, JME, JSE, JDK, JBoss, J2EE, J2ME .. ) lo cual confunde, sin necesidad.

  10. Porque si decides usar Java, tendrás tantas cosas que aprender,(sin contar el dinero que gastarás en cursos, certificaciones etc..) que no tendrás tiempo de aprender ningún otro lenguaje.

Y aparentemente, no soy el único que piensa que Java no es el lenguaje ideal ni la 8va maravilla..

Robert B.K. Dewar y Edmond Schonberg, dos eminencias de la universidad de New York, consideran que la mediocridad de los nuevos ingenieros está directamente relacionada con la enseñanza de Java como primer lenguaje de programación.
«El conjunto de habilidades (de nuestras actuales prácticas educacionales) es insuficiente para la industria de software de hoy en día (en particular para propósitos de seguridad) (…)
«Los cursos de programación de Java no preparan a nuestros estudiantes para el primer curso en sistemas, mucho menos para otros más avanzados» (
Vivalinux.com.ar)

Mi consejo para quienes aprenden a programar es que aprendan a usar un lenguaje de verdad verdad (C, Ruby, Perl, Python son buenos ejemplos, si no preguntele a alex y al canibal).. Luego lo demás será coser y cantar puesto que un buen programador, programa en cualquier lenguaje, en cualquier plataforma.
 
 
 
Por cierto,respondo punto por punto a las prncipales «razones» de mi profe (acerrimo defensor de java) quizas por toda la lana invertida para su ceertificacion..suaveee.jeje 
1. Cuando digo “tediosa estructura de librerias”, que no entiende? “tediosa”, “estructura” o “librería” ?
2. De nada sirve un “applet” que haga café y me lave la ropa si debo esperar 3 horas a que cargue.
3. Ha desarrollado usando Ruby on Rails? (si lo hubieras hecho, ni compararía)
4. Ebay usa Java. Google usa Python. Quién tiene más visitas?
5. Ruby es lento? Ha usado Ruby? Python? C++? (El problema no es que sea interpretado, Java es lento por otras razones varias de que sirve que sea compilado si necesita todas sus clases en el mismo directorio y una maquina virtual que «interpreta» su archivo main.class, ja no venga con eso).
6. Es GPL? el 100% ? Está seguro? Respuesta definitiva? Ser GPL sólo lo convierte (para mí) en un pupú GPL.
7. Léea “El Paradigma”. Luego hablamos sobre nombres de aplicaciones. (Aquí Microsoft es el maestro)
8. Si le da tiempo de aprender otras cosas, preocúpese, es que no esta aprendiendo Java a fondo xDDDDDDDDDDDDD

y bueno, como un simple y normal usuario, puedo decir que si de podre y velocidad visual basic es un deportivo a lado de java, y vean porque:

«java es uno de mis más detestados. En estricto rigor, no debería estar acá si nos estuviésemos refiriendo a aplicaciones, pero estoy considerando software en un sentido amplio. Por otra parte, dado que no soy programador —por lo que no podría rescatar lo maravilloso que es Java como lenguaje— opino de él como usuario de aplicaciones escritas en Java… o más bien, como ex-usuario de ellas, ya que para cada una de ellas he tratado de buscar alternativas: por ejemplo terminé reemplazando Azureus por BitComet. Claro, Azureus es excelente, pero demora una eternidad en cargar, la cantidad de memoria que utiliza es enorme. Estas dos características son una constante en toda aplicación escrita en Java que he visto (incluyendo applets, que a todo esto cada día se ven menos), razón suficiente para entrar en mi lista.» y que conste que eso lo dijo una persona no muy relacionada con los lenguajes de programacion ni nada por el estilo, finalmente espero que les haya gustado a los Javeros, pues ni pex pero es la neta mmmm espero que el Ing. Marco antonio no lea esto

y me despido con este chiste jaja:

¿Cómo se puede desarrollar un potente virus en Java, que acabe con la memoria, consuma todos los recursos disponibles y ponga al ordenador a funcionar más lento que el fotingo de Don Domingo?

Respuesta:

static void main( String[] args)
{
System.out.println(«Hello world!»);

17 respuestas to “Porque odio a java (como programador y usuario)”

  1. por tu lectura se ve que no sabes nada de Java amigo…
    saludos

  2. pues google usa c, phyton y java 😉

  3. payaso, no eres programador pero si criticas, eso es como no ser nadador pero criticar a los nadadores olimpicos.

  4. En python sería

    print ‘Hola mundo’

  5. Está claro que lo tuyo no es la crítica de lenguajes de programación.

    Por un lado pones en entredicho la portabilidad de JAVA por que necesita de una máquina virtual. Ya me dirás como piensas ejecutar una misma aplicación en cualquier sistema operativo sin una máquina virtual por medio.

    Java no es lento; evidentemente no es C ni C++; pero C++ tampoco es tan rápido como lenguaje ensamblador… Java ha mejorado muchísimo en este aspecto, estando en desarrollo el acceso DIRECTO al hardware de la máquina.

    Hablas maravillas de Ruby por su facilidad de aprendizaje y todo eso. Yo he aprendido Java y no me ha costado ni un sólo euro, dolar o la moneda que quieras. No necesito certificaciones ni máster ni nada para trabajar con éste lenguaje. Es una crítica poco fundamentada, la verdad. La sintaxis hereda directamente de C++, lenguaje universal junto a C.

    El hola mundo en java es muy simple: system.out.println(«Hola Mundo»);
    El resto del código (nombre de la clase y función main) me la genera el IDE automáticamente cuando creo una clase. Ahora dime, yo en JAVA tengo Hibernate, Struts, Spring, OpenCms…. busca algo que llegue a ese nivel en otros lenguajes.

    ¿qué tiene de malo que Sun le anteponga la J a todos sus productos relacionados con JAVA? Es una forma muy intuitiva de asociar diferentes herramientas.

    La estructura de paquetes es lo mejor que puedes hacer para organizar tus clases. Si no, ya me dirás como lo organizarías tu. Seguramente echarías todas las librerias en un mismo saco…. muy ordenado, sí señor.

    No entiendo qué aplicación tenéis instalada en tu lugar del curro. Pero desde luego si necesita usar DLL’s de Windows y habéis metido JAVA es que el tío que ha diseñado la solución para vuestra empresa no es un lumbreras. Java no depende de ninguna DLL de Windows; y cualquier aplicación que hagas puedes utilizarla en cualquier máquina virtual de JAVA. (Salvo la realizada para móviles, j2me)

    Por último, por terminar, yo he aprendido JAVA, PHP, C, C++, Pascal, .Net, Delphi, Perl y seguro que me dejo alguno. Y como ves he tenido tiempo de aprenderlos todos. Evidentemente, no lo sé todo de ninguno de ellos, pero eso pasa con cualquier lenguaje que te eches a la espalda.

    Lo mejor de JAVA, su increible API. Insuperable a día de hoy.

  6. El chavo Says:

    Java realmente apesta. De no ser por el apoyo comercial de las grandes empre$a$, no estaria donde esta..

  7. Creo que yaaa-vaaa, es estúpidamente revuelto, es lento, y ODIOSO; pero igual creo que es efectivo y muuy amplio, quiere abarcar muchas cosas ese tal ja-va.
    Con desprecio (para ja-va) me despido.

    Ah y tambien parece que si algunos lo defienden…es que trabajan en ja-va..brr

  8. Maritza Gaona Says:

    totalemente deacuerdo, claro que yo no solo tengo 10 razones tengo mil jajajajaja 🙂

  9. Menuda mierda de razones. Pringao.

  10. Java es algo complejo pero muy util!! si sabes usarlo. se me a hecho muy dificil aprenderlo…

  11. Francisco Says:

    Por fin alguien con cerebro. Java es una reverenda cagada, es una mierda. La verdad.. un atraso en la informática. Lástima por el ignorante de mexman…

  12. fernando morales Says:

    Yo les puedo contar de mis experiencias en JAVA, he evaluado Ruby, PHP, JAVA , visual basic, C++ y decir cual lenguaje es mejor es muy ambiguo. La respuesta seria «depende para que lo quieras o lo necesites». Si yo voy a hacer una palicacion muy sencilla en web pues me pordia inclinar por PHP o ruby. Pero si requiero de un manejo mas complicado en donde mi logica del negocio tiene un nivel de complejidad mayor yo me incilnaria por JAVA o C++ . JAVA si ustedes lo usan con tecnologias WEB se vuelve muy poderoso y la programacion no se complica tanto. ejemplo: Freemarker para separar la presentacion en WEB del contenido en JAVA.
    Eso de ser lento tambien es ambiguo porque depende mucho de si la programacion esta optimizada o no y de tu capacidad de proceso de la maquina donde corra. Pero si tu usas JAVA desarrollando aplicaciones WEB (ojo no applets) trabaja muy bien y optimiza recursos.

    Por ahi lei en internet que Twitter esta escrito en Ruby y sin embargo ya esta pensando migrarse debido a que ruby no optimiza del todo los recursos ya que es un lenguaje de 4 nivel y eso tiene un precio al contrario de los lenguajes de 3 nivel (los programadores sabran de que hablo) y si no me creen lean esto : http://techcrunch.com/2008/05/01/twitter-said-to-be-abandoning-ruby-on-rails/

  13. Saludos.
    Yo me manejo con C++ y java, java no me ha costado casi nada aprenderlo, pues ya sabía C++ antes. En cuanto a que dices que java es es lento, estoy de acuerdo en que java no es lo ideal(todavía) para hacer ciertas cosas como IDES y aplicaciones de escritorio(que las he visto), porque las cosas van lentas. Pero lo bueno que tiene el lenguaje es que es rapido hacer cosas, que en C++ te demorarías mas. En java se gana en rapidez para desarrollar, pero se pierde en velocidad de ejecucion.
    Los desarrolladores de java no les importa tanto que sean mas lentos sus programas, pues cada día que pasa se hacen procesadores mas rapidos y ellos cuentan con eso.

  14. A mi tampoco me gusta. Como programador, es excesivamente complejo. Eso lo puedo superar.
    Pero como usuario no soporto las nefastas aplicaciones java, que son casi las únicas que se me ciclan.
    Mi consejo: no usen java, a menos que apuesten a la portabilidad. Si van a hacer una aplicación solo para Windows, por favor, no usen java.

  15. theinzide Says:

    Tengo experiencia programando en diversos lenguajes ( C, c++, perl, python, ruby, php, java ), aunque cuando tengo que hacer una aplicación la escribo en C o en perl, pero cada cual con su lenguaje, aunque déjame decir que el lenguaje mas difícil que me ha tocado aprender fue java, no podía entender todas las funciones de entrada/salida y las sintaxis para invocarlas, ya que en otros lenguajes no se tenia que aprender muchas librerías (en C unas cuantas, pero en general solo stdio y stdlib, ya que uno pude hacerse las otras ).
    Si pones a java en comparación al tiempo de respuesta con un parámetro de ayuda demora 0.17x y luego corres en ruby 0.01x. Mira tu quien gana y tomando en cuenta que java corre el programa compilado, y en contrario con ruby que compila cuando corres la app; aunque haya corrido el parámetro de el cual despliega una ayuda de comandos, da una referencia a lo que se quiere decir.
    Pienso que en conclusión el uso de java solo esta ligado a su capacidad de ser multiplataforma y esta dirigido más a los dispositivos móviles que a las aplicaciones de escritorio. Java podría mejorar si el interprete fuese más rápido a la hora de correr una aplicación.

    (No intento criticar a nadie pero solo quería compartir mi opinión sobre java)

  16. Aquellos que dicen que Java es más portable y sencillo que Ruby es que no tienen idea de lo que hablan. Y no estoy de acuerdo con quienes no valoran la velocidad de ejecución de las aplicaciones, sobre todo aquellas que generan mucho tráfico, los recursos del servidor son muy costosos, si no fuera así el negocio de hosting hoy por hoy no estaría tan extendido. Mi conclusión: Java muy potente como plataforma, pero a costa de consumo excesivo de recursos en el servidor y una curva de aprendizaje que tiende al infinito.

  17. Efectivamente JAVA es una kk, tambien el paradigma OO, por eso fracasan los proyectos de informatica, por usar esas porquerias que hacen que las cosas faciles se vuelva complejas ….creia que el siguiente paso en el desarrollo de la informatica eran lenguajes de 5ta generacion, mas poderosos, mas rapidos, mas practicos, pero parece que NO HEMOS AVANZADO NADA

Replica a fernando morales Cancelar la respuesta