Publicidad:
Terra
La Coctelera

Categoría: Programación

Más cacao

El día 25 del mes pasado comencé mi primer curso de Ingeniería Informática en la ULPGC. A partir de este momento escribiré menos que antes incluso (¡ah, pero que antes escribía y todo!). De hecho, ahora mismo estaba enfrascado con problemas y teoría de lógica de Álgebra y Matemática Discreta.

Aprovechando un descanso, me he puesto a navegar un poco y, a través de MacProgramadores acabo de conocer un nuevo blog sobre Cocoa y programación para Mac llamado Cocoa Con Leche. Desde luego, visto lo visto, está claro que fue de cabeza a Marcadores (Favoritos pa' los profanos de IE). Además, en uno de los posts que hay publicados enlazan un libro sobre Objective-C... ¡En español!

Este verano estuve adentrándome en el mundo de Cocoa y Objective-C con el libro Become an Xcoder, que está sólo disponible en inglés (y en árabe también, pero como que no sé demasiado árabe...). Aun así, me sirvió mucho y en realidad tampoco tuve demasiado problema porque no es un inglés demasiado complicado. La cuestión es que el libro es muy básico (y trata algunas cosas de una forma que no me parece la más adecuada). Sin embargo, después de echarle una ojeada a este otro libro, mi conclusión es que está bien completito (o eso parece).

Cuando tenga más tiempo me pongo a seguir el libro y el blog, aunque eso no será hasta dentro de muuuuucho tiempo...

Conociendo Ruby

Leyendo mis feeds acabo de llegar a la página de Apple, que últimamente es noticia porque se está desarrollando la WWDC'07, como ya dije en el post anterior. Navegando por la página de Apple sobre Leopard, llegué a donde hablan sobre la base UNIX de Mac OS X .

En esta página hay una sección que habla sobre la introducción de Python 2.5 en Mac OS X, algo que iba siendo realmente necesario porque la versión que viene de fábrica en Tiger, la versión actual de OS X, es la anticuada 2.3. Me llamó la atención esta sección de Scripting Bridge porque prometen integración con lenguajes de scripting, como Ruby o Python, y todo al día. Estamos hablando de integración, y en la página comentan, según lo que entendí, que estos lenguajes de scripting se podrán usar para desarrollar aplicaciones totalmente integradas con Mac OS X (mediante los bindings que nombran y que llaman Scripting Bridge). Hace algún tiempo conocí PyObjC, un binding de Python para Cocoa, la API de programación de Mac OS X, pero tuve problemas al intentar ejecutar el programa de este tutorial, lo que me desalentó, ya que me hubiera gustado poder desarrollar para Mac OS X sin necesidad de meterme con el Objective-C.

Yo soy un gran fan de Python. Es un lenguaje de muy alto nivel, orientado a objetos, muy potente gracias a su biblioteca de funciones y de sintaxis sencilla. Incluso la documentación es realmente clara y fácil de navegar. Sin embargo, conozco de la existencia de Ruby desde hace algún tiempo, pero nunca me había atrevido a adentrarme porque la sintaxis, aunque es sencilla, no me resultaba tan atractiva, porque en el código que yo había visto la sintaxis me pareció que tenía cierto grado de complejidad.

Pero ahora, desde la página de Apple, enlacé con la de Ruby y, para mi sorpresa, me redirigió a la traducción de la página al español. Me llamó mucho la atención el ejemplo de código que ahí se encuentra:

 # Ruby knows what you
 # mean, even if you
 # want to do math on
 
 # an entire Array
 cities  = %w[ London
               Oslo
               Paris
               Amsterdam
               Berlin ]
 visited = %w[Berlin Oslo]
 
 puts "I still need " +
      "to visit the " +
      "following cities:",
      cities - visited



Lo que me sorprendió de ésto es la operación que se hace sobre los arrays. En concreto, este código declara una lista de ciudades y otra de ciudades visitas y luego imprime por pantalla la lista de ciudades que quedan por visitar... ¡Haciendo una operación de resta entre los dos arrays! No sé si en Python se podrá hacer esto, pero al ver este ejemplo de código, sin siquiera haberlo probado, ya me flipó. Y he aquí el comentario que acompaña a este fragmento de código:

Ruby sabe lo que quieres hacer, incluso si quieres hacer operaciones matemáticas sobre un array completo.

Y desde la página de Ruby llegué a una web de demostración de Ruby: ¡prueba Ruby en tu navegador!. Esto me recuerda mucho a la web de Flyakite OSX o a la web Wubuntu que también descubrí hoy.

Enlaces:

Mac OS X 10.4 Tiger

Mac OS X 10.5 Leopard

Python

PyObjC

Creating your first PyObjC application

Using PyObjC for developing Cocoa applications with Python

Ruby

Acerca de Ruby
¡Prueba Ruby en tu navegador!