Acerca de ruby
Upcoming SlideShare
Loading in...5
×
 

Acerca de ruby

on

  • 592 views

Ruby, programacion, aprendiendo a proframar.

Ruby, programacion, aprendiendo a proframar.

Statistics

Views

Total Views
592
Views on SlideShare
590
Embed Views
2

Actions

Likes
0
Downloads
3
Comments
0

1 Embed 2

http://lapaginafulruby.net46.net 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Acerca de ruby Acerca de ruby Document Transcript

  • Acerca de Ruby¿Te preguntas por qué Ruby es tan popular? Sus fanáticos lo tienencomo un lenguaje hermoso y artístico. Y todavía así, dicen que espráctico y ameno. ¿Por qué?Los ideales del creador de RubyRuby 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 queincorporara tanto la programación funcional como la programaciónimperativa.A menudo ha manifestado que está “tratando de hacer que Ruby seanatural, 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 cuerpohumano1.Acerca del crecimiento de RubyDesde su liberación pública en 1995, Ruby ha atraído devotosdesarrolladores de todo el mundo. En el 2006, Ruby alcanzó
  • reconocimiento masivo, formándose grupos de usuarios activos en lasciudades más importantes del mundo y llenando las capacidades de lasconferencias relacionadas a Ruby.Ruby-Talk, la lista de correo más importante sobre el lenguaje Ruby hacrecido hasta lograr un promedio de 200 mensajes por día.El índice TIOBE, que mide el crecimiento de los lenguajes deprogramación, ubica a Ruby en la posición #13 del ranking mundial.Refiriéndose a su crecimiento, predicen, “Todo indica que Ruby llegará aestar entre los 10 primeros en menos de 6 meses”. Gran parte de sucrecimiento se atribuye a la popularidad alcanzada por aplicacionesdesarrolladas con Ruby, en particular el framework de desarrollo webRuby on Rails2.Ruby es totalmente libre. No sólo gratis, sino también libre para usarlo,copiarlo, modificarlo y distribuirlo.Viendo todo como un objetoInicialmente, Matz buscó en otros lenguajes para encontrar la sintaxisideal. Recordando su búsqueda, dijo, “quería un lenguaje que fuera máspoderoso que Perl, y más orientado a objetos que Python3”.En Ruby, todo es un objeto. Se le puede asignar propiedades y accionesa toda información y código. La programación orientada a objetos llamaa las propiedades variables de instancia y las acciones son conocidascomo métodos. La orientación a objetos pura de Ruby se sueledemostrar con un simple código que aplica una acción a un número.5.times { print "Nos *encanta* Ruby -- ¡es fuera de serie!" }En muchos lenguajes, los números y otros tipos primitivos no sonobjetos. Ruby sigue la influencia del lenguaje Smalltalk pudiendo ponermétodos y variables de instancia a todos sus tipos de datos. Esto facilita
  • el uso de Ruby, porque las reglas que se aplican a los objetos sonaplicables a todo Ruby.La flexibilidad de RubyRuby es considerado un lenguaje flexible, ya que permite a sus usuariosalterarlo libremente. Las partes esenciales de Ruby pueden ser quitadaso redefinidas a placer. Se puede agregar funcionalidad a partes yaexistentes. Ruby intenta no restringir al desarrollador.Por ejemplo, la suma se realiza con el operador suma (+). Pero siprefieres usar la palabra sumar, puedes agregar un método llamadosumar a la clase Numeric que viene incorporada.class Numeric def sumar(x) self.+(x) endendy = 5.sumar 6# ahora y vale 11Los operadores de Ruby son simples conveniencias sintácticas para losmétodos. Los puedes redefinir como y cuando quieras.Los Bloques, una funcionalidad realmente expresivaLos bloques de Ruby son también vistos como una fuente de granflexibilidad. El desarrollador puede anexar una cláusula a cualquiermétodo, describiendo cómo debe actuar. La cláusula es llamada bloquey se ha convertido en una de las más famosas funcionalidades para losrecién llegados a Ruby que vienen de otros lenguajes imperativos comoPHP o Visual Basic.Los bloques están inspirados por los lenguajes funcionales. Matz dijo,“en las cláusulas de Ruby, quise respetar la cultura de Lisp4”.motores_de_busqueda = %w[Google Yahoo MSN].map do |motor| "http://www." + motor.downcase + ".com" endEn este código, el bloque está descrito entre la construcción do ... end.El método map aplica el bloque a la lista de palabras provista. Muchosotros métodos en Ruby dejan abierta la posibilidad al desarrollador para
  • que escriba su propio bloque describiendo los detalles de qué debehacer ese método.Ruby y el MixinA diferencia de otros lenguajes de programación orientada a objetos,Ruby se caracteriza por su intencional herencia simple. Sin embargo,Ruby incorpora el concepto de módulos (llamados categorías enObjective-C), que son colecciones de métodos.Las clases pueden mezclar (mixin) un módulo e incorporar todos susmétodos gratuitamente. Por ejemplo, cualquier clase que implemente elmétodo each puede incorporar el módulo Enumerable, que le agrega unconjunto de métodos que usan each para recorrer sus elementos.class MiArray include EnumerableendEn general, los Rubyistas ven esto como una forma mucho más clara deherencia múltiple, que es compleja e incluso puede ser restrictiva.La apariencia visual de RubyA pesar de que Ruby utiliza la puntuación muy limitadamente y seprefieren las palabras clave en inglés, se utiliza algo de puntuación paradecorar el código. Ruby no necesita declaraciones de variables. Seutilizan convenciones simples para nombrar y determinar el alcance delas mismas.  var puede ser una variable local.  @var es una variable de instancia.  $var es una variable global.Estos detalles mejoran la legibilidad permitiendo que el desarrolladoridentifique fácilmente los roles de las variables. También se haceinnecesario el uso del molesto self. como prefijo de todos los miembrosde instancia.Más allá de lo básicoRuby tiene un conjunto de otras funcionalidades entre las que seencuentran las siguientes:
  •  manejo de excepciones, como Java y Python, para facilitar el manejo de errores.  un verdadero mark-and-sweep garbage collector para todos los objetos de Ruby. No es necesario mantener contadores de referencias en bibliotecas externas. Como dice Matz, “Esto es mejor para tu salud”.  escribir extenciones en C para Ruby es más fácil que hacer lo mismo para Perl o Python, con una API muy elegante para utilizar Ruby desde C. Esto incluye llamadas para embeber Ruby en otros programas, y así usarlo como lenguaje de scripting. También está disponible una interfaz SWIG.  puede cargar bibliotecas de extensión dinámicamente si lo permite el sistema operativo.  tiene manejo de hilos (threading) independiente del sistema operativo. De esta forma, tienes soporte multi-hilo en todas las plataformas en las que corre Ruby, sin importar si el sistema operativo lo soporta o no, ¡incluso en MS-DOS!  Ruby es fácilmente portable: se desarrolla mayoritariamente en GNU/Linux, pero corre en varios tipos de UNIX, Mac OS X, Windows 95/98/Me/NT/2000/XP, DOS, BeOS, OS/2, etc.Referencias1 Matz, hablando en la lista de correo Ruby-Talk, 12 de mayo del 2000.2 Mira la página de Ruby on Rails para averiguar más.3 Matz, en An Interview with the Creator of Ruby, 29 de noviembre del2001.4 Matz, en Blocks and Closures in Ruby, 22 de diciembre del 2003.