Notice: wp_register_script was called incorrectly. Scripts and styles should not be registered or enqueued until the wp_enqueue_scripts, admin_enqueue_scripts, or login_enqueue_scripts hooks. Please see Debugging in WordPress for more information. (This message was added in version 3.3.0.) in /home/skiterskiterio/skitergia.com/wp-includes/functions.php on line 4161

Notice: has_cap was called with an argument that is deprecated since version 2.0.0! Usage of user levels is deprecated. Use capabilities instead. in /home/skiterskiterio/skitergia.com/wp-includes/functions.php on line 4045

Notice: ¡El método de llamada al constructor WP_Widget en GoogleCardsWidget está obsoleto desde la versión 4.3.0! Utiliza
__construct()
en su lugar. in /home/skiterskiterio/skitergia.com/wp-includes/functions.php on line 3916

Notice: ¡El método de llamada al constructor WP_Widget en Jetpack_Post_Views está obsoleto desde la versión 4.3.0! Utiliza
__construct()
en su lugar. in /home/skiterskiterio/skitergia.com/wp-includes/functions.php on line 3916
Skitergia | Entrevista a Raul Murciano (por @sowe): excepcional!!

Skitergia

Parametrizando el mundo



Entrevista a Raul Murciano (por @sowe): excepcional!!

by Skiter on 5 julio, 2011

Llevo un tiempo sin tiempo e intent ando formarme en varias tecnologí­as para sacar varios proyectos, remunerados y no, adelante. Lamentablemente no estoy pudiendo profundizar ni avanzar lo que quisiera, y mi visión por ahora no pasa de la perspectiva de otear el horizonte por encima de la bar andilla, de puntillas para poderme asomar.

Las tres tecnologí­as entre las que me debato, para unos u otros proyectos, rondan siempre a Java, Django y RoR. Parto de la base de que mis conocimientos web se quedaron en el html (cutre) y que me he saltado directamente a uno de los gr andes como PHP, que no solo se queda ya como algo muy sencillo comparándolo con estos tres “nuevos” lenguajes, sino que además a dí­a de hoy ya es tonterí­a ponerse a aprenderlo.

Acabo de leer de entre mis tabs eternamente a la espera de ser leidos, una entrevista que le hizo mi amigo @sowe a @happywebcoder, o Raul Murciano, como le conocí­ yo en la universidad cu ando era mi profesor. Un excepcional profesional, guia de referencia para mi en muchos campos además del de la programación.

Os la reproduzco aquí­, porque conmigo ha conseguido que me pique el gusanillo ( @sowe, objetivo conseguido!! ;D), como para, a estas alturas que aún no he dado ningun paso imporante adelante, quizas decantarme por RoR antes que Django para muchas cosas (o todas).

¿Como esta el RoR en San Francisco (SF)?

Pues la verdad es que en plena forma. En SF hay muchí­simas start-ups y muchas de ellas basan su tecnologí­a en la web. Rails encaja muy bien con la filosofí­a de una start-up: permite prototipar muy rápido sin que el código deje de ser mantenible, ir refin ando el prototipo mediante iteraciones cortas, incorporar gente al equipo es fácil porque todo el mundo sigue las mismas convenciones… Aquí­ se han dado cuenta de todas estas ventajas y, pese a que hay una cantidad tremenda de empresas… siguen haciendo falta programadores!

¿Como te has adaptado a SF?

SF es una ciudad muy acogedora, siempre encuentras alguien dispuesto a orientarte o echarte un cable. Tengo la sensación de que muchos de sus habitantes también proceden de otros sitios y hay cierto ambiente de solidaridad.

Eso sí­, es una ciudad muy cara, especialmente el tema del alojamiento está por las nubes. En nuestro caso hemos optado por vivir en las afueras, en Berkeley: en 20 minutos de BART (parecido al metro) estamos en la ciudad y es un sitio más pequeño que encaja muy bien con nuestro estilo de vida (venimos de vivir en un pueblecito de la Costa Brava). Nos gusta tener la ciudad cerca para hacer alguna escapada de vez en cu ando, pero para el dí­a a dí­a preferimos un sitio más tranquilo… será que nos hacemos mayores  :D

El idioma es sin duda mi punto débil, pero es parte de lo que quiero mejorar durante el tiempo que esté aquí­. Por suerte mis compañeros de trabajo son encantadores y tienen una paciencia tremenda conmigo.

Lo que no podemos evitar es echar de menos a la familia: por suerte podemos hablamos por videoconferencia muy a menudo y les mantenemos informados por facebook para compartir con ellos un poco de nuestro dí­a a dí­a. Tener la familia y los amigos lejos es sin duda lo que más nos cuesta de estar aquí­.

¿Como ves Ruby y RoR desde un punto de vista tan privilegiado como heroku?

Heroku aloja miles de aplicaciones basadas en Rails y en ese sentido  sí­ es un punto de vista privilegiado porque puedes ver cómo aumenta el número de empresas que apuestan por Rails. Nuestro equipo de ventas nos informa cu ando detecta alguna empresa conocida adopta nuestra plataforma y por suerte ocurre bastante a menudo. Por otra parte, Heroku utiliza internamente muchí­simos proyectos open source desarrollados en Ruby. En todos ellos ves que la evolución no para y que tienen un ritmo de actividad impresionante, igual que impresiona el número de grupos locales y de conferencias dedicadas a practicar y difundir las bondades de Ruby y Ruby on Rails por todo el mundo. Por todo esto creo que tanto a nivel de popularidad entre las empresas
como de actividad por parte de la comunidad Ruby y Ruby on Rails están en un momento dulce.

Que crees que le falta a RoR para difundirse mas?

Tiempo. Creo que en las tecnologí­as, como en muchas áreas de conocimiento,cada persona tiene distintos grados de interés y de
permeabilidad hacia las novedades. Dirí­a que tanto Ruby en el campo de la programación como Rails en el del desarrollo web han hecho suficiente “ruido” como para que la gente que tiene interés en estar al dí­a haya oí­do hablar de ellos.
También creo que esa entre esa gente se ha creado suficiente masa crí­tica de usuarios como para darle entrada en el mundo empresarial, y que las empresas que tienen interés y se lo pueden permitir han empezado a probar Ruby y Rails con pequeños proyectos. Creo que es importante hacer esta puntualización sobre “las empresas que se lo pueden permitir” porque hay empresas que, o bien porque se dedican a temas en los que Ruby y Rails no encajan, o tienen una estructura demasiado rí­gida que les impide evaluar nuevas tecnologí­as (lo cual me parece peligroso a largo plazo si la tecnologí­a juega un papel importante en su negocio).
El siguiente nivel de “permeabilidad” serí­an las personas y empresas que sólo prueban y aprender nuevas tecnologí­as cu ando no les queda más remedio, porque el mercado se lo exige. Ese paso es con diferencia el  más lento y sólo el tiempo dirá si Ruby y Rails llegan a penetrar a ese nivel, pero eso depende en gran medida de otros factores diferentes a la difusión.

¿Que crees que le falta a ruby o RoR o en que podí­a mejorar?

Antes de nada me gustarí­a resaltar que Ruby no es el lenguaje perfecto ni Ruby on Rails el framework ideal para desarrollo web porque “there are no silver bullets”.
Vamos con Ruby:
– a nivel de sintaxis es un lenguaje muy conciso pero me gustarí­a que lo fuera un poco más (por ejemplo soy fan de la tabulación de python vs el “end”).
– del desarrollo del lenguaje en sí­ apenas conozco nada así­ que poco puedo aportar. Si acaso comentarí­a que en alguna de las listas
oficiales (ruby-dev) aún se utiliza japonés y yo unificarí­a en todas el uso del inglés.
– en cuanto a las librerí­as creo que rubyems, pese a ser un proyecto indispensable para cualquier programador Ruby, aún está a mucha distancia por ejemplo del CPAN de Perl.
– para terminar, siempre le pediremos a ruby más rendimiento y menos consumo de recursos: por suerte hay gente muy buena trabaj ando en las diferentes implementaciones de Ruby así­ que veremos mejoras.

En cuanto a Rails:
– la versión 3 ha traí­do una fuerte reestructuración interna: ahora Rails es mucho más hackeable pero creo que el rendimiento (al menos en modo desarrollo) se ha resentido mucho, así­ que me gustará ver si mejora en ese aspecto.
– la documentación, tanto a nivel de API como de tutoriales y guí­as de buenas prácticas, es fundamental para facilitar la adopción y uso de un framework. Por suerte gente como Xavier Noria han dado un paso al frente y con un trabajo diario han conseguido generar una documentación magní­fica además de facilitar la participación de cualquier interesado en corregirla o completarla, espero que más gente se anime a colaborar en este apartado.
– como twitteaba hace poco @mgnoriega, es bueno ver que tras una etapa de consolidación Rails está de nuevo innov ando: me gustará ver en funcionamiento la gestión automática de assets y su integración con coffeescript en su siguiente versión. Era algo que hasta ahora se gestionaba con plugins: espero que siendo los nuevos defaults su adopción crezca entre los desarrolladores, muchos usuarios se verán beneficiados al visitar webs con contenidos comprimidos y optimizados para su descarga y cacheo.

¿Quizá uno de los aportes de RoR sea la metaprogramacion aplicada?

Sí­ y no. Yo creo que la metaprogramación es buena cu ando sirve para evitar repetir código, pero creo que en algunas versiones anteriores de Rails se llegó a abusar demasiado de ella: algunos fragmentos eran demasiado “exóticos” y eso dificultaba corregir errores o simplemente comprender cómo funcionaban. Creo que hay que buscar un compromiso entre la elegancia y la legibilidad del código y creo que en ese sentido Rails ha madurado bastante.

¿Que ventajas ves a ROR frente a PHP y al todo poderoso JAVA?

La primera ventaja que yo veo es la sintaxis: creo que Ruby es un lenguaje muchí­simo más conciso y elegante que PHP y Java. Hay gente que no le da importancia a estas cosas, pero a mí­ me parece fundamental que el código sea siempre fácil y rápido de leer, mantener y modificar. En ese sentido creo que Ruby es mejor que PHP (cuya sintaxis para trabajar con orientación a objetos siempre me ha parecido un apaño) y que Java (que en mi opinión tiene una sintaxis que conduce a diseños demasiado recargados).

Para mí­, hasta hace poco tiempo PHP era una alternativa válida frente a Rails cu ando necesitabas desarrollar una web muy sencilla. Con la aparición de rack y Sinatra no encuentro un ejemplo en el que optar por PHP. Otra ventaja que tení­a PHP era su ubicuidad y su facilidad de despliegue: con Heroku tardas menos de un minuto en crear y pasar a producción una aplicación Ruby… Así­ que yo ya no le veo ninguna ventaja a PHP.

Java tiene un mercado empresarial gr andí­simo en varias plataformas diferentes y por tanto hay mucho dinero invertido, no se dejará de utilizar de la noche a la mañana y seguro que mantiene una posición privilegiada en mercados concretos. Eso sí­, creo la desaparición de Sun supone un revés muy importante, y no sé si Oracle tiene muy claro qué hacer con lo que ha comprado… Dirí­a que Java es como los abuelos cascarrabias de las pelí­culas: le queda mucho tiempo entre nosotros pero cada vez menos gente quiere hacerse cargo de él.  Como anécdota, Jonathan Schwartz (ex CEO de Sun) utiliza Rails en la empresa que fundó tras vender Sun, y no creo que le falten contactos ni recursos para contratar profesionales Java de primer nivel  :D .

Cómo evitar que ROR crezca hasta hacerse inmantenible como JAVA?  ¿Está RoR hecho para el mundo Enterprise?
Las aplicaciones de mi empresa tienen muchos usuarios… ¿Rails escala?  ¿Crees que hay mundo después de java?

(Agrupo estas tres preguntas para darles una respuesta común).
Creo que con la tecnologí­a que tenemos hoy en dí­a, los culpables de que un proyecto sea difí­cil de mantener somos las personas y no los lenguajes o frameworks que utilicemos. Los plazos de entrega irreales y la desgana a la hora de programar pueden darse tanto en proyectos Rails como en proyectos Java. Sí­ creo, como te decí­a antes, que creo que Ruby ayuda a tener un código más mantenible que Java… pero durante mi tiempo de freelance he visto aplicaciones Rails cuyo mantenimiento debe ser un infierno, así­ que usar ruby no asegura nada.
En el 2008,  yellowpages.com explicaba en conferencias cómo habí­a migrado de Java a Ruby on Rails. El código pasó de 125.000 a 20.000 lí­neas, se alegraron de comprobar que habí­a mejorado muchí­simo su mantenibilidad y seguí­an sirviendo más de mil millones de páginas al mes. Como ejemplo extremo de escalabilidad tenemos empresas como twitter o facebook que han probado distintas tecnologí­as y han terminado ajustándolas a medida para que se adapten a lo que necesitan. El lí­mite de Rails parece que está entre ambos ejemplos pero lo desconozco porque no he trabajado en proyectos de esa escala.

Ya tenemos muchos programadores formados… ¿Compensarí­a fórmalos en RoR?

Yo lo harí­a si fuera mi empresa y pudiera permití­rmelo. Como mí­nimo, aunque no quieras cambiar de tecnologí­a, seguro que sacarí­an algunos patrones interesantes que poder aplicar con la tecnologí­a que utilizan actualmente.

¿Serí­an nuestros programadores más felices trabaj ando con RoR?

No lo sé, puedo decirte que yo sí­ lo soy (he trabajado previamente con PHP y Java).

 

A %d blogueros les gusta esto: