Hola, Mauricio. Si, el artículo es interesante, pero ni en el update del 2008 (mencionado arriba de todo) el autor le pega a ciertas cosas, a mi criterio. Te cuento mi opinión del otro lado:
* Ruby: el lenguaje es recontra-fácil de empezar a usar. Convertirse en un experto, como siempre, lleva mucho tiempo y dedicación, pero te doy un ejemplo. En Kleer <http://kleer.la> organizamos muy seguido Coding Dojos. Son eventos en que nos juntamos con varios programadores de distintos ámbitos y lenguajes a resolver ejercicios cortos usando TDD (code katas<http://codekata.pragprog.com/>). Todo el ejercicio se hace en un par de horas. Muchas veces los hacemos en distintos lenguajes como Java, C# o Ruby. Como la gente va rotando, cuando les toca Java o C# al que no está acostumbrado se le complica. En Ruby casi nadie se detiene mucho. La sintáxis fluye. * Ruby on Rails: uso un ejemplo cercano como testigo. Un grupo de conocidos foxeros de esta lista venía trabajando en .NET desde hacía tiempo, y habían estado un par de meses con una aplicación web cuando empezaron a jugar con Rails (vaya a saber por influencia de quién...). Para probar, decidieron rehacer la aplicación, y en una semana y pico habían logrado lo mismo (casi sin conocimiento previo de Ruby) y encima el código era el 10% y todos lo entendían de punta a punta. Hoy son fanáticos de Rails, y dieron un par de jornadas de introducción en el MUG. * IDE: este para mi es uno de los grandes cuentos. En general en muchos de estos lenguajes (Ruby, Python, JS) la mayoría de la gente programa con VIM, Notepad++, TextMate o mi favorito Sublime Text. Son editores de texto con algunos features. No tenés intellisense ni un montón de otras herramientas, pero vas rapidísimo y nunca tenés que esperar nada. En lenguajes como Ruby o Python en vez de Intellisense tenés la consola donde podés probar y descubrir lo que quieras (como la ventana de comandos de VFP). A la mayoría de los que pasamos por ahí nos tenés que pagar extra para trabajar con Visual Studio o Eclipse. * Fanatismo: es cierto que la comunidad Ruby es medio fanática. Los foxeros también los fuimos/somos. En Ruby igual hay apertura a JS y otras cosas. Mucha gente de Java o .NET no es tan fanática pero es más resistente al cambio. * Crowd of a single mind (mono-cultura): esto ya pasó. Rails sigue siendo el framework principal, pero muchos preferimos Sinatra u otros frameworks más básicos, con menos *magia.* Y la comunidad Ruby fue el mayor impulsor de GitHub, donde hoy se pueden encontrar literalmente miles de alternativas para todo. * Capacidad y escalabilidad corporativa: esto también pasó. Hace tiempo apareció Ruby Enterprise Edition que rompió varios de esos límites, pero desde Ruby 1.9.x la velocidad y la escala mejorar muchísimo. Algo similar pasó con Rails, que con el tiempo y los desafíos hoy está mucho más preparado para altos volúmenes de uso. * Falta de soporte de proveedores de Internet: la respuesta principal es Heroku <http://heroku.com>, que hoy soporta mucho más que Ruby pero es para muchos la mejor plataforma cloud disponible. Y como aclaración, casi todo lo mismo aplica a Python. Hoy podría elegir uno u otro, pero hasta hace unos años, si tenía que enseñarle a programar a alguien desde cero iba por Python sin pensarlo. Podés programar estilo script, procedural, OOP, funcional, lo que quieras. Y no tenés techo por el hecho de que sea "fácil" arrancar. Saludos, --- Martín Salías <http://CodeAndBeyond.org> <http://CodeAndBeyond.org> 2012/9/21 Mauricio Pistiner <[email protected]> > Martín, > > Encontré este artículo que si bien tiene sus años (del 2006) plantea ya > ciertos reparos a la nueva tendencia Ruby, aunque el autor expresa su > admiración por este lenguaje. Habla entre otras cosas de la capacidad del > "desarrollador medio" para absorver tecnologías demasiado distantes del > paradigma de la época, similar a lo que pasó con SmallTalk. Es una opinión > más: > > > http://beust.com/weblog/2006/04/06/why-ruby-on-rails-wont-become-mainstream/ > > Las nuevas tecnologías contagian y fijan tendencia como pasó con la OOP en > su momento, de ahí que ROR fué imitado por montones de Frameworks MVC > adaptando el concepto a ambientes más "tradicionales". (sólo falta ver un > MVC a la ROR hecho en Cobol :) ) > > igual estaremos atentos a las conferencias que mencionás para ver las > nuevas tendencias. > > saludos > Mauricio > > ------------------------------ > *De:* Martín Salías <[email protected]> > *Para:* GUFA List Member <[email protected]> > *Enviado:* viernes, 21 de septiembre de 2012 9:20 > > *Asunto:* [GUFA] Consulta sobre .NET > > Hola, Mauricio. > > Hay una diferencia grande entre el mundo corporativo y el mundo "real". > Esta crisis se está agudizando ahora que se ve como más y más aplicaciones > dejan de correr en los entornos corporativos y se van a la nube. Obviamente > el mercado del desarrollo corporativo va a seguir ahí por años, pero cada > vez hay más oportunidades para grupos chicos que creen en lo que hacen. > > En ese sentido, Ruby está creciendo a pasos agigantados, no tanto a nivel > corporativo pero si en empresas que se orientan al mercado web masivo, que > al final las corporaciones terminan usando. Y Python tiene también un > mercado enorme, por ejemplo en servicios financieros y áreas de ciencia. > Python, junto con C, es uno de los lenguajes más populares en ambientes de > High Performance Computing. > > Otra vez, para entender los porque, recomiendo las conferencias. :) > > Saludos, > --- > Martín Salías > <http://codeandbeyond.org/> > <http://codeandbeyond.org/> > > > > 2012/9/21 Mauricio Pistiner <[email protected]> > > Martín, > > Siempre es interesante leer tus opiniones. Tanto Ruby como Python se > presentan como lenguajes dinámicos OO más elegantes y menos complejos que > otras opciones, la pregunta sería por que el main stream de la industria > corporativa del software se ha volcado tanto a JAVA y otro tanto a .NET > casi como un mandato, a su vez PHP sería como un hijo no reconocido del > cual todos reniegan y sin embargo es usado en un % importantísimo en el > mundo WEB. La gente que se prepara para salir al mundo laboral del código > tiene quizá más posibilidad de colocarse si maneja las herramientas antes > mencionadas y así se genera un circulo de oferta y demanda. Para un gerente > de proyecto TI buscar programadores Ruby o Python quizá no sea tan sencillo > y por eso apuesten a algo más seguro. El viejo tema de tendencia de mercado > versus "herramienta ideal". > > Saludos > Mauricio > > Enviado desde mi iPad > > El 20/09/2012, a las 21:11, Martín Salías <[email protected]> escribió: > > Hola, Mauricio. > > Groovy es interesante, pero no tiene mucho sentido si no tenés que > integrarte con aplicaciones que ya tengas en Java. Sin esa restricción, > Ruby es menos complejo en todo sentido, y bastante más eficiente en varios > frentes, sobre todo Ruby 1.9.x. > > Como vos decís, baja la complejidad, *respecto de Java*, no de Ruby. Si > no tenés compromiso previo es mucho más sencillo ir a Ruby directamente. > > De nuevo, si pueden, dense una vuelta por la > RubyConf<http://rubyconfargentina.org/es> > . > > Saludos, > --- > Martín Salías > <http://codeandbeyond.org/> > <http://codeandbeyond.org/> > > > > 2012/9/20 Mauricio Pistiner <[email protected]> > > Otro entorno interesante que está ganado posiciones es Groovy, un > lenguaje dinámico que corre sobre la JVM y Grails, un framework MVC > escrito en Groovy. Parece el intento del mundo JAVA para competir con ROR > bajando el nivel de complejidad. > > > > > >
