August 2nd, 2007

Java/J2EE, la gran mentira de la Web

Leyendo el artículo PROgramadores, trozos de carne y otros Beans, me encuentro con la siguiente frase:

Desde la universidad nos han comido el cerebro a Informáticos, telecos, ingenieros y demás profesionales con la idea de que dominando Java dominaremos el mundo. Señoras y señores, en 6 años de experiencia me he encontrado con muy pocos proyectos, tal vez uno o tal vez 2 que justifiquen un desarrollo con un super mega framework de Java con persistencia persistentes, operaciones ultra transaccionales y demás buzzwords con los que ciertos sectores javeros se llenan la boca. El programador se junta con un galimatías en forma de requisitos, diagramas, componentes que necesita de un equipo de analistas, gente de sistemas, desarrolladores y una granja de máquinas mayor que las del ESNIC. Hay cosas que son mucho más sencillas con lenguajes tan simples y chabacanos como Python, PHP, Perl, Ruby… y no por ello dejan de ser escalables, persistentes, transaccionales

Cuanta razón, sobre todo en los últimos puntos. Se insiste todo el tiempo en elegir Java, o .Net, porque son mejores, mas seguros, escalables, evolucionados, y para esto se esgrimen millones de razones, opiniones de expertos, estudios de esto y de aquello…y sin embargo me pregunto, ¿no será desconocimiento de las opciones que existen y las ventajas de una sobre otra?.

En lo personal he trabajado en 4 proyectos grandes, JAVA/J2EE y todo lo que quieran, y la verdad, pensándolo bien, no encuentro problemas en haberlos hecho usando PHP, Ruby, Perl o similares. Y quien me venga a hablar de performance, seguridad y otras yerbas, haga el siguiente ejercicio:

  1. Hacer una lista de los 10 sitios web más usados del mundo
  2. Tachar los que no usen JAVA o .NET

¿Con cuantos se quedan?

9 Comments Add your own

  • Gabriel C | August 13th, 2007 at 17:30


    Bueno, hay que ver de que clase de aplicaciones se esta hablando. Creo que cuanto mas complejo el proceso y el ambiente, lenguajes (con frameworks) como Java y .NET creo que funcionan mejor que Perl, Ruby, etc.
    Varios de los proyectos en los que he estado no hubieran sido para nada facil hacerlos en PHP o Ruby/Rails. Ademas, los lenguajes dinamicos tienden a funcionar mejor en equipos de desarrollo pequeños…
    De todos modos, creo que cada tecnologia tiene su nicho y el uso de cada una tiene que estar justificado tecnicamente y por el negocio que soporta :-)

  • pviojo | August 13th, 2007 at 17:41


    Me refiero a aplicaciones como las siguientes, que no usan ni Java ni .NET

    O estas otras que si usan Java o .NET

    Mas de uno dirá que no se trata de aplicaciones “serias”, bue…la verdad yo no lo diría…

  • Ignacio | August 13th, 2007 at 21:43


    Java te ofrece flexibilidad. Con java se puede hacer desde una aplicación web, una aplicación de escritorio, aplicaciones para dispositivos móviles, aplicaciones que necesiten visualización en 3D y mucho más. Java me parece a mí la mejor opción para desarrollar el sistema de una empresa, porque permite tener todo lo que necesite la empresa integrado uniformemente bajo una misma plataforma.

    Si yo tuviera que elegir un lenguaje para una página web personal eligiría PHP, porque es el lenguaje más soportado por proveedores de hosting, y por lo tanto se encuentran mejores ofertas.

    Se trata de elegir la mejor herramienta para el problema a resolver.

    En cuanto a esta frase:

    “El programador se junta con un galimatías en forma de requisitos, diagramas, componentes que necesita de un equipo de analistas”

    Eso es cuestión de qué tan mantenible se quiere que sea un sistema. Hay que tener en cuenta que un sitio desarrollado en PHP también puede complicarse con diagramas y componentes si se quiere lograr un alto grado de mantenibilidad, así como también hay que tener en cuenta que se puede programar en Java un sitio usando sólo páginas JSP y quedaría tan sencillo como cualquier sitio en PHP.

    En cuanto a performance no tengo cifras como para dar una opinión, pero no creo que la diferencia sea mucha entre PHP y Java, lo que sí, se pierde performance siempre que se agreguen capas y componentes, pero eso es un tema de diseño que aplica a ambas plataformas como ya dije, y se trata de balancear si lo que se busca es performance o mantenibilidad.

    Saludos.

  • Gabriel C | August 14th, 2007 at 11:18


    Pablo, muy interesante los links. Para nada diria que esas aplicaciones no son serias. Pero si te fijas, son aplicaciones web “end-user”, masivas, con funcionalidad no muy compleja, poca necesidad de integracion (excepto via web), y altisimos requerimientos de performance. Si fuera a desarrollar un sitio asi, seguramente elegiria LAMRuby (tal vez no lo MAS “performante”, pero muy facil de desarrollar). Ahora, para una empresa, las cosas son mas complejas: tienen que soportar un workflow, interactuar con otros sistemas, a veces hay requerimientos legales, etc., y sobre todo apoyar el negocio y evolucionar con el (ja, toy marketinero hoy). En esos casos, java y .net se adecuan mejor, y me animaria a decir que es el 80% o mas de los casos (claro, no tan glamorosos).
    Puede haber un desconocimiento de las herramientas.
    En general, los desarrolladores nos enamoramos de una tecnologia y tendemos a complicar las cosas mas de lo necesario (y java esta pintado para eso: es complicado y se puede usar para casi todo), pero dudo que java y .net califiquen como “la gran mentira… si incluso a java le dicen “el sucesor de COBOL” (si, es bueno y malo.. jeje)!

  • pviojo | August 14th, 2007 at 19:09


    Estamos de acuerdo, muy de acuerdo, sobre todo en lo que tiene que ver con integración, workflows, etc. Sin embargo el comentario del artículo apunta a aplicaciones netamente “web”, normalmente sistemas de gestión, que por sus definiciones no están afectos a los puntos que señalas, de ahi que el titulo se refiera a “Java/J2EE, la gran mentira de la Web”. Por lo demas ni que hablar que Java es super fuerte, y con algunas ventajas sobre .NET, pero bueno, no “calza” bien en el ambiente web.

  • pviojo | August 14th, 2007 at 19:11


    y sobre todo apoyar el negocio y evolucionar con el

    …jeje, es un frase bonita, y con mucho gancho para el área comercial. La realidad normalmente es muy diferente…aunque claro también muy buena para el área comercial ;)

  • Gabriel C. | August 14th, 2007 at 22:21


    Perdon por la frase, a veces me salta el chanta :-)
    penitencia.rb
    100.times {
    puts “Mas programacion y menos marketing”
    }

    En el fondo, Java es como un “Borg” que asimila todo: Ruby esta bueno? Hacemos Groovy… con Rails se desarrolla rapido? le metemos Groovy on Grails a la JVM.
    Las “closures” estan de moda? Closures para Java tambien… al final dominando Java, se puede dominar el mundo nomas… :-D

  • Antonio | October 4th, 2007 at 16:10


    Chupen*******, no tienen idea

  • pviojo | October 4th, 2007 at 16:24


    Buen comentario…errr. Te tendré en cuenta a la hora de pedir consejos

  • Leave a Reply

    XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

    (required)

    (required)

About

Mi nombre es Pablo Viojo y tengo 26 años. Nací en el Uruguay el 7 de agosto de 1981. Actualmente vivo en Santiago, Chile

Aparte de esto me interesa todo lo que tenga que ver con Internet y las nuevas tecnologías. Más info aquí, mi hCard, en formato FOAF

View Pablo Viojo's profile on LinkedIn



Recent Comments

Pages

Feeds

Posts by tags

Posts by month