Después de 4 años y 7 meses desde que se publicó Java 6 (JDK 6), el equipo de Oracle ha concluido esta semana la nueva versión del lenguaje/plataforma. Como ya se había anunciado, la versión para OSX tardará un poco más, pero ya las versiones para Linux, Solaris y Windows están listas. Durante su trabajo, han corregido 9,494 errores, 1,966 mejoras, 9,018 cambios, 147 builds, y cuatro JSRs.
|
etiquetas: java , oracle , sun
Sobre que Java es lento y consume memoria... parece mentira que se siga hablando de esto en 2011. Java se ejecuta en una máquina virtual, y al igual que cualquier otro lenguaje de similares características, necesita (quién lo iba a decir)... arrancar la máquina virtual. Que como todo programa, ocupa su memoria y tarda su tiempo en arrancar. Cuando ejecutas un programa en Java, en realidad estás ejecutando dos: la máquina virtual y el programa.
Pero sobre todo, ese comentario viene de gente que no ve más allá de un par de programas hechos en Java que arrancaron alguna vez. El poder de Java reside en el lado de servidor, donde es tecnología predominante junto con PHP. Muchas de las aplicaciones web que usáis a menudo probablemente están hechas, enteramente o en…...
Además, todo el mundo sabe que Java va lento porque se programa desde entornos de desarrollo complejos como Eclipse, que mina la creatividad del programador y le hace programar peor. Mientras que usando emacs el programador está sólo ante el lenguaje y así llega a conocerlo mejor.
- ¿Quien es?
...
...
...
...
...
...
...
...
- ¡Java!
Vamos, que empiecen los chistes malos sobre Java, que hay muchos
La coordinación no es sencilla.
Sobre que Java es lento y consume memoria... parece mentira que se siga hablando de esto en 2011. Java se ejecuta en una máquina virtual, y al igual que cualquier otro lenguaje de similares características, necesita (quién lo iba a decir)... arrancar la máquina virtual. Que como todo programa, ocupa su memoria y tarda su tiempo en arrancar. Cuando ejecutas un programa en Java, en realidad estás ejecutando dos: la máquina virtual y el programa.
Pero sobre todo, ese comentario viene de gente que no ve más allá de un par de programas hechos en Java que arrancaron alguna vez. El poder de Java reside en el lado de servidor, donde es tecnología predominante junto con PHP. Muchas de las aplicaciones web que usáis a menudo probablemente están hechas, enteramente o en parte, en Java. Y son aplicaciones donde, creedme, poco importa que la máquina virtual tarde unos segundos en arrancar (si todo va bien pueden estar meses sin reiniciarse los servicios, y cuando lo hacen es por actualizaciones del proyecto) o que ocupe unos pocos megas en memoria, cuando la aplicación en sí consume gigas y gigas porque sirve a millones de usuarios.
Y decir que gracias a tecnologías como JIT, el bytecode termina por compilarse a código nativo altamente optimizado, tanto que en algunas rutinas es más rápido que C++.
— Alanna
“Bien, Java podría ser un buen ejemplo de cómo debería ser un lenguaje de programación. Sin embargo, las aplicaciones Java son buenos ejemplos de cómo las aplicaciones no deberían ser.”
— Pixadel
“Si Java dispusiera de un mecanismo real de recolección de basura, la mayoría de los programas deberían autoeliminarse al ser ejecutados.”
— Robert Sewell
- Java 6 es un lenguaje con especificaciones Open source y existen implementaciones libres (openJDK). La implementación oficial es gratuita aunque no libre.
- Lo de que Java es lento, improductivo, con errores, o que cada vez que lo usas un gatito muere, son excusas del pasado. Como todo lenguaje, tiene su segmento de mercado (programas de gestión, aplicaciones, etc., pero no juegos 3D o librerías que necesitan rendimiento alto).
- C# es una copia de Java (personalmente he copiado programas simples de uno en otro lenguaje y funciona con cambios mínimos). Luego las librerías son distintas aunque con una filosofía más parecida de lo que muchos quieren admitir.
- Java es multiplataforma real. En 8 años de programación Java tan solo he descubierto una cosa (no documentada, que yo mismo me cuajé) que funcionase de forma distinta en Windows que en Linux. Y era en Java 1.1. De nuevo, cada lenguaje tiene su mercado.
- Java 7 es una especificación no libre. Ahí está el problema. Usa Java 6.
- toc toc
- ¿quién es? (1)
...
...
...
...
...
java, java, java, java
java, java, java, java
java, java, java, java
(1) también puedes preguntar lo mismo y en el mismo idioma en china, italia, alemania, en la ciudad del sánscrito, en....
#1 ¿qué has querido decir? ¿que tiene muchos errores? ¿que van rápido corrigiendo? ¿que son lentos corrigiéndolos? ¿que tienen el cipote gordo? ¿finito? ¿quéee?
- Java 7 es una especificación no libre. Ahí está el problema. Usa Java 6.
Justo cuando iba a enviar un mensaje preguntando eso, vas tu y me contestas. Gracias.
¿Podrías hablar más sobre las consecuencias de programar sobre una especificación no libre? ¿Hablamos de posibles royalties y restricciones legales?
¿La maquina virtual de java 6 seguirá mantenida? Porque si no es asi tendremos que actualizar a la fuerza.
- Java 6 es un lenguaje con especificaciones Open source y existen implementaciones libres (openJDK). La implementación oficial es gratuita aunque no libre.
Además de eso, ¿no ofrecían una maquina virtual GPL y otra privativa, de pago? O algo así
Otro que se cree que Java es lo de los applets. Hoy día el 90% del código Java existente es en aplicaciones de servidor, y que yo sepa no tienen rival a nivel de rendimiento. Ni Python, ni PHP, ni RoR.
#7 "Eclipse mina la creatividad del programador..."
Si la capacidad de programar de alguien depende del editor o entorno, mal vamos. Y en el mundo de Java el mejor profesional es el que más puede hacer con menos código escrito, te lo aseguro.
De 14 comentarios que he leído, el único que sabe de verdad algo del tema es #13.
Eso sí, con Eclipse me pasa como con C. Aunque los considero útiles y creo que viene muy bien conocerlos, aprender a programar Java con Eclipse (o con NetBeans o con el entorno que sea) desde cero me parece una cagada tan gorda como tener C como primer lenguaje de programación para aprender. En este último caso mi primer lenguaje fue Pascal en el que conocer qué es un puntero no es necesario para comenzar y la verdad es que pese a su "obsolescencia", siempre estaré muy agradecido de haber empezado con ese lenguaje.
1. falacia. no es estupendo sólo por eso, es un punto a favor.
2. habla bien de lenguaje, no habla de la máquina virtual. ¿aplicaciones? ¿cuáles?
3. es sólo un chiste. y vuelve a hablar sólo de aplicaciones ¿qué aplicaciones son esas?
#21 C es EL lenguaje para aprender a programar. no es ninguna cagada aprender con él.
Usar una especificación no libre como Java 7.
El usar una especificación no libre significa que para usarla necesitas el permiso de quién la realizó (en este caso Oracle). Este permiso suele ser comprando una licencia. No pagar significa infringir derechos de autor. La compra de licencia también incluye el permiso para usar patentes del licenciador, pero eso es otro tema.
Personalmente entiendo la postura de Oracle, que es intentar protegerse de la copia de Java para hacer C#, pero estaba claro que la comunidad iba a rechazar fuertemente este cambio.
La vida de Java 6
Muchos (muchísimos) proyectos actuales usan Java 6, y dado que no podrán pasarse a Java 7 porque las especificaciones no son libres, tendrán que mantenerse ahí. Tampoco hay gran motivo para actualizarse a Java 7 (los cambios son mínimos comparados con, por ejemplo Java 1.4(la versión más duradera) o Java 5(que incorporaron patrones y otras muchas mejoras).
Ahora el proyecto lo sigue dirigido por Oracle (que impuso las especificaciones no libre de Java 7 y 8 con la oposición total de Google y otros). Pero todos sabemos lo que ha pasado con OpenOffice -> LibreOffice. Además hay intereses comerciales con Java, el más famoso: Android.
Que la comunidad terminará imponiendo y evolucionando Java 6, no me cabe duda, pero ahora el soporte oficial está 'fracturado' y puede que haya algún cambio o problemas durante algún tiempo. Por supuesto, Oracle no quiere esto y está intentado demandar a Google por patentes en Java (batalla que parece que Google tiene medio ganada, pero quién sabe).
www.youtube.com/watch?v=_MBy5Tg5EPM&t=3m
(momento 3:04 )
Personalmente veo muchos motivos para usar MS Visual Studio C++ (licencia cara, pero es bueno y con su segmento de mercado indiscutible), pero para nada es razonable usar C# (solo windows y no tan maduro ni con las librerías de Java).
#16 Java 7 es una especificación no libre?
OpenJDK7 GPLv2 download.java.net/openjdk/jdk7/
No se si te referiras a las especificaciones de la JVM, no se si han cambiado, pero lo dudo, teniendo en cuenta que ya han ganado el juicio a la Dalkvid de google y pueden hacerles volver a pasar por el aro si no lo han hecho ya.
#25 No es cierto, eclipse tiene su propio compilador incremental
A ver si lo he entendido bien: ¿quieres decir que es posible que la comunidad haga un fork a partir de la versión 6 libre? Estoy espeso
Su gran ventaja es el inmenso número de proyectos y librerías que prácticamente cubren cualquier funcionalidad que puedas llegar a necesitar. Sin embargo eso mismo es lo que lo ha lastrado desde un punto de vista técnico desde hace varios años, mantener la compatibilidad hacia atras y no incluir cambios rupturistas. Además, la proliferación de todas esas librerías venía dada por el ecosistema que se había creado en torno a Java, que estaba considerado como un proyecto libre (aunque no lo fuese hasta recientemente). Ahora con el cambio de dirección no se qué será de él a largo plazo.
A día de hoy la máquina virtual de .NET, y C# como lenguaje, le dan bastantes vueltas (tipado dinámico, soporte de templates a nivel de IL, closures, varianza y contravarianza y un largo etcétera). El problema es que no se encuentra el mismo número de librerias para cubrir todas las funcionalidades que tiene JAva, y mucho menos libres o gratuitas.
Ruby o Python como han comentado juegan en otra liga totalmente diferente, son lenguajes totalmente dinámicos y mucho tendrán que cambiar las cosas para que sustituyan a Java o .NET como plataformas empresariales.
Lo que ganas con Java frente a C o C++, por mucho que intenten venderte la rapidez en la ejecución, es rapidez al programar y normalmente menor número de bugs (ya que escribes menos código).
www.muylinux.com/2010/12/10/apache-abandona-java-community-process-com
Luego está el problema de las patentes, pero eso es otra historia. De todas formas la comunidad ha reaccionado en contra de las imposiciones de Oracle,por lo que no se ya como finalmente quedó la cosa. Si finalmente Java 7 es libre de especificaciones, mejor que mejor.
Según la Wikipedia parece ser la última versión original de SUN. Puedes confirmármelo???
conocimientolibre.wordpress.com/2010/12/16/aprobadas-las-especificacio
Lo que sobra son las patentes, que en eso creo que estamos todos de acuerdo. Y también es cierto que los JCP de Java podían estar un poco más vivos introduciendo mejoras y copiando cosas de .NET (que copió prácticamente todo de Java en su día)
en.wikipedia.org/wiki/Java_compiler
Las patentes afectan a la máquina virtual no al lenguaje en si (especificacion abierta) ni a su libreria (GPLv2). Es decir, que aunque las especificaciones sean abiertas si alguien implementa su máquina virtual (google) tendra que pagar por las patentes. Supongo que la JVM7 traerá nuevas patentes ya que lleva un GC nuevo pero vamos que la JVM6 también está a rebosar de patentes estúpidas.
As part of Oracle's rebranding of Sun's products, the Company Name property of the java.exe file, the executable file containing Oracle's JRE for Windows, was updated from "Sun Microsystems" to "Oracle" in Java SE 6u21.
#24 ¿Eclipse o NetBeans compiladores? Que no te lea ese comentario un novato, por favor. Además, el enlace que pones en #43 no menciona a NetBeans y de Eclipse sólo dice que hay un compilador usado especificamente por Eclipse pero en ningún momento dice que Eclipse en sí lo sea.
De hecho, trata de compilar un programa con Eclipse sin instalar ningún compilador, creo que te llevarás una desagradable sorpresa.
Mu último contacto con C fue en la uni, en la práctica de sistemas operativos, haciendo un pequeño kernel. De vez en cuando aún me despierto sudando por las noches farfullando cosas de la pila...
En el enlace que he puesto debajo de donde pone "Major Java compilers"(Principales compiladores Java) lo dice claramente, si quieres sacarle tres pies al gato adelante pero no me vengas con historietas.
www.eclipse.org/jdt/core/
JDT Core is the Java infrastructure of the Java IDE. It includes:
An incremental Java compiler. Implemented as an Eclipse builder, it is based on technology evolved from VisualAge for Java compiler. In particular, it allows to run and debug code which still contains unresolved errors.
Además que un compilador de java es relativamente sencillo comparado con uno de c++.
#13 He echado de menos algún chascarrillo que haga honor a tu nick
#17 He querido decir que tienen el teclado lleno de pelos púbicos
ADA tiene una sintaxis muy parecida a Pascal, que creo muy amable y muy verbose. Y además el compilador oficial es muy estricto, lo que te obliga a escribir bien detallado, es decir, a planificarlo todo antes de teclear.
Aprender con C es duro, muy duro, prácticamente cualquier otra alternativa de más alto nivel me parece más lógica. Menos PHP y esas cosas, que lo mismo es una variable float que un string, y eso es ya empezar guarreando
#13 Añado a lo que tu dices del lado del servidor: Os sorprenderíais de la cantidad de llamadas telefónicas que hacéis que se procesan en servidores de aplicaciones implementados en java: ¿Os suena el Jain SLEE?
En general, no soy un defensor de un único lenguaje. Java tiene cosas buenas y cosas malas. Personalmente no conozco el lenguaje perfecto. Pero una cosa que no se le puede negar a java es la inmensa cantidad de frameworks y librerías que te facilitan la vida para hacer aplicaciones de todo tipo. Para mí, esa es su mayor virtud.
Edit: #60 a mi me gusta programar en java, ¿Estaré enfermo?
Tengo que admitirlo, me he vendido a la buena vida y sí, dejé c hace años y ahora programo en Java. Hace poco estuve haciendo mis pinitos con el código de firefox en c++ después de años y... dios, fue un puto infierno. Java es muy confortable, si peta te da una excepción exactamente en la línea que peta, no hay punteros locos que hacen que un programa se comporte de manera no determinista y todas las librerías estándar hacen todo el trabajo sucio ya (no nos deja prácticamente diversión).
Viva Java!
Yo creo que para aprender en la universidad es necesario aprender varios lenguajes y de diversas características. Incluso cosas "desfasadas" como Lisp son necesarias en la docencia. Aunque nunca se acaben usando.
Ahora bien, luego en el mundo profesional... pues cada cual tiene sus manías.
Yo uso java desde hace años y estoy contento. Sólo echo en falta un poco más de control sobre el Garbage Collector, que a veces hace las cosas a su bola, y más recursos para prevenir los OutOfMemoryError. Por lo demás, me parece un lenguaje imperativo muy bueno, y espero que siga habiendo implementaciones libres, al margen de lo que haga Oracle.
Java fue desde 2 en casi todo el lenguaje usado.
Java en el lado del servidor es tremendamente extendido gracias a las librerías y arquitecturas que se han ido creando con el tiempo, consumirá memoria, eso es cierto, pero eso de lento... con buenos servidores de aplicaciones, los programas vuelan (hablo siempre del lado de servidor, en cliente se siguen haciendo cosas con Swing, pero más a nivel de ingeniería)
#60 Me parece que el número de ofertas que hay de Java en Infojobs dicen todo lo contrario... .NET si que nadie quiere tocarlo con un palo porque en España NO HAY TRABAJO, toda la gente que ha querido permanecer en Microsoft han tenido que pasarse a Java si quieren seguir cobrando...
Lo juro, la que más me gustaba de todas; los null-safe operators ?. y ?:
¡Joder y los han sacado de la final release!
Los de Sun sacrificaron eficiencia en nombre de la portabilidad, pero creo que exageraron sin necesidad. La demostración perfecta de que no es necesario consumir medio ordenador para ejecutar una aplicación portable es Python: rápido, liviano y multiplataforma. En mi opinión a Java le espera el mismo camino de Cobol: muchos años de vida y soporte, no por sus cualidades, sino debido a su gran uso en infraestructuras enormes que nadie quiere reescribir.
Por cierto, aunque no fue un lenguaje que me hiciera mucha gracia (excesivamente tipado para mi gusto - to_String(to_Unbounded(to_String......... - ) también tuve varias prácticas de ADA en la Universidad.
#47 #49
si aprendes con otro puede que te despiertes sudando y soñando al meterte con C, pero si aprendes con C ningún lenguaje será mágico. serás mejor programador. y no estoy seguro de que C sea tan difícil para un novato, los punteros pueden ser algo que lía un poco, pero con un poco de práctica son sencillos. y todo esto con una gran ventaja: los punteros, las llamadas a función, los parámetros... todo es real, está ocurriendo realmente en el ordenador, no es una abstracción o un modelo ingenioso o fácil de aprender. sólo con esto ya debería ser obligatorio empezar con C.
www.meneame.net/story/openjdk-sera-implementacion-referencia-java-7
www.meneame.net/story/oracle-ibm-colaboran-para-continuar-desarrollo-j
www.meneame.net/story/apple-dona-codigo-plataforma-java-openjdk-oracle
www.oracle.com/us/corporate/features/java-7-launched-435823.html
Aquí hay mucho gurú, mucho guay que trata de demostrar sus superconocimientos en los comentarios, y paso de entrar en debates "yoLaTengoMasGrande" pero lo de los 5 errores x día me ha hecho gracia la verdad.
Saludos.
Hacer una aplicación de escritorio en Java es como hacer una gran aplicación de servidor en Visual basic 6: Una mala decisión técnica. Y por cierto, Java copiando archivos no es lento, te lo aseguro. Lo que es lento de cojones son sus rutinas gráficas (ventanas, menús, etc.), algo que en mi opinión no debería haber ni existido nunca.
Python como lenguaje es muy bueno, pero como plataforma para aplicaciones empresariales apesta. El fuerte ahora mismo de Java no es el lenguaje, es su estandarización y la calidad de sus plataformas (JEE). No sé si Python tiene un estándar de colas como JMS, o de persistencia como JPA, o de componentes como EJB, o de transaccionalidad como JTA, o... etc.
Aunque eso sí, llegar a extremos como el de mi Universidad en la que para aprender C tuve que meterme en asignaturas de Libre Elección también me parece algo excesivo.
#33 es mas? en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java
C# hace anyos que sobrepaso a Java en todas las facetas, excepto en el precio claro
Yo sigo manteniendo que aprender con C desde el principio es verticalizar la curva de aprendizaje, que poniendo un pascal antes (por poner uno) la rebajas un poco en el tiempo.
Las opiniones son como los culos, ya sabes...
markmail.org/message/kulrw4sm2nsshrta
- Cosas más o menos innecesarias como los 'unsigned integers', 'Value types, o los 'Variable type inference' o las tuplas(Java no tiene, C# si)
- Añadidos que complican el lenguaje como los Pointers, o la extrañisima forma que tiene de herencia el C#.
- Otras cosas no las proporcina el lenguaje, pero se hacen con librerías, como la programación funcional.
Lo que si es realmente definitivo para seleccionar un lenguaje es si es multiplataforma de verdad, no como C# (por mucho que me duela, mono diempre está 2 pasos atrás que Visual Studio, y cuando no los esté, MS podrá cerrar el grifo cuando quiera , cerrando especificaciones, patentes, etc.).
Otra cosa son las librerías (comerciales o no) que hay, o los sistemas que hay sobre dicho lenguaje.
En definitiva, perdóname, pero decir que C# supera a Java desde hace años con los débiles argumentos que aportas es muy de troll y fanboy (sin ánimo de ofender).
Java ahora mismo vive de la gran base instalada que hay, y de que se están introduciendo nuevos lenguajes más modernos (Groovy, Scala). Incluso Mono está tecnológicamente al nivel.
.NET es bastante más moderno precisamente porque no tiene ni la cuarta parte de usuarios y además depende sólo de una empresa (Microsoft) con lo que es bastante más ágil a la hora de introducir mejoras.
Si la cuestión es qué lenguaje o plataforma utilizar para realizar una nueva aplicación, hay muchas cosas que valorar. Pero técnológicamente (desgraciadamente) a día de hoy no hay discusión.
#90 go to #91
stackoverflow.com/questions/610199/the-art-of-programming-java-vs-c
reverseblade.blogspot.com/2009/02/c-versus-c-versus-java-performance.h
Me puedes dar tu argumentos?
Es que estoy harto de los trolls de comunidades endogamicas como la de Java "lo nuestro es lo mejor, pero no sabemos porque". C# ha estado al rebufo de Java muchos anyos, pero C# y .NET lo pasan de largo desde C# 3.0 y .NET 3.5, te guste o no.
Que tiene de extranyo la herencia en C#?
Java, como muchos proyectos de open-source, se pierde entre las cabezonerias de sus miles de usuarios que sacan desarrollos paralelos que terminan abandonados o inacabados. Asi ha estado tanto tiempo sin avanzar nada.
1) No deseaba ofenderte, pero tus argumentos en el comentario eran taaan débiles. Me disculpo por mi brusquedad. Tb, empiezas con un 'Lo que es ofensivo...'. quiero aclarar que no me he ofendido (ni he dicho de hacerlo) al leerte, solo que estoy en desacuerdo.
2) Apuntas a que C# está tecnológicamente al nivel de Groovy y Scala, aunque lo dudo mucho mucho. Pero da igual, dejémoslo en X.
3) .NET y sus mejoras. Si, ha mejorado más porque es mucho más nuevo e inmaduro (no tomar como despectivo) ... mejoras que son copiando a Java o C++ o Groovy o etc o etc. Java ahora está con otras cosas más avanzadas ¿que no forman parte del core? ¿que no parten de Oracle? Pues mira como me la sopla.
4) Por último, no comentas las ventajas que hacen Java preferible: multiplataforma real, gratuito y por fín LIBRE.
Como ves, de desinformado nada. Pero que cada uno use lo que quiera, pero hoy día al hacer una nueva aplicación, no hay duda: JAVA.
- primer goto: Lo que digan gurús que ni conozco me la sopla. Mis necesidades gustos y habilidades son distintas a las suyas.
- seg. goto: contestado en #92
- Lo de comunidades endogámicas y demás historias no sé que me cuentas. Para mi Java es preferible para mi porque es multiplataforma real, gratuito y libre y por otros argumentos ya dados. De hecho puedo debatir con trigoesrodrigo que parece más informado, pero tus argumentos hasta ahora son sólo: .NET es mejor (y el tema de la eficiencia, que ya está muy manido y sin tanto me importa no uso ni C# ni Java).
Y otra vez lo digo (y esta vez apunto a que tb tengo certificados en .NET), que cada uno use lo que quiera, pero eso de usar C# siempre y nunca Java me parece totalmente incorrecto.
Desde luego que c# es mucho más inmaduro, de hecho lo he resaltado varias veces, pero precisamente eso es lo que le ha permitido ponerse tecnológicamente por delante. El post que enlaza #92 en StackOverflow es totalmente acertado.
El que nuevas características no formen parte del core es el principio del fin. La disgrecación de la comunidad es lo peor que le puede pasar a Java.
El Write Once Run Everywhere es la mayor falacia de Java. En una aplicación grande sólo cambiar de contenedor de aplicaciones ya te puede dar quebraderos de cabeza para varias semanas.
La última afirmación es la que denota fanboyismo por los cuatro costados.
Hoy en día para una nueva aplicacion usar .NET, Java, Python, C/C++ e incluso PHP depende de multitud de factores. Si me apuras, salvo casos específicos, precisamente el factor tecnológico sea el qe menos importa, comparado con la infraestructura que ya exista, la experiencia de tus programadores, el tamaño de la aplicación, escalabilidad, etc.
Pero vamos, que en muchos casos no dudo que sea cosa de gusto. Yo lo único que defendía (y defiendo) es que tecnológicamente java está desfasado. No pretendo atacar a ninguna comunidad ni mucho menos. Yo utilizo de todo
Por cierto, larga vida a Java Desktop, yo vivo de eso. Para un programa de gestión de una base de datos es estupendo. Que tarda en arrancar, sí, pero más tarda Windows cuando enciendes el ordenador.
Pero algo me hace preferir Java, y es la dirección. Que Java necesita mejorar y espabilar ante una mejora (que no adelanto) de C#, sin duda, pero la dirección es a usar un lenguaje que aspira a deshacerse de patentes y licencias. C# es justo lo contrario (por intereses obvios de MS).
Otra vez más lo digo, Prefiero Java por ser multiplataforma real, gratuito y realmente libre. Y el día que Mono coja la dirección del proyecto y sea el referente (como ha hecho la comunidad de Java) apoyaré (aún más) a Mono/C#.
El problema de .NET es que desde luego que hay dos velocidades entre el desarrollo en Windows y despues el port de Mono.
Esperemos qu ellegue el día en el que se pueda programar a gusto sin temor a los Patent Trolls.