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.
>
>
>
>
>
>

Responder a