Martín, excelente, pero una pregunta para decidirme . Tiene Ruby una lista tan picante como esta?
Saludos. Ale Paciotti. De: [email protected] [mailto:[email protected]] En nombre de Martín Salías Enviado el: viernes, 21 de septiembre de 2012 05:20 p.m. Para: GUFA List Member Asunto: [GUFA] Consulta sobre .NET 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> 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/> 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/> <http://codeandbeyond.org/> 2012/9/20 Mauricio Pistiner <[email protected]> <http://codeandbeyond.org/> 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. <http://codeandbeyond.org/> <http://codeandbeyond.org/> <http://codeandbeyond.org/> <http://codeandbeyond.org/> <http://codeandbeyond.org/>
