SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Ruby...making programming truly fun
Gustavo Andrés Brey
Coding Architect
UTN FRBA
Rubyalgo de historia
Pensado para la felicidad de
programadores
2004, Ruby on Rails lo llevó a la fama
1993 by Yukihiro “Matz” Matsumoto
Rubyfilosofía
“We need to focus on humans, on how humans care
about doing programming or operating the aplication of
the machine. We are the masters.They are the slaves”
Rubyes un lenguaje dinámico y Orientado
a Objetos
Lo mejor de dos mundos...
Scripting
Expresiones regulares
Manejo de strings
Objetos
Dinámico
Virtual Machine
Closures (Bloques)
Y muchos más...
Perl Smalltalk
Rubyprincipios
Fácil de aprender
Codigo expresivo
Principio de la menor sorpresa
Sintaxis limpia
Productivo
Minimalista
Fácil de aprender
Código
Expresivo
Principio
de la menor
sorpresa
Sintaxis
limpia
Productivo
Minimalista
•Objetos
•Closures
•Orientado a
Humanos
•Dinámico
Ruby es poderoso
¡Simple!
13
Gracias!
["gusbrey", "@", "gmail.com"].join

Weitere ähnliche Inhalte

Was ist angesagt?

Modelos y capas de la ingenieria de software
Modelos y capas  de la ingenieria de softwareModelos y capas  de la ingenieria de software
Modelos y capas de la ingenieria de software
jhonatanalex
 
Permisos de archivos completo
Permisos de archivos completoPermisos de archivos completo
Permisos de archivos completo
Grecia Machaca
 
Calidad del software
Calidad del softwareCalidad del software
Calidad del software
Reivaj Sagarv
 

Was ist angesagt? (20)

Metodologías emergentes
Metodologías emergentesMetodologías emergentes
Metodologías emergentes
 
Modelos y capas de la ingenieria de software
Modelos y capas  de la ingenieria de softwareModelos y capas  de la ingenieria de software
Modelos y capas de la ingenieria de software
 
Fundamentos del Diseño de Software
Fundamentos del Diseño de SoftwareFundamentos del Diseño de Software
Fundamentos del Diseño de Software
 
Permisos de archivos completo
Permisos de archivos completoPermisos de archivos completo
Permisos de archivos completo
 
Calidad del software
Calidad del softwareCalidad del software
Calidad del software
 
Gestion de riesgo software
Gestion de riesgo softwareGestion de riesgo software
Gestion de riesgo software
 
Metodología WEB NDT
Metodología WEB NDTMetodología WEB NDT
Metodología WEB NDT
 
Gestion de memoria en unix y solaris
Gestion de memoria en unix y solarisGestion de memoria en unix y solaris
Gestion de memoria en unix y solaris
 
Materia unidad compiladores
Materia unidad compiladoresMateria unidad compiladores
Materia unidad compiladores
 
Gestión de memoria en ensamblador
Gestión de memoria en ensambladorGestión de memoria en ensamblador
Gestión de memoria en ensamblador
 
Programación de microcontrolador
Programación de microcontroladorProgramación de microcontrolador
Programación de microcontrolador
 
Metodologia Incremental
Metodologia IncrementalMetodologia Incremental
Metodologia Incremental
 
MODELOS DE CALIDAD DEL SOFTWARE
MODELOS DE CALIDAD DEL SOFTWAREMODELOS DE CALIDAD DEL SOFTWARE
MODELOS DE CALIDAD DEL SOFTWARE
 
Sistemas paralelos vs distribuidos
Sistemas paralelos vs distribuidosSistemas paralelos vs distribuidos
Sistemas paralelos vs distribuidos
 
Metodologías de Desarrollo de Software Tradicionales y Emergentes
Metodologías de Desarrollo de Software Tradicionales y EmergentesMetodologías de Desarrollo de Software Tradicionales y Emergentes
Metodologías de Desarrollo de Software Tradicionales y Emergentes
 
COCOMO
COCOMOCOCOMO
COCOMO
 
Nuevas tecnologías y aplicaciones de los sistemas de bases de datos
Nuevas tecnologías y aplicaciones de los sistemas de bases de datosNuevas tecnologías y aplicaciones de los sistemas de bases de datos
Nuevas tecnologías y aplicaciones de los sistemas de bases de datos
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidad
 
Algoritmo del baquero
Algoritmo del baqueroAlgoritmo del baquero
Algoritmo del baquero
 
MySQL
MySQLMySQL
MySQL
 

Ähnlich wie Caracteristicas de Ruby

SAP Inside Track Lima 09 - Ruby y SAP
SAP Inside Track Lima 09 - Ruby y SAPSAP Inside Track Lima 09 - Ruby y SAP
SAP Inside Track Lima 09 - Ruby y SAP
Alvaro Tejada
 
Ruby en linux
Ruby en linuxRuby en linux
Ruby en linux
vilna2011
 
Ruby presentacion
Ruby presentacionRuby presentacion
Ruby presentacion
hellmanss
 

Ähnlich wie Caracteristicas de Ruby (20)

Ruby es un lenguaje de programación interpretado
Ruby es un lenguaje de programación interpretadoRuby es un lenguaje de programación interpretado
Ruby es un lenguaje de programación interpretado
 
Ruby en 2020
Ruby en 2020Ruby en 2020
Ruby en 2020
 
Introducción al Ruby
Introducción al RubyIntroducción al Ruby
Introducción al Ruby
 
Tendencias en programación con Ruby on Rails
Tendencias en programación con Ruby on RailsTendencias en programación con Ruby on Rails
Tendencias en programación con Ruby on Rails
 
Sesión 03: Ruby y SAP
Sesión 03: Ruby y SAPSesión 03: Ruby y SAP
Sesión 03: Ruby y SAP
 
SAP Inside Track Lima 09 - Ruby y SAP
SAP Inside Track Lima 09 - Ruby y SAPSAP Inside Track Lima 09 - Ruby y SAP
SAP Inside Track Lima 09 - Ruby y SAP
 
Lenguaje ruby
Lenguaje rubyLenguaje ruby
Lenguaje ruby
 
Hello Ruby!
Hello Ruby!Hello Ruby!
Hello Ruby!
 
Upel ruby
Upel rubyUpel ruby
Upel ruby
 
Ruby en linux
Ruby en linuxRuby en linux
Ruby en linux
 
Ruby en linux
Ruby en linuxRuby en linux
Ruby en linux
 
Introducción a Ruby
Introducción a RubyIntroducción a Ruby
Introducción a Ruby
 
No Silver Bullet
No Silver BulletNo Silver Bullet
No Silver Bullet
 
Ruby presentacion
Ruby presentacionRuby presentacion
Ruby presentacion
 
Jruby On Rails. Ruby on Rails en la JVM
Jruby On Rails. Ruby on Rails en la JVMJruby On Rails. Ruby on Rails en la JVM
Jruby On Rails. Ruby on Rails en la JVM
 
Acerca de ruby
Acerca de rubyAcerca de ruby
Acerca de ruby
 
Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011
 
Desarrollo Y ComercializacióN De Software Usando Ruby On Rails
Desarrollo Y  ComercializacióN De  Software Usando  Ruby On  RailsDesarrollo Y  ComercializacióN De  Software Usando  Ruby On  Rails
Desarrollo Y ComercializacióN De Software Usando Ruby On Rails
 
Lenguaje de programacion ruby
Lenguaje de programacion rubyLenguaje de programacion ruby
Lenguaje de programacion ruby
 
Day01
Day01Day01
Day01
 

Mehr von Gustavo Andres Brey

Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015
Gustavo Andres Brey
 

Mehr von Gustavo Andres Brey (10)

ArqConf 2018 - No copies el modelo Spotify
ArqConf 2018 - No copies el modelo SpotifyArqConf 2018 - No copies el modelo Spotify
ArqConf 2018 - No copies el modelo Spotify
 
Introduccion a Python y Data Science
Introduccion a Python y Data ScienceIntroduccion a Python y Data Science
Introduccion a Python y Data Science
 
Architectural Lean Startup
Architectural Lean StartupArchitectural Lean Startup
Architectural Lean Startup
 
Metodologías Agiles - APIT - UTN FRBA
Metodologías Agiles - APIT - UTN FRBAMetodologías Agiles - APIT - UTN FRBA
Metodologías Agiles - APIT - UTN FRBA
 
Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015
 
Dibujar, pintar y programar
Dibujar, pintar y programarDibujar, pintar y programar
Dibujar, pintar y programar
 
Ruby on Rails Workshop
Ruby on Rails WorkshopRuby on Rails Workshop
Ruby on Rails Workshop
 
Ruby para Java Developers
Ruby para Java DevelopersRuby para Java Developers
Ruby para Java Developers
 
Ruby On Rails Introduction
Ruby On Rails IntroductionRuby On Rails Introduction
Ruby On Rails Introduction
 
Agile Open 2009 Tdd And Architecture Influences
Agile Open 2009   Tdd And Architecture InfluencesAgile Open 2009   Tdd And Architecture Influences
Agile Open 2009 Tdd And Architecture Influences
 

Kürzlich hochgeladen

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Kürzlich hochgeladen (15)

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 

Caracteristicas de Ruby

Hinweis der Redaktion

  1. 00-Intro.rb IRB Puts Arrays/Hash Definición de clases
  2. En Ruby todo es un Objeto y todo es un mensaje class.methods =>, +1 unless/if
  3. Everyone has an individual background. Someone may come from Python, someone else may come from Perl, and they may be surprised by different aspects of the language. Then they come up to me and say, "I was surprised by this feature of the language, so therefore Ruby violates the principle of least surprise." Wait. Wait. The principle of least surprise is not for you only. The principle of least surprise means principle of least my surprise. And it means the principle of least surprise after you learn Ruby very well. For example, I was a C++ programmer before I started designing Ruby. I programmed in C++ exclusively for two or three years. And after two years of C++ programming, it still surprised me
  4. Fácil de leer, endender y pocos errores attr_accesors /ensure
  5. Menos código
  6. “ in that the best programming style I think is usually minimal, it's simple and direct and it's expressive and that simplicity can be beautiful. “ Eliminar la vervosidad Un Hola mundo de 1 linea
  7. Explicar * Duck typing * Mixims * Open Class/Methods * Hooks? Ver la cara de los pibes para meterme con “AOP”