lunes, abril 21, 2008

Para donde va la micro: ¿En qué me especializo?

Respondiéndole a Malw Dark, en relación a que lenguajes escoger para especializarnos debo decir que no es precisamente un tema simple. Esto es ya que el mercado de la informática tiene períodos erráticos donde muchos piensan en la muerte de este o aquel lenguaje.

Sin embargo mi respuesta natural a la pregunta es una sola:
Aprendan y especialízence en JAVA

Mis argumentos van básicamente sobre una cosa de mercado. Java ha demostrado ser un lenguaje sólido, tanto técnico, práctico como formalmente, su penetración en el campo de las TI es no despreciable y tienes algo cuyo valor agregado supera a todos los demás lenguajes: Al funcionar sobre máquinas virtuales es multiplataforma. No se vuelve necesario reescribir o recompilar el código para cada sistema operativo o cada máquina en la que quieras usar tu programa.

Muchos dirán que precisamente el hecho que la característica de ser multiplataforma de Java sea basado en máquinas virtuales hace que Java sea un lenguaje lento y pesado.
  • Lento: Cada benchmark dependerá de quien lo haga. Yo he conseguido excelente resultados para operaciones muy pesadas. He logrado optimizaciones increibles usando rutinas de la librería Javalution, así que debo discrepar. Probablemente en un 386 las rutinas en Assambler muestren un rendimiento insuperable, pero seamos realistas. La idea es demostrar que nuestra mejor solución es precisamente mejor en nuestro contexto.
  • Pesado: Evidentemente más pesado que Assambler, pero no más que C (consideremos la cantidad de librerías que necesitamos para hacer cualquier cosa), para que hablar del infierno de DLLs y dependencias de cualquier Visual .
    .NET , claro, el framework pesa tanto como la JRE de Java, que por lo demás cada vez es más liviana.
Tengo como rebatir casi cualquier argumento.

Pero como casi todo lenguaje, por si solo no es mucho tampoco. Se vuelven indispensables hoy en día conocimientos avanzados en HTML, Javascript (de hecho miren las librerías de JQuery), SQL y XML (idealmente con XSL).


La especialización se vuelve cada vez más atractiva para los empleadores, quieren tener expertos, lamentablemente buscan el experto en TODO y que además les cobre barato. Háganse valer, profesionales mediocres sobran, pero de los buenos hay pocos.


Muchos hubieran agregado Ruby y Python. Si bien es cierto son lenguajes robustos y muy poderosos, la realidad del mercado informático chileno apunta hacia Java. Cada cual en su propio país puede darse cuenta hacia donde va el mercado.


PHP, ASP, ASPX y lenguajes para web son algo por lo que todos debiéramos pasar. El problema es que en términos prácticos no aplicas casi nada de lo que has aprendido, modelamiento, programación estructurada u orientada a objetos. Salvo muy curiosas y raras prácticas que debo confesar no haber visto de manera cercana, los lenguajes para web son enemigos de los desarrollos bien hechos. Hay que conocerlos y dominar sus aspectos clave, pero no necesariamente convertirlos en nuestra especialidad.
No agregue JSP, pués lo considero incluido en Java.


Yo digo Java, vean ustedes que les dice una vista al mercado.
Espero que mi respuesta les dé una buena idea. Y como esto parece que funcionara sigamos con las preguntas.

lunes, abril 14, 2008

Hagamos que la rueda gire

Estaba pensando en como movilizar este blog y hacerlo un poco más dinámico (en vista de mi falta de tiempo e inspiración), así que, honorables lectores, les propongo algo.

¿Qué les parece hacer el ejercicio donde me hacen una consulta y yo genero un artículo respondiéndola?

Obviamente lo haré según mis experiencia en dicha materia.
Considero que es una buena manera de hace que la rueda empiece a moverse.

Aunque no lo crean: No he abandonado

Si, a pesar de no actualizar los contenidos desde el 2006(!!!) no he abandonado la idea de escribir este libro.

Tienen que imaginar lo complicado que resulta encontrar la inspiración cuando se dispone de tiempo limitado. El mismo trabajo donde me desempeño, las obligaciones en el hogar y el mismo tiempo libre del que dispongo son a veces limitantes para este tipo de proyectos. Eso, sin contar otros proyectos que tengo pendientes.

No pierdan la esperanza, este blog no está muerto y mucho menos abandonado, simplemente está dormido, esperando despertar.