2012/6/12 Javier Garay <javierzga...@gmail.com> > Hola Lista. > > Hola
> Quisiera saber su opinión respecto a estas plataformas de desarrollo. Sé > que muchos de ustedes preferirán el software libre y se inclinarán por > Java, pero tal ves no es así y me gustaría saber su postura frente al tema > o por qué escogerían .Net. > > Yo no soy un experto en ninguna de las dos plataformas, pero las he > utilizado y las conozco, tengo mis propias impresiones, pero no está demás > saber que piensan mis colegas. > > Se viene una guerra santa. Hay que considerar varias cosas: - Máquina virtual: La máquina virtual de Java debería ser intercambiable, pero generalmente se uytiliza la de Sun (Oracle?). Es buena, pero va un poco más atrás que otras. La máquina de .NET fue diseñada para optimizar el rendimiento, permitiendo declarar estructuras por ejemplo, evitando hacer boxing. Llevó la ventaja con cosas como generics reales, delegates (punteros a funciones) y últimamente LINQ, una maravilla (IMHO). En Windows, se usa la máquinavirtual de MS, pero en otras plataformas (Linux, OSX, etc), corre Mono. - Lenguaje: En la JVM (Java Virtual Machine) puedes correr Java (duh) y otros lenguajes como JRuby o Groovy. En .NET, los principales lenguajes son C# y VB.NET, pero hay maś como F# y Java (IKVM). Si se comparan los lenguajes principales, Java y C#, creo que no hay mucho que decir. C# es claramente más potente. Incluye características como: lambda, LINQ, expression trees, métodos anónimos, using (patrón disposable) y otras chorezas, bastante atadas a la VM. - Desktop: En desktop, Java nunca se ha destacado mucho. La verdad es que no conozco los toolkits qaue se utilizan (¿AWT parece?.. o algo así), En Mono/.NET puedes usar Gtk#, que son bindings de Gtk+. En varias distros hay aplicaciones conocidas usando Mono, como Tomboy (notas), Banshee (música), MonoDevelop (el IDE) y F-Spot (fotos). Entiendo que hay un par de bindings para QT, pero nunca han sido muy po9pulares. - Web: En Java hay frameworks como JSF o Struts (MVC). En .NET, hay varios frameworks. ASP.NET webforms es similar a JSF y ASP.NET MVC es como struts. El MVC 2 está incluido en Mono. Hace un par de meses, ASP.NET es open source y puedes incluso hacer pull requests, pero no lo he visto integrado en mono todavía. La última vez que probé, el compilador se cayó al compilar Razor (el view engine). ¿Se nota que me gusta más Mono/.NET?... :D -- Atte, Juan Cristóbal Olivares *La disposición a admirar, casi a adorar, a los ricos y poderosos y a .... descuidar a las personas más pobres … es la mayor y más universal causa de corrupción de nuestros sentimientos morales (**Adam Smith)*