On 5/31/07, Aureliano Calvo <[EMAIL PROTECTED]> wrote: > En mi laburo la semana que viene voy a hacer una presentación de Ruby > de aproximadamente una hora. El público son principalmente gente que > sea programar bien en C++ y/o Python, incluyendo algunos viejos > smalltalkers. > > Mi idea para hacer la presentación es no usar Powerpoint (solo un > pizarrón, ejecutar ruby de línea de comando y un irb, quizás también > usando el eclipse con el plug-in para ruby) y codear en vivo todo lo > que muestre. Voy a evitar hablar mucho de rails, porque podría > gastarme la hora entera en rails y no entra. Si quiero mostrar algunas > librerías bien "rubyescas" tipo markaby, rake y quizás ActiveRecord > (no tengo claro la última). El objetivo de la presentación no es que > aprendan Ruby en una hora sino volarles la cabeza con cosas que no se > pueden hacer en otros lenguajes y que se queden con ganas de probar > como andan todas esas cosas locas.
Para darle un poco más de "sabor" a irb podrías usar wirble http://pablotron.org/software/wirble/ Creo que el resaltado de sintaxis y el autocompletado de código te van a facilitar bastante la presentación... a mí me ha ayudado mucho... (los nuevitos quedan con la boca abierta... y los que saben ruby te preguntan "cómo hiciste eso con irb?????") :p > > Mi idea es organizarlo así: > > Minuto 0: Me presento, doy la agenda de la presentación. > Minuto 1: Historia de ruby y comparación con Perl, Smalltalk y Python. > Minuto 5: Abro el irb y muestro el uso básico del lenguaje. > Operaciones con enteros y strings. Muestro un toque que es un symbol. > Minuto 10: Abro un editor de texto (quizás rubyeclipse) y codeo la > primera clase. Muestro herencia. Muestro el acceso de variables de > instancia con @var. > Minuto 15: Hago un modulo y lo incluyo en una clase (mixin). > Minuto 20: Abro el irb de nuevo y agrego/overrideo un método en un > objeto de la clase de recién. Hablo sobre como se pueden overridear > objetos sin necesariamente tener que definir clases nuevas. > Minuto 25: Muestro como usar un closure con los Enumerables (each, > inject, filter y sus amigos). > Minuto 30: Empieza el show de verdad. Empiezo a mostrar la > maleabilidad del lenguaje. En la clase Object defino el método self > así: > def self > this > end > Digo que extraño java :D (voy a mentir un poquito) y lo uso 2 minutos > en vez de self. > Minuto 35: Muestro los métodos attr_* y los uso en mi clase. > Minuto 38: Empiezo a definir métodos nuevos y overrideados en String, > Object y sus amigos. > Minuto 43: Defino mis propios métodos similares a los attr_* en Module > y los uso en la clase (hablo de metaprogramación, digo que rails hace > algo parecido para un montón de cosas). > Minuto 48: Uso method_missing y hago algo que muestre como se llaman > los métodos que llamo y no están definidos. Hablo de markaby y lo > muestro. Hablo de los dsls. > Minuto 53: Muestro como usar una biblioteca que tiene 200 líneas de > código (está en http://snippets.dzone.com/posts/show/2190) como para > reemplazar el yacc. Digo que Ruby es más poderoso que C/C++ porque en > C/C++ necesitás salir fuera del lenguaje para hacer eso. > Minuto 58: Hablo de rake (quizás muestro un ejemplito de como compilar > un Hello World en C con rake). > Minuto 60: Descanso. > > ¿Les parece que puedo sacar algo? ¿Pondrían algo? ¿Tienen alguna > experiencia haciendo presentaciones de ese tipo? > La charla de intorducción a ruby que dí en las cafeconf del año pasado perseguía el mismo objetivo... y la verdad que creo que dió buenos resultados... (aunque por cuestiones de organización la concurrencia no fue demasiada)... se llamó "Collision Course with Ruby" podés darle una ojeada en: http://www.gabriel-arellano.com.ar/charlas y lo que te puedo decir es que me parece que estás subestiando los tiempos... (a mí con objetivos muchos menos ambiciosos no me alcanzó la hora) yo los multiplicaría por 1.5 o por 2... (ojo... yo soy de irme por las ramas y ni hablar cuándo alguien hace una pregunta piola...) > Escucho comentarios, > Aureliano. > _______________________________________________ > ruby mailing list > [email protected] > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar > Suerte con la charla y saludos! -- Gabriel Arellano. Linux Registered User #188284 Grupo de Estudios de Software Libre U.T.N. - F.R. C. del Uruguay ----BEGIN GEEK CODE BLOCK---- Version: 3.1 GCS/ED d-- s: s- a- C+++ UL++++$ P+>+++ L+++$>++++ E- W+++ w--- PS++ PE Y++ PGP++ t+++ 5- X++++ R++ tv+++ b+++ DI+++ D++++ G+ e++>++++ h+ r* y-- -----END GEEK CODE BLOCK----- _______________________________________________ ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
