Tag Archives: Programación

Lenguajes, estadísticas y tonterías

Hay muchas maneras de conocer la popularidad de un lenguaje de programación, o una tecnología en particular. Me encantan este tipo de historias a pesar de su dudosa fiabilidad, al menos cuando se toman sus valores absolutos, sin una interpretación detrás. Me entretengo más que un tonto con un lápiz con servicios de este tipo. Hay unos cuantos, comentaré los que conozco y más útiles pueden resultar:

  • El abusurdo índice Tiobe (que cada vez me lo creo menos).
  • Google Trends, el cual puede ser usado para cualquier cosa en general, aunque es difícil de usar pues muchas veces términos de lenguajes o tecnologías significan algo más en el mundo real (Java es una isla y un tipo de café, ruby es una piedra preciosa, python es una serpiente o una referencia a los Monty Python, etc…).
  • Indeed.com sitio web estadounidense de búsqueda de empleo que ofrece un servicio de tendencias en los trabajos, tanto por valores absolutos como relativos. El más simple y potente de usar.

Jugando un poco, me he encontrado con gráficos bastante curiosos. Nadie duda que en estos momentos Java es lo más usado, pero creo que tampoco nadie dudará en que estamos ante un auge de los lenguajes dinámicos. Veamos datos absolutos:
Java, perl, php, python, ruby chart absolutes values
La primera posición de Java no sorprende, la segunda de perl, a mi al menos, tampoco; luego tenemos php por encima de python y ruby. Los datos son bastante usuales. Recordemos que estamos antes tendencias de ofertas de trabajo, es decir el uso de lenguajes en el mundo empresarial. Pero ahora veamos sus valores relativos (es decir, su crecimiento y tendencia).

Por la gráfica anterior, podemos deducir que los valores de Java y Perl son prácticamente iguales en el tiempo, sinónimo de su madurez, pero ¿qué pasa con php, python y ruby?:
Java, perl, php, python, ruby chart relatives values
¿De quién es esa línea que va por el 550%? Ruby. Curiosa situación, quizá el apoyo de Sun tenga algo que ver en todo esto. Quizá…

The Pragmatic Programmer

The pragmatic programmerThe Pragmatic Programmer es un conocido libro sobre ingeniería del software que dio comienzo a una serie de libros con planteamientos similares, para programadores pragmáticos.

El libro se mueve en torno a una serie de consejos, ideas y observaciones para desarrolladores. Toca prácticamente todos los puntos en el trabajo diario de un programador, desde las herramientas a usar a cómo implementar incuso cómo actuar y pensar. A decir verdad, muchos capítulos podrían aplicarse a cualquier otra labor y son bastante genéricos.

Al final del libro viene una chuleta con todos los tips que se han ido mencionando, muy curiosa. La mayoría de ellos son bastante razonables, como “Always design for concurrency“, otros son interesantes y sorprendentes, “English is just a programming language”; pero la mayoría son tópicos que cualquiera con un mínimo de experiencia conocerá, “DRY“, “Think about your work“, pero que no viene mal verlos en escrito una vez más.

En general es un libro realmente bueno, y que cualquiera que le guste leer libros técnicos, debería tener en su lista, pues además es muy corto (quitando anexos, poco más de 200pag., letra gorda y fácil lectura). No es un libro donde aprendas cosas concretas, lo definiría más bien como una forma de dialogar sobre el desarrollo y la programación, algo bastante divertido :), aunque en este caso el diálogo es unidireccional de los autores hacia ti, suficiente.

Su principal problema es su extensión, se queda corto, muy corto. No entra en profundidad en ningún aspecto, simplemente estamos dialogando sobre temas. Y en aquellos donde dominas puede resultar incluso molesto (el capítulo sobre herramientas estuve a punto de saltarlo y eso que odio no leer los libros linealmente) puesto que no puedes participar en dicho diálogo. Además la mayoría de temas que trata suelen ser cosas que ya conocerás, pero nunca está de más saber el punto de vista de otro, ¿no crees?.

Lo mejor del libro es que a pesar de que la mayoría de las cosas ya las sabrás, en determinados puntos el autor te sorprende con algo que no esperabas que dijera (seguramente estas “sorpresas” son bastante subjetivas y dependientes del lector), solo por esto, ya lo recomiendo.

Es, en definitiva, un libro sobre filosofía que toca, disimuladamente, temas de ingeniería del software.

Abstractions live longer than details

Tip #53