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

Responder a