Atalaya: desde la tela de araña

Cultura en la red, reflexiones, relatos, tutoriales y paridas diversas

[Libro] Why's (poignant) guide to Ruby

2006-06-23 08:20 Llega un punto en la vida en que hay que aprender nuevos lenguajes de programación, así que me puse a aprender Ruby usando este libro publicado con una licencia Creative Commons. Supongo que sería de los primeros que salen en la búsqueda, o algo así, así que no puedo echarle la culpa a nadie.
Y es que este libro es curioso. La tradición de usar una cierta narrativa y una cierta guasa a la hora de enseñar lenguajes de programación viene, al menos, de las historias de Job en Programming Perl o mis propias historias de un político corrupto en mi tutorial de perl. Pero es que en este libro aparece un elfo con un jamón de mascota, zorros sin patas, el planeta Endertromb, el Dr. Cham y su sobrina a la que electrocutó accidentalmente y aparece como un fantasma... y un puercoespín que roba una camioneta. Por el camino, aprendes lo básico de ruby, y la idea es que todos esos artefactos sirven (más o menos) como introducción o mnemotécnico para todas las estructuras de Ruby.
O sea, que se aprende algo. Aprender un lenguaje pasa por muchos niveles, desde el "Leo un programa (bien) escrito y más o menos me entero", pasando por "Cojo ese programa y puedo cambiarlo para que haga otra cosa", hasta que llegas al "Tengo que escribir el sistema de control del Columbia". Este libro te coloca un poco entre el segundo y el tercero.
Y en cuanto a Ruby, pues mira, a mi que me ha resbalado el Java y el Python, me parece un lenguaje interesante. No es que se pueda hacer más de lo que se puede hacer con Perl, pero muchas de las cosas se hacen más fácilmente y de una forma un poco más coherente. Tampoco es que vaya a dejar de hacer cosas en Perl para hacerlas en Ruby, porque todavía tardaría varias horas en hacer lo que hago en Perl en un rato, pero bueno, poco a poco.

Referencias (TrackBacks)

URL de trackback de esta historia http://atalaya.blogalia.com//trackbacks/41081

Comentarios

1
De: canopus Fecha: 2006-06-23 10:17

¿Que te resbala python?

Uy como te coja...



2
De: JJ Fecha: 2006-06-23 10:19

Pues mira, si. Será porque Guido Van Rossum se enfadó conmigo allá por el 94 o 95, que no he acabado de tomarle cariño...



3
De: Epaminondas Pantulis Fecha: 2006-06-23 10:22

Chunky Bacon!!



4
De: JJ Fecha: 2006-06-23 10:27

Para quien no pille el chiste, lo de Chunky Bacon es una expresión que usan los dos zorros (el alto y el bajito) para salir en el texto. Ah, y hay cómics. Y sidebars laterales, que son posiblemente lo más surrealista, y lo que no he acabado de entender bien qué tiene que ver con el resto. Pero es como la historia de piratas que venía al final de Watchmen, alguien algún día te lo explica, y tienes una epifanía...



5
De: Anónima Fecha: 2006-06-23 11:00

Los libros de informática ya no son lo que eran... que diría fernand0 ;)



6
De: enlavin Fecha: 2006-06-23 13:28

Ruby tiene cosas chulas. Los bloques de código me encantan (each power!) y los mixins estan muy bien. Pero eso de tener que poner un caracter raro delante de algunas variables no me gusta nada. Me recuerda demasiado a Perl :P

Por supuesto lo peor de Ruby es que no se puede usar con Django :P



7
De: JJ Fecha: 2006-06-23 14:14

Bueno, al menos es consistente, o consistente de una forma diferente, a Perl. No sé, está curioso.
Y en cuanto al Django, pos no me voy a meter con él, porque está bien.



8
De: Algernon Fecha: 2006-06-23 17:16

I love Ruby!



9
De: Escribano Fecha: 2006-06-23 21:38

¿Es problema de mi navegador o alguien más ve interrogantes donde deberían estar acentos? Échale un ojo y a ver que me cuentas. Me parece que es tema mío...



10
De: David Fecha: 2006-06-23 21:40

A mi el Ruby me parecía una lenguaje de estos nuevos que se ponen de moda, sin nada realmente interesante. Pero lo interesante ya no es el lenguaje, si no lo hacen con él. ¿Han visto el Ruby on rails ese? la leche en vinagre, oiga.



11
De: cua Fecha: 2006-06-23 23:51

He visto documentación sobre Ruby en la web, y, al igual que sobre otros lenguajes "de scripting", dicen que una de sus ventajas es que "No hay que declarar las variables" ;) casi na! justo el mayor problema de estos lenguajes se presenta como una ventaja. Como no hay que declarar las variables, puedes, por ejemplo, escribir 'pexpe=1' cuando querías escribir 'pepe=1'. Esto produce un error en el funcionamiento del programa, pero ese error pasa inadvertido. Para programas de cinco lineas está muy bien, pero para programas de 5000 lineas es una auténtica pesadilla. La supuesta 'facilidad de escritura' es en realidad una pesadilla, es pura dificultad de escritura de programas.

En general al no tener que declarar las variables, las variables no tienen tipo, por tanto las expresiones no tienen tipo, por tanto es muy dificil resolver bugs.

Si quereis un lenguajes con (1) muchas librerias (2) fácil de aprender en principio aunque (3) muy potente (4) orientado a objetos (5) portable (6) bien documentado y extendido (7) interpretable y compilable, la eleción está clara: usad Java (aunque a JJ le resbale ;) ;)



12
De: Epaminondas Pantulis Fecha: 2006-06-24 00:38

¨En general al no tener que declarar las variables, las variables no tienen tipo, por tanto las expresiones no tienen tipo, por tanto es muy dificil resolver bugs.¨

Au contraire, eso es una prestacion, y se llama ¨duck typing¨.



13
De: JJ Fecha: 2006-06-24 10:14

Bueno, en realidad es muy fácil resolver bugs, si sabes que sucede eso desde el principio. Y es una buena práctica de programación declarar las variables locales (al menos en Perl).



14
De: cua Fecha: 2006-06-24 11:03

lo sabes desde el principio si no te crees la propaganda que dice que es muy fácil escribir programas en esos lenguajes ;) -- por que en realidad es muy muy difícil. Poder declarar las variables locales es bueno, pero sería muchísimo mejor poder declarar las globales, que son las que introducen mas coherencia entre partes. Pero, claro eso es precisamente lo que no puedes hacer, ya que no hay tales "variables globales" en el sentido de declaradas estáticamente con todo el programa como ámbito.

De todas formas, el problema no es (solo) que no sea necesario declarar las variables, sino que ni las variables ni las expresiones tienen un tipo estático conocido y fijo.



15
De: JJ Fecha: 2006-06-24 11:45

En ruby si se pueden declarar las variables globales explícitamente. Bueno, más o menos.



16
De: cua Fecha: 2006-06-25 10:44

el problema es que, como mucho, "se pueden declarar", pero en ninguna caso "se deben de declarar", y es esto último lo que evita problemas.



17
De: JJ Fecha: 2006-06-25 10:50

Por otro lado, tiene recolección automática de basura y se evita problemas de punteros descarriados, como en el C.



18
De: Epaminondas Pantulis Fecha: 2006-06-26 07:50

Aquí una inquietante foto del autor del libro.



19
De: cua Fecha: 2006-06-27 10:40

JJ: no compares con el C, que ya tiene 30 años, y es un lenguaje de mucho más bajo nivel que Java o Perl. Todos los lenguajes modernos tienen recolección automática de basura, incluyendo Java.



20
De: JJ Fecha: 2006-06-27 23:12

@ep: pues no tiene cara de mala persona



Se comenta en...

  • JJ en [Libro #1] Harry Potter and the Cursed Child, de JK Rowling, John Tiffany y Jack Thorne
  • Anonima en [Libro #1] Harry Potter and the Cursed Child, de JK Rowling, John Tiffany y Jack Thorne
  • JJ en [Libro #29] El guardián invisible, de Dolores Redondo
  • Jorge en [Libro #29] El guardián invisible, de Dolores Redondo
  • JJ en [Libro #30] Code simplicity, de Max Kanat-Alexander
  • rvr en [Libro #30] Code simplicity, de Max Kanat-Alexander
  • JJ en [Libro #22] Fantasía, de Emilia Pardo Bazán
  • Palimp en [Libro #22] Fantasía, de Emilia Pardo Bazán
  • marta en [Libro #21] Birchwood, de John Banville
  • JJ en [Libro #10] The son, de Jo Nesbo
  • Sobre Atalaya

    Esta es la bitácora o blog de Juan Julián Merelo. Si quieres contactar con el autor, usa su correo electrónico jjmerelo (arroba) gmail.com, o simplemente deja un comentario. Y si quieres leer alguna cosa más de las que escribe, prueba esta novela

    Listas de deseos

    A veces leo

    Otras veces escribo en

    Blogalia Blogalia