Ruby
¿Existe algún lenguaje de programación que sea didáctico y al mismo tiempo práctico? A lo largo de los años he descubierto algunos. No resulta fácil, por cierto, y el motivo es que, por lo general, los lenguajes más didácticos son precisamente los menos conocidos. Parece existir una regla universal no escrita que dice que los lenguajes más raros, menos naturales y menos elegantes son precisamente los más utilizados, los más nombrados. Los mainstream, como dirían los ingleses.
Un lenguaje de programación didáctico debe ser:
De entre todos los lenguajes (que tampoco son muchos) que cumplen tales requisitos, mi favorito es Ruby. Todo aquel interesado debería visitar su página principal, así como la página del grupo Rubies (la comunidad hispana del lenguaje Ruby). En todo caso, sus características más interesantes de cara a su utilización como primer lenguaje son:
En el próximo envío veremos algunos ejemplos de por qué Ruby es el candidato perfecto para nuestros propósitos.
Un lenguaje de programación didáctico debe ser:
- fácil de aprender (es evidente)
- potente (capaz de hacer de todo con muy poco código)
- elegante (claro, que se entienda a la primera)
- expresivo (que el código exprese su significado de manera natural)
- ortogonal (que todo funcione donde se supone que deba funcionar)
De entre todos los lenguajes (que tampoco son muchos) que cumplen tales requisitos, mi favorito es Ruby. Todo aquel interesado debería visitar su página principal, así como la página del grupo Rubies (la comunidad hispana del lenguaje Ruby). En todo caso, sus características más interesantes de cara a su utilización como primer lenguaje son:
- Es un lenguaje moderno y evolutivo: nació en 1995 y es mejorado cada día.
- Es un lenguaje orientado a objetos puro: en Ruby todo son objetos, incluyendo los datos básicos como el número 5 o la cadena "hola". No existen dos modos de trabajo (tipos y clases) como en Java o C++.
- Es un lenguaje dinámico: no hay necesidad de declarar las variables y sus tipos.
- Es un lenguaje fuertemente tipado: los objetos son instancias de una determinada clase (siempre conocida), y sobre ellos se pueden aplicar tan sólo una serie de operaciones bien definidas por sus clases (por tanto, sólo responden a determinados mensajes, siempre bien conocidos).
- Es un lenguaje interpretado: los programas no se compilan, por lo que se acorta el ciclo clásico de «edición - compilación - enlace - ejecución». Además, se puede acceder directamente al intérprete en modo interactivo.
- Tiene una sintaxis sencilla: heredada de otros lenguajes extraordinarios como Eiffel, pero al mismo tiempo compatible en cierta forma con la de otros más conocidos como C.
- Es un lenguaje real: Ruby se utiliza para resolver todo tipo de problemas, pero es particularmente interesante en el tratamiento de cadenas y la administración de sistemas. Además, recientemente ha sufrido una explosión de popularidad gracias a la plataforma de desarrollo web Ruby on Rails, que ha supuesto un fuerte shock entre todos los desarrolladores de aplicaciones para Internet, y que ha dado lugar a imitadores basados en otros lenguajes (como el proyecto Django para Python).
En el próximo envío veremos algunos ejemplos de por qué Ruby es el candidato perfecto para nuestros propósitos.