Los lenguajes de la web, resumen y materiales

El pasado viernes 13 de abril estuve en la UAM hablando de otros lenguajes de programación y marcado que podemos encontrar en la web dentro del marco de las Jornadas de desarrollo web 2012.

La web no deja de ser una inmensa torre de babel, con muchos lenguajes y mucha gente que programan desde CGIs hasta aplicaciones en Rails, y es bastante útil conocer qué tecnologías y qué lenguajes mueven la web hoy.

Dejando de un lado los pesos pesados como PHP, Java EE o .NET, que (bajo mi opinión) debería de ser obligatorio su conocimiento a gran escala en la carrera de informática, en la charla me centré en algunos menos conocidos pero a su vez muy usados: Ruby, Python, Javascript y Scala:

Javascript, el lenguaje que nos permite hacer páginas bonitas, y que no tiene nada que ver con Java, tiene además una versión de lado de servidor llamada node que permite hacer acciones como servir una web evitando el coste de generar un nuevo proceso. Soporta de una mejor manera la concurrencia y podemos usarlo para procesos con un alto grado de interacción (como un sistema de chat).

Python, la navaja suiza, un poco más a alto nivel que la BASH de unix y más a bajo nivel que un lenguaje de programación tradicional, permite hacernos nuestras utilidades para el procesamiento de información. Es un lenguaje de programación multiparadigma, que permite usar programación estructurada, funcional u orientada a objetos, dependiendo del tipo de proyecto. Permite, además, el uso de varias bibliotecas matemáticas, así que para aplicaciones científicas en base web, es nuestra herramienta.

Ruby, un lenguaje mágico, con un elevado nivel abstracción, se ha ganado un puesto entre los grandes por la facilidad de su aprendizaje, por su sistema de gestión de paquetes llamados gemas, y por frameworks como Sinatra o Rails, que permiten el desarrollo rápido de aplicaciones (o RAD).

Scala, feo, funcional, e increiblemente potente, tiene una curva de aprendizaje considerablemente mayor que los otros lenguajes vistos, pero sin embargo, la compensa con la posibilidad de interactuar con clases de Java (ya que se ejecuta sobre la JVM) y con un rendimiento muy bueno para análisis de datos (por ello lo usan en Twitter para manejar el tráfico constante de información que tienen).

Como aparte, vimos un par de lenguajes de marcado, Haml, que permite sustituir el html por una manera más simple de definir las marcas, y Razor, que hace todo lo contrario, aprovechar el HTML que tenemos (estático) e introducir la información dinámica de manera poco invasiva.

Cerramos la charla hablando de JSON, por qué es popular, y cómo se diferencia de XML en la transmisión de datos, como se puede ver en los siguientes ejemplos usando la API de Twitter:

Aquí dejo la presentación original: