Java, diversidad de lenguajes y Ranking de lenguajes de programación
Despues de muchos meses vuelvo ... a escribir un post...
Hace unos días escuchava una afirmación curiosa: "es que esto del Java esta en desuso con los nuevos lenguajes de programación sobre la máquina virtual".
Navegando por internet, llegué a un ranking de usos de lenguajes de programación y quería compartir el link (así lo encontraré yo también en el futuro)
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Voy a decir una cosa seguramente políticamente incorrecta:
Creo que no se acaba de entender el mundo de la programación. Estamos como leemings dando tumbos de un lado para otro deslumbrados por las novedades de moda. En vez de adquirir conocimientos en profundidad, la gente se obsesiona por cogerlos en amplitud picoteando incansablemente: me explico...
Para hacer una aplicación (web en el mundo java) hace falta saber (solo a modo de ejemplo y podría valer cualquier otra opción):
- El lenguaje (con las novedades que tiene): Anotaciones, patrones miles de librerías.
- Framewoks de presentación: XML, JSP, tags, JSF, ICEFaces, Facelets.
- Frameworks de Persistencia y cache: OsCache, Hibernate, etc.
- Otros frameworks y librerias: Spring, ORO, OSWorkflow,JFreeChart, JMx, etc.
- Herramientas: iReport, JasperReport, jFreeChart
- Servidores de aplicaciones y tecnicas de configuración despliegue.
- Base de datos y su optimización.
- Herramientas de desarrollo, pruebas, optimización: Svn, Maven, Eclipse, Jmeter, FindBugs, SeleniumHQ, etc.
Ya hace falta una vida para aprender tantas cosas.
Ahora si resulta que de cada uno de ellos hay unas cuantas opciones ¿cómo podemos ser sensatos y productivos si no tomamos decisiones y apostamos por la profundidad de conocimiento y no por la amplitud?
Para mi es absurdo cambiarme de Java a Groovy o scala porque sí. Si mi cliente quiere ese lenguaje lo usaré porque es el que manda y paga pero ¿tiene realmente sentido ser aprendices de tantas cosas y maestros de tan pocas?
Claro está que esto tiene una validadez temporal... si en el ranking scala (por poer uno) ocupase el número 1 o 2 lo mismo hay que pensarselo.
Tambien podemos pensar de un modo distinto.... si me meto pronto en esto ... lo mismo se crea un nicho dondo hay tajada y te puedes diferenicar de los demás al menos temporalmente.
