[Introducing Ruby] Lo que debes saber sobre Ruby

Iniciado por RyogiShiki, 4 Marzo 2011, 20:45 PM

0 Miembros y 1 Visitante están viendo este tema.

RyogiShiki

Introducción
Hola a todos. Bueno antes de entrar en materia, haré una breve explicación de el proposito de este post. Como bien sabemos, y como ya se ha comentado anteriormente en encuestas es bien sabido que en el foro la actividad de Ruby es casi nula si es que jamás he visto algo sobre Ruby. Tal vez mi intención no sea que esto se llene de hilos sobre Ruby o cosas por el estilo, mi proposito es presentarles un lenguaje de muy alto nivel, con un dialecto casi natural, que entre otras cosas es un buen ticket al mundo de la programación y que por sobretodo es muy divertido. Ahora tampoco quiero entrar en polémicas entre Ruby, Perl y Python porque he de reconocer que los tres son excelentes lenguajes interpretados y cumplen al realizar la función y seguir los objetivos con los cuales fueron creados. Así que encarecidamente les pido evitar los comentarios comparativos, poco objetivos, difamatorios que se puedan presentar.  

¿Qué es Ruby?
Como no quiero confundirlos ni despues crear una sección de mis erratas será mejor que coloque aquí algunas citas de lo que se conoce como Ruby:
Cita de: WikipediaRuby es un lenguaje de programación interpretado, reflexivo y orientado a objetos, creado por el programador japonés Yukihiro "Matz" Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995. Combina una sintaxis inspirada en Python y Perl con características de programación orientada a objetos similares a Smalltalk. Comparte también funcionalidad con otros lenguajes de programación como Lisp, Lua, Dylan y CLU. Ruby es un lenguaje de programación interpretado en una sola pasada y su implementación oficial es distribuida bajo una licencia de software libre.
Cita de: Ruby-lang.orgRuby es un lenguaje con un balance cuidado. Su creador, Yukihiro "matz" Matsumoto, mezcló partes de sus lenguajes favoritos (Perl, Smalltalk, Eiffel, Ada, y Lisp) para formar un nuevo lenguaje que incorporara tanto la programación funcional como la programación imperativa.

A menudo ha manifestado que está "tratando de hacer que Ruby sea natural, no simple", de una forma que se asemeje a la vida real.
Continuando sobre esto, agrega:
             "Ruby es simple en apariencia, pero complejo por dentro, como el cuerpo humano."
                                                                                                       Yukihiro "matz" Matsumoto
Historia
La siguiente es una escueta traducción de la historia de Ruby comentada por Takanashi-san en la RybyConf:
Era Prehistórica

  • Comenzó a crearse en Febrero de 1993
  • Matz y Keiju-san propusieron primero los nombres
  • De hecho la filosofía de Ruby establece que el nombre de las cosasimporta:
    CitarMatz: Creo que "Ruby es un nombre genial!
    Keiju: También me gusta "coral"
    Matz: Ooops!!
Era Antigua

  • Ruby sale al público el 21 de Diciembre de 1995 (ruby 0.95)
  • es creada la lista de correo "ruby-list" EL primer mensage: "ruby-0.95 test failed" después de eso tres releases de Ruby fueron sacadas en menos de dos días
  • No existia repositorio CVS en el momento, pero 1999 fue creado
  • 25 de Diciembre de 1996: Ruby 1.0 es liberado
  • 1 Julio de 1997 Netlab contrata a Matz como desarrollador en timepo completo de Ruby
  • 22 de Sepriembre de 1997 Es publicado en la web el primer artículo sobre Ruby
  • 15 de Mayo de 1997: Aparece RAA (Ruby Application Archive (es como el RubyForge o el gems de hoy en día))  
  • Aparece la página oficial de Ruby en inglés
Era Media

  • Ruby se esparce por Japón, la comunidad crece a través de los programadores y desarrolladores japoneses, y aquellos que no entienden Inglés ahora tienen una herramienta que pueden adoptar y les permite establecer sus propias opiniones  
  • 27 de Octubre de 199: Aparece el primer libro de Ruby escrito por Matz y Keiju
  • 2001 - 2002 aparecen al menos 20 libros más sobre Ruby
  • Comenzaron conferencias sobre Ruby y Perl
  • Conferencias Lightweight Languages (LL), donde estubieron presentes PHP, Perl, Ruby y Python seguido del LL Weekend y el LL Day and Night y por último el LL Ring (una conferencia que se dio sobre un Ring de Box real) :  
Poster del LL Ring:

Era Moderna

  • Ruby se espace fuera de Japón
  • 16 de Febrero de 2002 la lista de correo "ruby-talk" sobrepasa a "ruby-list" convirtiendose en la lista de correo más importante acerca de Ruby
  • Aparece la version 1.8 de Ruby que se mantiene por más de 6 años
  • Aparece la versión 1.9 de Ruby
  • Aparecen los libros más completos de Ruby: "Programming Ruby" (que por supuesto los podrán encontrar más abajo ;) )
  • Aparece Rails el framework de Ruby para aplicaciones en la Web
  • Se inicia el desarrollo de Ruby 2.0 presumiblemente para estar listo en las vispera decembrina de 2011

Los objetivos de Matz y porque fue creado Ruby
Bueno es hora de que yo escriba un poco jeje! Ruby principalmente nace por diversión, y por las ganas de Matz de tener un lenguaje que tuviera las prestaciones que no pudieron ofrecer lenguajes como Phyton y Perl en esa  época. otra gran motivación el hecho de tener un lenguaje que pueda cambiar el mundo, así es como lo expresa Matz el ideal de Ruby es poder cambiar el mundo para bien un día de estos (podrá sonar muy idílico, pero se darán cuenta que la comunidad Ruby y el lenguaje de por si es muy relajado suelto y sumamente divertido).
Citas importantes de Matz para definir la filosofía y objetivos de Ruby:

CitarA menudo la gente, especialmente los ingenieros en computación, se centran en las máquinas. Ellos piensan, "Haciendo esto, la máquina funcionará más rápido. Haciendo esto, la máquina funcionará de manera más eficiente. Haciendo esto..." Están centrados en las máquinas, pero en realidad necesitamos centrarnos en las personas, en cómo hacen programas o cómo manejan las aplicaciones en los ordenadores. Nosotros somos los jefes. Ellos son los esclavos.
CitarTodo el mundo tiene un pasado personal. Alguien puede venir de Python, otro de Perl, y ellos pueden verse sorprendidos por distintos aspectos del lenguaje. Entonces ellos podrían decir 'Estoy sorprendido por esta característica del lenguaje, asi que Ruby viola el principio de la menor sorpresa.' Esperad, esperad. El principio de la menor sorpresa no es solo para ti. El principio de la menor sorpresa significa el principio de 'mi' menor sorpresa. Y significa el principio de la menor sorpresa después de que aprendes bien Ruby. Por ejemplo, yo fui un programador de C++ antes de empezar a diseñar Ruby. Yo programé solamente en C++ durante dos o tres años. Y después de dos años de programar en C++, todavía me sorprendía.



Charlas y Conferencias sobre Ruby

Charla Sobre Ruby 1.9 By Matz
[youtube=725,550]http://www.youtube.com/watch?v=oEkJvvGEtB4[/youtube]

Charla Sobre Ruby 2.0 y el futuro de Ruby
[youtube=725,550]http://www.youtube.com/watch?v=t9LMOydfc4k[/youtube]

Charla Sobre La Construcción de un mejor interprete para Ruby
[youtube=725,550]http://www.youtube.com/watch?v=ghLCtCwAKqQ[/youtube]
PD: Esta charla para los entendidos fue hecha antes de la aparición de YARV


Charla Sobre La Filosofía y los ideales de Ruby
[youtube=725,550]http://www.youtube.com/watch?v=ix2DeCzuckc&feature=relmfu[/youtube]

Libros Sobre Ruby (TODO EN INGLÉS)

Learn To Program - Chris Pyne

Descarga: http://www.mediafire.com/?241g6g2w2t8ym82
PD: Si están empezando en Ruby (o en programación) este es el mejor libro que pueden descargar de la colección, después que hayan terminado este libro, entenderan mucho mejor los demás

The Little Book Of Ruby - Huw Collingbourne

Descarga: http://www.mediafire.com/?jpp8cefil7eyl97

Programming Ruby, The Pragmatic Programmer's Guide (Ruby 1.8)

Descarga: http://www.mediafire.com/?y51kch4zl5agzff

Programming Ruby, The Pragmatic Programmer's Guide (Ruby 1.9)

Descarga: http://www.mediafire.com/?d46j1ln6nz361zl

Metaprogramming Ruby - Program Like The Ruby Pros - Paolo Perrotta

Descarga: http://www.mediafire.com/?3gglec3ny4slcab

Ruby By Example - Concepts & Code - Kevin C. Baird

Descarga: http://www.mediafire.com/?n5a9yboqcn6bp2r

Ruby Best Practices - Increase Your Productivity--Write Better Code - Gregory T. Brown

Descarga: http://www.mediafire.com/?te8v0c5t41x0qia

Ruby Course - An inmersive Programming Course -

Descarga: http://www.mediafire.com/?u50tollaxsb7cav

Ruby Quick Reference

Descarga: http://www.mediafire.com/?0v3xx6ur1x73662

Libros Sobre Ruby (EN ESPAÑOL)

Guia del Usuario de Ruby - Matz (Traducción)

Descarga: http://www.mediafire.com/?trtc97wccxrlwxj



Folder en MediaFire con todos los Libros

Descarga: http://www.mediafire.com/?44ywv01xd8jg4
PD: Todas las subidas fueron hechas por mi, es por eso que si quieres esparsir los links por la red bien puedes hacerlo, si quires decir que tu los subsite, no me   importa, anda, dilo! lo que me importa es que los pongas en un lugar donde le sean útles a alguien así que haz con ellos lo que mejor te convenga!

Ruby: Casos Exitosos
Simulaciones:
*- El centro de investigacion Langley de la NASA usa Ruby para producir sus simulaciones
*- Un grupo de investigación de Motorola para la creación de un simulador en el procesamiento de datos


Modelado 3D
*- Google Sketchup usa Ruby para la implementación de su API

Robótica
*- En MORPHA Ruby fue usado para implementar el control reactivo del "Siemens service Robot"

Networking
*- Open Domain Server usa Ruby para permitir el uso de clientes dinamicos DNS para la actualización en tiempo real de configuraciones IP
...Y muchos otros casos que puedes examinar aquí: http://www.ruby-lang.org/en/documentation/success-stories/

GUIA: Instalando Ruby en GNU/Linux
Vamos a ver las diferentes posibilidades que tenemos a la hora de instalar Ruby en diferentes distribuciones GNU/Linux, a tener en cuenta que instalaremos Ruby 1.8 ya más abajo les indicaré como instalar la versión 1.9.2 que es la actual:

Ruby en Debian y derivados
Para instalar Ruby en debian o en sus derivados basta con el siguiente comando desde una shell:
Código (bash) [Seleccionar]
sudo apt-get install ruby-full

Ruby en RedHat Fedora y sus derivados
Desde una Shell:
Código (bash) [Seleccionar]
su -
Código (bash) [Seleccionar]
yum install ruby

Ruby en Arch y derivados
Desde una Shell:
Código (bash) [Seleccionar]
pcman -S ruby

Ruby en Gentoo y derivados
Desde una Shell:
Código (bash) [Seleccionar]
emerge ruby

Compilando Ruby
Lo primero que haremos para compilar Ruby será descargar los Sources desde la página oficial de Ruby, a continuación la encuentran: http://www.ruby-lang.org/es/downloads/ y descargan los sources de la versión que más les convenga, para todas el proceso es similar. Una vez lo tengan y estén ubicados sobre el archivo descargado en una terminal hacemos:
Código (bash) [Seleccionar]
tar xvzf ruby-x.x.x-xxxxx.tar.gz
Don de las 'x' corresponden a la versión que hayan descargado. Luego que se descomprima navegamos a la carpeta que ha resultado, y allí simplemente seguimos los pasos de toda la vida:
Código (bash) [Seleccionar]
./configure --prefix=/usr
Código (bash) [Seleccionar]
make
Código (bash) [Seleccionar]
make install
Para comprobar si está instalado podemos preguntar por la versión de Ruby con:
Código (bash) [Seleccionar]
ruby -vy con eso ya tendremos instalado ruby y lo habremos compilado! ahora solo resta probar nuestra nueva instalación y conocimientos sobre Ruby.

Para eso vamos ha hacer un pequeño script que simplemente nos saludará

Código (ruby) [Seleccionar]
puts 'Hola! escribe tu nombre porfavor: '
nombre = gets.chomp.to_s
puts "Ahh un placer conocerte " + nombre + "me alegro que te hayas animado a conocer ruby =)"


ahora solo queda copiar el script y pegarlo en una hoja de texto plano, guardarla con extension: .rb y desde un terminal lo podemos ejecutar con:

Código (bash) [Seleccionar]
ruby script.rb

Y ya está! Eso es todo espero se animen a aprender el magnifico lenguaje que es Ruby! porque almenos para mi es extremadamente divertido!!

Saludos.