<body>

Sitios web relacionados: PingBlog | Fotos

miércoles, marzo 12, 2008

¡Java es el nuevo Perl!

¿Java es el nuevo Perl?. ¿Será porque está muerto? No, todo lo contrario, gracias a scripting languajes lenguajes interpretados Java sigue creciendo en direcciones muy diversas.

Quiero empezar este pequeño análisis diciendo que yo adoro Perl; Yo lo aprendí por mi cuenta (si, para ese entonces no habían cursos de Perl y quizas el único manual autorizado era el libro del camello de O'Reilly). La versatilidad del lenguaje, la cantidad de librerías en CPAN y la enorme cantidad de código y ejemplos de como resolver problemas en la Internet lo hicieron el favorito.

Pero vamos a estar claros: Perl lleva años en el abandono. El modelo de "threads" es un fastidio, la orientación a objetos en Perl si bien no es difícil tiene varias diferencias comparada con otros lenguajes (y por ende es más difícil de aprender en mi opinión, al menos que a usted no le cause picazón el "bless") pero sobre todo, Parrot (el nuevo interprete de Perl 6) no termina de salir a la luz publica.

Y entonces viene Java con su soporte a lenguajes interpretados como Python (Jython), Ruby (JRuby) y sus lenguajes con merito propio como BeanShell y Groovy. Sin embargo nadie ha escrito un JPerl.

Mi tiempo es muy limitado estos días (trabajo, un niño pequeño) como para ponerme a inventar a aprender un lenguaje exótico el cual nunca voy a utilizar o sacar algún provecho; Sin embargo (y gracias a Java) he podido jugar con Jython en mi trabajo aprovechando código que ya tenemos escrito en Java mientras hago las mismas cosas que hubiera hecho en Perl. Por otro lado, tenemos ya código escrito en BeanShell lo cual significa que yo no seré el único en mi grupo que puede mantener el código.

Es muy interesante la experiencia, ya que por ejemplo aún sin saber la sintaxis completa de Python puedo resolver problemas ya que puedo importar clases de Java y utilizar sus funcionalidades. Si, es una muleta pero a la vez mantiene la productividad y me permite aprender el lenguaje al mismo tiempo. El mismo argumento va para JRuby.

¿Jython vs. JRuby en mi oficina? Bueno, Python se ve interesante, pero como dijo un PHD de mi grupo, "a quien se le ocurre utilizar un lenguaje que utiliza identación para definir alcance". También tuve problemas cuando traté de importar el modulo de expresiones regulares (import re).

¿Porque no un JPerl (no como el paquete JPerl, escrito en C++)? Quizas es la sintaxis, aunque no soy el primero que se hace la misma pregunta.

En fin, parece ser que la decisión de que usar como scripting languages en Java se reduce en mi caso a:
  • Beanshell: No tiene curva de aprendizaje comparado con Jython, JRuby, además de que va a ser parte del JDK en un futuro no muy lejano (estandar de Java)
  • JRuby: Más popular que Python (gracias a Rails). Y no usa identación como loco :)

Lo siento Perl. Pero Parrot te mató y le mundo se sigue moviendo. Por ahora, tu futuro está en la misma liga que el Kernel de GNU Hurd (el cual existe y a nadie le vale un bledo :)).

Buscar en otros sitios:

Blogalaxia:, , , ,
Technorati:, , , ,
To2blogs:, , , ,
Del.icio.us:, , , ,

Etiquetas: , , , ,

miércoles, noviembre 14, 2007

La mejor forma de venderle Ruby a un desarrollador de Perl / Java: Muestrale aplicaciones prácticas

Me decidí a aprender Ruby después de mucho tiempo. Honestamente mi hostilidad hacia los fanáticos de Rails aún persiste (ya que no ven más allá del framework) y sin embargo el lenguaje se ve atractivo. Les escribo mi travesía mental, quizas les ayude a ustedes a tomar una decisión similar en el futuro:

Tengo un proyecto personal (el cual incluye una página web) y no quiero pagar más .

Si, el hospedaje de Java Servlets es más costoso que PHP. Y tiene más restricciones en cuanto al uso de recursos (memoria y CPU). No quiero pagar más (Java Servlets), no quiero caer en un lenguaje con problemas de separación de vista y logica (PHP). Python y Perl tienen frameworks que si bien son buenos no tienen tanta tracción como Rails, así que prefiero apostar a algo seguro (Rails para bien o para mal va estar alrededor por un buen tiempo. Si no, lean como gente de SUN le está dando apoyo).

Hay un sólo estandar por aprender:
Después de leer este articulo en la Cara Oscura acerca de los frameworks web olvidados de Ruby sólo me queda decir: ¡Gracias a Dios que fueron olvidados!

La razón es muy simple: El hecho de que Ruby sea tan popular es porque el estándar es Rails para hacer aplicaciones web. Python por ejemplo tiene varios frameworks y tiene una comunidad fragmentada por detrás, mientras que Ruby es más uniforme.

No tengo tiempo para aprender estándares de minorías, entre mas "mainstream" mejor :)

¿El lenguaje es útil?

Si usted le quiere vender el lenguaje a alguien que está harto de escuchar lo bestial que es Rails (si, Jesús lo usó para programar la versión web de la biblia) entonces muestrele el libro "Ruby Cookbook" de la gente de O'Reilly. Lucas Carson y Lenoard Richardson tienen una recopilación de todo lo que puede hacer con el lenguaje. Yo lo empecé a leer en Barnes & Noble el fin de semana pasado y al final me tuve que comprar el libro.

Demasiado bueno, sobre todo cuando se compara lo conciso del código con Perl o las librerías de CPAN.

¿Me tengo que olvidar de Java?

Nope. Java y Ruby son muy buenos amigos. Rails y Servlets son buenos amigos. Todo el mundo es feliz :)

Es OpenSource

Creo que para mi son suficientes los argumentos. Ahora lo que queda es echar código :)

Blogalaxia.com:ruby, rails, python, framework, jruby, java
Technorati.com:ruby, rails, python, framework, jruby, java

Etiquetas: , , , , ,

martes, octubre 30, 2007

Ruby: ¿El próximo Visual Basic?

No lo digo yo y no lo digo en tono sarcástico; El articulo está bien interesante, además de que habla de Ruby como lenguaje (y no de Rails, lo cual es una ladilla). Con Python sin hacer mucho ruido y Perl 6 que no termina por aparecer uno se pregunta ¿cual es el siguiente lenguaje que debemos aprender?

Si JRuby se muestra más maduro que Jython (Groovy no temina de despegar) entonces creo que al menos yo ya tengo mi respuesta :)

Blogalaxia.com:jruby, microsoft, ruby, sun
Technorati.com:jruby, microsoft, ruby, sun

Etiquetas: , , ,