[MUSIC] Déjenme darles algunos conocimientos básicos acerca de Ruby, y Ruby and Rails. Hablaremos con más profundidad de esto en lecciones posteriores. Ruby es un lenguaje de programación multiparadigma que muchas personas encuentran muy fácil de utilizar. Lo encuentran intuitivo, extensible y seleccible. Y por multiparadigma, quiero decirque Ruby soporta programación orientada a objetos, programación funcional y se puede utilizar también como un lenguaje de scripts, es muy flexible. Ruby fue inventado por Yukihiro Matsumoto quien se hace llamar Matz. A mediados de la década de 1.990. Tenemos aquí una cita de Matz, quería un lenguajes de scripting que fuera más poderoso que Perl, y más orientado a objetos que Python, por eso decidí diseñar mi propio lenguaje. Matz desarrolló Ruby con un enfoque basado en el programador, en lugar de la máquina. El objetivo del diseño era maximizar la productividad del programador y no la eficiencia en tiempo de ejecución de sus programas. Para entender esto, por ejemplo, puede pensar en el lenguaje de programación C. Si estás familiarizado con él, sabrás que C fue diseñado con un enfoque en la eficiencia del programa y no en la la eficiencia del programador. Así es como solían hacer las cosas hace muchos años. Era mucho más importante la utilización de aquellos recursos informáticos, por lo que el lenguaje C se diseñó con todo tipo de construcciones de lenguajes que estaban destinados a la mejora del tiempo de ejecución del programa y al uso de la memoria. Lo que ha pasado con el tiempo, sin embargo, es que a medida que los procesadores y la memoria se han vuelto más rápidos y más baratos no hay restricciones en cuando a la potencia de procesamiento o memoria en la máquina. En la mayoría de las computadoras de hoy en día, por lo tanto, en lugar de perder el tiempo en la optimización de la velocidad del proceso del programa o de uso de la memoria, Ruby trata de hacer que el programador sea más eficiente. Es decir, Ruby tiene como objetivo, optimizar el tiempo de los programadores. Así que aquí tenemos una cita más de Matz, espero ver Ruby ayudar a todos los programadores de mundo para que sean productivos, que disfruten de la programación y que sean felices, este es el propósito principal del lenguaje Ruby. La filosofía que guió a Matz cuando diseñó Ruby, y que vemos continuamente en este lenguaje, es que Ruby está diseñado para que los programadores sean felices. Así que vamos a pasar un buen rato con él en este curso. Próximamente vamos a hablar del Rails. Rails fue construido utilizando el lenguaje de programación Ruby, Ruby admite una característica llamada metaprogramación. La metaprogramación se refiere a la capacidad de escribir programas que utilizan otros programas como sus datos. Es decir, Rails fue construido utilizando las capacidades de metaprogramación de Ruby, y eso en realidad es lo que se conoce como un lenguaje específico de dominio. Un lenguaje específico de dominio, es un lenguaje de programación diseñado para expresar soluciones a los programas en un dominio específico. Por esto, el dominio del Rails fue construido para trabajar con aplicaciones web. Básicamente se trata de un lenguaje de programación para aplicaciones web. Vamos a ver algunas de sus características. Primero, es de código abierto, basado en la licencia de MIT, la licencia de MIT es una de las más permisivas que hay. Básicamente usted sólo tiene que preservar los derechos de autor y permisos que se encuentran en el código fuente de Rails, y you es usted libre de usarlo en aplicaciones comerciales y no comerciales. Rails ofrece completa integración, desde almacenamiento de datos en el servidor, pasando por la presentación de la interfaz de usuario de las páginas web y todo lo demás. Y todos ellos son necesarios juntos, de manera que le permita crear y actualizar facilmente sus sitio web. Rails fue lanzado en 2004 y ha mejorado y evolucionado continuamente desde entonces. Las cosas se mueven bastante rápido, así que las versiones que usted hoy utilizará podrían ser diferentes de las versiones que se ven en este curso. Pero simplemente asegúrese de que está utilizando la versión más estable, más reciente y eso es todo lo que importa. Algunas de las web que se han construido utilizando Rails son: Twitter, Hulu, GitHub, Bloomberg, Airbnb y Heroku, solo por nombrar unos pocos. Heroku es la que vamos a utilizar para implementar de forma efectiva nuestras aplicaciones en el Rails, más adelante en esta especialización.