Encuesta

¿Qué piensas de la adquisición de Sun por parte de Oracle?

30-06-2009 - 182 votos

Destacados Agenda

Más eventos |

(1)

Por qué el fundador de CD baby ha abandonado Rails y vuelto a PHP

24/09/2007 09:37 abraham

Ya sé que la historia no tienen nada que ver con Java, pero sí tiene mucho que ver con la programación y creo que todos podemos aprender alguna lección de ella. CD baby es un portal dedicado a la venta de música de artistas independientes; tiene bastante éxito y emplea a cerca de un centenar de personas. Su fundador, Derek Sivers, decidió hace dos años migrar todo el portal de PHP a Rails; en su día fue una noticia bastante sonada y los defensores de Rails lo consideraban como una medalla que se podían colgar en el pecho.

 Dos años más tarde, y a pesar de haber contratado a un gran gurú de Rails, el proyecto se ha estrellado completamente y Derek Sivers ha decidido abandonar la base de código Rails y volver a PHP. En una extensa entrada en su blog explica los motivos que le ha llevado a tomar esa decisión. Uno de los motivos, algo que he escuchado en más ocasiones, ha sido la falta de flexibilidad de Rails cuando intentas hacer algo en lo que no han pensado sus desarrolladores. Otro, la complicación para integrar Rails con todas sus aplicaciones "legacy".

Derek Sivers hace varios comentarios muy interesantes:

 

For 2 years, I thought Rails is genius, PHP is shit. Rails is powerful, PHP is crap. I was nearly killing mycompany in the name of blindly insisting Rails was the answer to all questions, timeframes be damned. But when I took a real emotionless non-prejudiced look at it, I realized the language didn’t matter that much. Ruby is prettier. Rails has nice shortcuts. But no big shortcuts I can’t code-up myself in a day if needed. Looked at from a real practical point of view, I could do anything in PHP, and there were many business reasons to do so.

 

O su opinión sobre los lenguajes de programación: cuántos más aprendas mejor programador serás, porque las lecciones que aprendas en un lenguaje que permitirá programar mejor en los demás, incluso si los otros lenguajes no tiene soporte directo para lo que has aprendido:

 

PROGRAMMING LANGUAGES ARE LIKE GIRLFRIENDS: THE NEW ONE IS BETTER BECAUSE *YOU* ARE BETTER

 Rails was an amazing teacher. I loved it’s “do exactly as I say” paint-by-numbers framework that taught me some great guidelines. I love Ruby for making me really understand OOP. God, Ruby is so beautiful. I love you, Ruby. But the main reason that any programmer learning any new language thinks the new language is SO much better than the old one is because he’s a better programmer now! You look back at your old ugly PHP code, compared to your new beautiful Ruby code, and think, “God that PHP is ugly!” But don’t forget you wrote that PHP years ago and are unfairly discriminating against it now. It’s not the language (entirely). It’s you, dude. You’re better now. Give yourself some credit.

 Sólo añadir una cosa más: bravo a Derek Sivers por hacer algo que prácticamente nadie se atreve a hacer: fracasar y contar a todo el mundo su fracaso para que los demás podamos aprender de él. Muchas gracias Derek .

Volver a actualidad

Etiquetas: otro, Rails, PHP

Comentarios: 15

  • ibon 24/09/2007 10:00

    Otro caso interesante puede ser twitter vs. jaiku(que por lo que he visto en sus páginas usan php).

    En principio el problema no es tanto de Ruby, o ni siquiera de Rails: lo que pasa es que cuando un bocazas entra pegando voces en un bar diciendo lo macho que es, todo el mundo espera que lo demuestre :-). Y tal vez aún no está preparado para todo lo que se le pide... o no es la bala de plata que algunos insignes bloggers han predicado.

    Salu2

  • venkman 24/09/2007 10:08

    Me gustaría añadir algunos comentarios más sobre este tema (o alrededor de él).

    1. Derek Sivers es un tipo bastante listo. Desarrolló el anterior sitio en PHP (y funcionaba bastante bien) y ha desarrollado el actual y (aunque quizá me gustaban más algunas cosas de antes) también va muy bien. No voy a decir que sea un guru de PHP ni nada así, pero sabe manejarse no sólo en la programación en sí sino en temas de diseño y usabilidad y en crear un negocio muy bien orientado.
    2. Ha recibido, por esta reciente decisión, un montón de críticas estúpidas de buena parte de la comunidad RoR. Sin embargo, también ha habido alguna buena respuesta que entiende la situación: es interesante leer esta contestación a las críticas estúpidas, por ejemplo.
    3. A una distancia algo mayor pero por lo menos tangencialmente relacionado, es bastante bueno este comentario. Ya digo que su relación es algo más lejana, pero es interesante de todos modos. Básicamente comenta el ciclo de expansión que Rails ha supuesto para Ruby y la aparente llegada al punto en que ha pasado el hype. Ahora - dice - el que llega es Erlang (que, todo sea dicho, es bastante interesante) y Erlang viene sin toda la farándula que montaba Rails con Ruby.

    Personalmente no puedo más que coincidir con Derek en su conclusión sobre el aprendizaje y los lenguajes.

     

    P. D. Jom... qué feas/raras quedan las listas numeradas, no?

  • ibon 24/09/2007 12:50

    Parafraseando al ínclito Obie Fernández:

    - Los creadores de Rails no son desarrolladores de aplicaciones... :-D

    Lo siento no he podido evitarlo... >:-)

  • Anónimo 24/09/2007 15:01

    Sin extenderme mucho, algo parecido me ha pasado a mí. Yo era capaz de programar cualquier aplicación web con servlets y JDBC, pero me convencieron para usar un framework e hibernate. Cuando empiezas con un framework e hibernate todo parece muy bonito: las aplicaciones simples quedan muy elegantes. PERO con el tiempo te das cuenta de que el framework te tiene encasillado y, además, el mapeo con hibernate entre tablas relacionales y objetos es un infierno en cuanto partes de un conjunto de tablas medianamente complejo. Y lo peor de todo es lo brutalmente lento que es hibernate. Al final, he vuelto al JDBC y a los servlets, y, cuando quiero un poco de ayuda para facilitar la programación de la navegación entre pantallas, añado un framework sencillito, pero sólo para algunas partes de las aplicaciones (así no me "encasillo"). Uf, al final, me he extendido... ;-)

  • vitxo 24/09/2007 17:19

    Para empezar, _no_ siento extenderme mucho. :)
    @Ibon, Twitter funciona en Rails, tuvo unos problemas de escalabilidad muy sonados hace unos meses, pero parece que lo han solucionado.

    Es en este punto, donde la discusión probablemente empiece a desvariar sobre guerra de frameworks, no-frameworks, Rails, no-Rails. La verdad que esta clase de artículos pseudo-sensacionalistas, que son el campo de cultivo perfecto para el Contenido Basura Generado por Los Usuarios 2.0, son los que me fueron quitando las ganas, día a día, de visitar la versión anterior de javaHispano.

    Yo sólo puedo hablar por mi: he experimentado los diferentes matices que subyacen al cambio de, y enumero cronológicamente sin extenderme en los motivos, Java -> PHP -> Java -> Ruby(Camping, Og+Nitro y Rails) -> Java. El factor común y fundamental que me ha permitido desarrollar código de calidad (cuando lo ha habido todo hay que decirlo :-) ) es el dominar el lenguaje y superar la barrera técnica inicial, las Buenas Costumbres y las herramientas que te proporciona la plataforma sobre la que se asienta la aplicación, en producción y en desarrollo. Más que nada, porque si soy libre para elegir NitroOg frente a Ruby on Rails, porque es sencillamente Thread-safe, estoy adquiriendo un compromiso con el framework, y el entorno/contexto de donde procede, y una responsabilidad conmigo mismo y mis objetivos.
    En ese sentido y como el resto de los mortales, no tengo la necesidad de que ninguna Celebridad (ni nadie) de la Blogosfera me dé lecciones de vida.

    La verdad que a mi me daría respeto echarle la culpa a un framework, y a su mecanismo publicitario[1], del fracaso de un proyecto de Ingeniería. Porque entre otras cosas, "Un Framework" es un ente inanimado capaz de asumir responsabilidades y compromisos. En ese sentido, venkman se ha lucido enlazando una crítica objetiva que no se fundamenta en la flojera verbal y en las palabras mal entendidas. Y esto no va por ti especialmente, Abraham, me refiero al "problema" -antiguo y conocido- del libre albedrío y del alcance que pueden llegar a tener las palabras equivocadas en el continente incorrecto.

    Por otro lado, la decisión que ha tomado Derek Sivers le honra, porque vuelve al lenguaje y a la plataforma que domina, y que le ha funcionado de forma sencilla y perfecta, y a Jamie Flournoy por tomarse su tiempo para escribir el artículo que Venkman a enlazado.

    Un abrazo, Vicente.

    [1] me guste o no.

  • ibon 24/09/2007 17:29

    Hola vitxo,

    Cuando me refiero a twitter me refiero a los problemas que tuvo usando Rails, y en como jaiku (siendo el mismo concepto) está hecho en php y va bastante mejor según comenta la blogocosa 2.0. Así que me parece un buen ejemplo de Rails vs. PHP puesto en práctica.

    Encantado de verte de nuevo por aquí... pero yo de lo que me estoy aburriendo ya es del meme "javahispano no es lo que era" (similar al de barrapunto).

    Salu2

  • Anónimo 26/09/2007 16:09

    Amigo Ibon, así que todo problema se reduce a la tecnología que empleas y no a la pericia de los autores, que son distintos. Bonita aportación la tuya. Muy inteligente, si señor.

     

  • ibon 26/09/2007 17:40

    No que va! Tú como eres la leche seguro que programas aplicaciones web con ensamblador, ya que la tecnología no importa. Cojonuda tu aportación. Muy anónima, si señor.

    Y si alguien no obtiene lo que quiere con Rails es porque es tonto... muy bien.

    Salu2

  • aitorgarcia 26/09/2007 19:19

    El caso particular que citabas Ibon, Twitter - Jaiku (que por cierto utilizo día si, día también y os animo a que probéis), no es muy equitativo puesto que, segun Alexa, el trafico del primero (origen de los problemas que habéis citado) quintuplica el del segundo. Como bien sabes correlación no implica causa y es por ello que no creo que sea una buena comparación entre el framework PHP de unos y el Rails de los otros (si es que en algun caso fuera relevante o útil realizar tal comparación).

    En defensa de vitxo y en referencia a tu respuesta no creo que el problema del bombo innecesario y los flames 2.0 sean coto de caza exclusivo de javahispano, ni mucho menos. Ni que sea algo que no ocurriese antes. 

     Y como a mí si me da vergüenza la longitud que tendría mi opinion a este respecto me la llevo a casa para molestar solo a los interesados :-D. 

  • vitxo 26/09/2007 21:26

    Ahora que me releo, me refería que un framework es incapaz de asumir responsabilidades, aunque del contexto se desprende lo que quería decir.

    Un abrazo a todos, vitxo.

  • Anónimo 27/09/2007 09:02

     

    No que va! Tú como eres la leche seguro que programas aplicaciones web con ensamblador, ya que la tecnología no importa. Cojonuda tu aportación. Muy anónima, si señor.

     

    Yo no he dicho que la tecnología no importa. He dicho que el problema no se reduce a la tecnología, que es lo que tú has hecho. Tampoco he dicho que si alguien no obtiene lo que quiere de rails sea tonto, sino que he dicho que decir que Jaiku es mejor que Twitter porque está hecho en PHP es reducirlo todo a la tecnología, cuando son aplicaciones diferentes, hechas por personasdiferentes, por lo que hay muchos más factores que influyen.

     

    Tu comentario sobre el ensamblador lo dejo de lado, por tonto (el comentario, no tú), porque no toda la tecnología se aplica a todos los casos, como no todos los coches valen para una carrera de F1 por mucho que todos tengan cuatro ruedas. Aunque seguro que tú eres capaz de ganarle a Alonso con un seat.

  • Anónimo 27/09/2007 09:09

    A mi lo qu eme llama la atención es que una noticia sobre Rails y PHP tenga que salir en JAVAhispano. Más bien parece una rabieta todo este hilo. Si esto es "desarrolloweb.com" que me avisen.

  • ibon 27/09/2007 10:03

    Hola aitor,

    En ningún caso he dicho nada de los supuestos problemas de escalabilidad de twitter: de hecho nada más salir la polémica entrevista a uno de los programadores de twitter las soluciones a su problema salían como setas de la comunidad Rails. Pero en esa misma entrevista me parece recordar que no solamente hablaba de problemas de rendimiento... "Va bastante mejor" ha sido una expresión incorrecta: "Jaiku me parece más completo", sería mejor. Lo que esta noticia me ha recordado de ese caso es que el concepto novedoso procedía de twitter, pero la puesta en marcha (que a mí me parece mejor) ha sido en php. Un poco lo que comenta Derek: ha aplicado los conceptos aprendidos en Ruby en php.

    Lo que he querido decir (mal por supuesto como todo lo que yo suelo decir) es que las ideas que ha traído Rails han sido un soplo de aire fresco, pero que me sigue pareciendo que a la hora de puesta en práctica, todavía está verde.

    "En defensa de vitxo (...)"

    No hace falta porque no creo haberlo atacado: la gente da su opinión sobre la "línea editorial" de jH y yo opino sobre esas opiniones. Y no tengo tan claro de que el problema sea que salgan estas noticias en jH, sino de los que las comentamos en lugar de comentar otras noticias sobre Java.

    "decir que Jaiku es mejor que Twitter porque está hecho en PHP es reducirlo todo a la tecnología"

    Desde luego, pero eso es algo que yo no he dicho sino que tú has interpretado (porque releyendo mis comentarios la verdad es que no he sido muy claro): me mosquea que los programadores de twitter salgan quejándose de la herramienta que utilizan. Para mi jaiku es más "completo" y parece que avanzan más rápido que twitter, sus competidores. Pero bueno, antes de que este hilo se convierta en un nuevo el "troll ibon vs los demás"... mutis por el foro, y dejaré mis desacertadas opiniones para cuando cree un blog.

    Salu2

    PD: A Alonso no, pero dame un A3 y a Sato le pego 4 vueltas.

    PD2: releyendo la entrevista a Alex Payne (http://www.radicalbehavior.com/5-question-interview-with-twitter-developer-alex-payne/) veo que me equivoqué y sólo habla de rendimiento. Lo siento pero sigo pensando que en Jaiku lo están haciendo mejor y sin quejarse de su herramienta. Leyendo tu blog Aitor me alegro de que te preocupe el ruido 2.0. y la calidad de la información.

  • vitxo 27/09/2007 13:55

    "No hace falta porque no creo haberlo atacado: la gente da su opinión sobre la "línea editorial" de jH y yo opino sobre esas opiniones. Y no tengo tan claro de que el problema sea que salgan estas noticias en jH, sino de los que las comentamos en lugar de comentar otras noticias sobre Java."

    Sin entrar en el ataque o no, porque no quiero desvirtualizar más el hilo: entonces el propósito de este post, que es el origen de la discusión, no tiene razón de ser en una comunidad de estas característias. Y eso que me he releido varias veces tu comentario, por si las moscas. :-)

    Siento mucho que te canse el rollito "jH no es lo que era", pero tengo el mismo derecho a expresar mis convicciones, de la misma forma que Abraham expresa las suyas y tu opinas sobre nuestras opiniones. :-) Yo ya no tengo mi blog bajo weblogs@jH.org (de hecho, ya no tengo weblog temporalmente), y me parece éste el lugar adecuado para expresar estas opiniones.

    Si quieres que discutamos sobre la naturaleza y olor de las nubes, Ibon, te invito a un Campfire o sencillamente a que me escribas por correo: vicente.reig@gmail.com

    Un abrazo, vitxo.

  • lasterra 27/09/2007 19:13

    Perdon por el retraso en comentar. A mí particularmente este tipo de noticias no me parece mal que aparezcan en jH. Estamos además viendo un momento en el que Java esta incorporando lenguajes de scripting a su plataforma y seguramente muchos "novatos" ya no sepan ni donde mirar, cuando se inician en el "arte" de programar.

    Comentando la noticia me parece que demuestra que no existe una única solución para todos los casos. Al iniciar un proyecto debemos estudiar bien entorno y tecnologías existentes para saber cual es la mejor forma de llevarlo a cabo, pero siempre nos dejaremos llevar por la subjetividad de lo que conocemos (y desconocemos).

    Como dice uno que he leido antes... ser buenos¡¡

Escribe tu comentario

Sun Microsystem Logo NHT-Norwick Logo

© 2002-2007 Asociación javaHispano