Publicado hace 12 años por condemorerror a softlibre.barrapunto.com

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.

Comentarios

D

#19 Por favor no digas sandeces. En general y en este pais especialmente los programadores se compran a peso, supongo que podrás ver la diferencia de productividad que hay etre programar con eclipse y programar con el vi. Nadie te obliga a utilizar ese entorno tan pesado, como nadie te obliga a utilizar el code completion, el refactoring o la compilación incremental.

#16 Java 7 es una especificación no libre?

OpenJDK7 GPLv2 http://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

sadcruel

#34 Cuando se aprobaron no lo eran. Aunque no es tan simple. Lo que enlazas es OpenJDK7 (GPLv2), que no es lo mismo que Oracle Java 7. Pongo un enlace buscado rápidamente del problema, aunque habría que mirarlo más detenidamente También salió esto en meneame y en barrapunto.

http://www.muylinux.com/2010/12/10/apache-abandona-java-community-process-como-protesta-por-los-abusos-de-oracle/

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.

t

#39 Una plataforma como Java debe vivir a partir de especificaciones. Hasta Python las tiene en forma de PEP, sólo hay que ver el maremagnum de nomenclaturas en las primeras versiones de Python hasta que empezó a normalizarse la cosa. Lo mismo que sucedió en PHP.

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)

D

#39 Aparte de la actitutad mas totalitaria que ha seguido Oracle en el desarrollo de java7 (java es mio y me lo follo como quiero) que yo sepa no hay ningún cambio ni en especificaciones ni en licencias.

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.

berzasnon

#12 Corregir 5.67 errores diarios en software de producción significa que ese software "de producción" tiene muuuuuuuuuuuchos errores. A eso me refería cuando dije que parece que programan a golpe de cipote en el teclado, y después ya van corrigiendo los errores que aparezcan.

#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 lol

D

#1 Como comentario gracioso esta bien, pero más que 'solo' programar, hay muchísimo más trabajo detrás de algo tan importante. En un lenguaje ya maduro y muy extendido, desarrollar especificaciones que consigan satisfacer las demandas de una comunidad de programadores tan amplia es muy difícil, y la evolución de un lenguaje es algo complejo. Además por ponerme "tocapelotas" no vale dividir los 9494 errores como si todo el que ha colaborado haya trabajado 365 días 'esta gente' como tu la llamas, también tiene derecho a descansar.

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

sotanez

#1 Creo que intentaban llegar al "pico de Ballmer" y se han pasado.

anxosan

#1 Pues anda que los 9,018 cambios... creo que además de aporrear el teclado lo hacen con el monitor apagado.

A

#11 así no es el chiste.
- 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?

D

#1 Joder, dales algo de compasión, que tendrán que descansar en sus fines de semana y en sus vacaciones ¿no? lol

A

#15

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.

Lochi

#23 No sé, a mí me dio la impresión que si le das a una persona que no tiene ni idea como era mi caso un lenguaje que basa su funcionamiento en los punteros lo único que puedes lograr es frustrarla. Afortunadamente cuando di C ya conocía de sobra lo que eran los punteros. Aunque esto es sólo mi opinión personal.

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

t

#47 Estás equivocado. Eclipse tiene un compilador incremental incluido que incluso se puede utilizar fuera del IDE y que no es javac.

osiris

#23 coincido con #47, creo que darle C a alguien sin experiencia es tener muy mala leche. Yo personalmente aprendí con ADA, un lenguaje fuertemente tipado, que obliga a saber lo que quieres hacer en cada momento porque si no, no compila. Si C no peta si te pasas de índice en el acceso a un vector, es difícil que alguien sin idea encuentre el error, que además puede ser aleatorio.

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

a

#49 Decir que programar en ADA es más fácil que programar en C es cuanto menos arriesgado, no conozco a nadie excepto tu, que haya aprendido a programar con ADA, porque entre otras cosas es un lenguaje diseñado para sistemas en tiempo real, sistemas de misión crítica, etc...No es por llevarte la contraria pero nunca había oído tal cosa.

osiris

#51 no lo decidí yo, lo decidió el señor que hizo el temario en la universidad.
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

D

#51 #49 yo fui otro que aprendió con ADA en la facultad de informática de San Sebastian. Lo normal . pascal de pasada y C de pasada para aprender punteros: ensamblador.
Java fue desde 2 en casi todo el lenguaje usado.

reivax_dj

#49 Parece como si hubiéramos estudiado juntos, yo también aprendí con ADA y ya hace mucho que no toco C. Como han dicho por arriba, a mi Java tambien me da de comer y paga el alquiler del piso.

A

#50 me parece que te has equivocado de numerito al responder, yo opino que hay que aprender a programar con C.

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

Lochi

#75 No sé, a mí me da la impresión que puede ser tan bueno como malo y puede acabar minando las ganas de uno cuando salten errores por todas partes por un desconocimiento del manejo correcto de punteros. Pero oye, que sólo es una opinión.

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.

osiris

#75 hombre decir que C es menos abstracto que otro... bueno, vale, es menos abstracto que Java, pero también tiene su capa de abstracción por encima del ensamblador, y éste sobre el código máquina...

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

A

#88 sí, claro, C es una abstracción sobre ensamblador, pero es mínima, tú puedes escribir un programita sencillo (estamos hablando de aprender) y traducirlo a ensamblador a mano, no hay nada de magia.

D

#47 Eclipse.org es un proyecto con muchos paquetes y entre ellos un compilador:

http://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++.

a

#23 Contrariamente a tu opinión hay muchos expertos que te dirán que C es perfecto para aprender a programar y en muchas universidades del mundo así lo hacen. Si los punteros te incapacitan para programar mejor que te dediques a otra cosa.

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.

Lochi

#50 Decir que por no controlar los punteros (estamos hablando de alguien que llega a la Universidad sin tener experiencia propia, no todo el mundo empieza en la informática conociéndose el kernel de Linux de memoria) jamás podrás ni aprenderlos ni aprender a programar es como decirle a un futuro cirujano según entra en la carrera de Medicina que si en ese mismo momento no es capaz de abrir en canal a alguien y arreglarle un problema de corazón es porque no vale para eso.

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.

D

#c-90" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/1329195/order/90">#90 go to #15 jajaja
#90 go to #91

http://stackoverflow.com/questions/610199/the-art-of-programming-java-vs-c
http://reverseblade.blogspot.com/2009/02/c-versus-c-versus-java-performance.html

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.

sadcruel

#c-92" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/1329195/order/92">#92,

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

D

#c-94" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/1329195/order/94">#94

"Lo que digan gurús que ni conozco me la sopla. Mis necesidades gustos y habilidades son distintas a las suyas."

Bieeeeeeeeeeeeeeen? Luego admites que ves Java mejor por motivos meramente subjetivos? Cuando quieras decir que algo es mejor, aporta argumentos solidos, no divagaciones.

Tienes certificaciones Microsoft? jajajaja, como caiste en semejante enganyo? Las certificaciones son chorradas, y un timo. Nunca intentes demostrar que "sabes de algo" diciendo que tienes una certificacion, es simplemete ridiculo. Ya se que lo unico que pretendias es dar a entender que si sabes de que va .NET, que no hablas de oidas, pero hay mucha diferencia entre saber de que va algo, y saber algo.

En fin, que sigo esperando a motivos tecnicos por los que Java es mejor que C#. Aunque visto que la opinion de los que saben mas que tu "te la sopla", lo unico que veo es que es mejor porque es "libre, multiplataforma y gratuito", que supongo que para proyectos pequenyos es un argumento, aunque .NET sea gratis y Visual Studio Express tambien. Lo de que sea libre, de verdad, prefiero que no lo sea y que lo lleve Microsoft como hasta ahora, pero claro esto es mi opinion personal. Supongo que en tu empresa liberais todo el codigo que haceis y los clientes estan encantados con ello.

t

#c-93" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/1329195/order/93">#93 Siento la brusquedad en el comentario, pero andar acusando de fanboy a una opinión objetiva no me gustó en absoluto.

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

sadcruel

#c-95" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/1329195/order/95">#95, De gusto no, de la naturaleza de la aplicación, creo que estamos de acuerdo. Seamos serios, lo de la eficiencia, el enlace a la opinión de alguien (apuntados en #92) y algunas otras razones apuntadas (no todas) no son razones. Qué C# tiene cosas buenas, pues claro, y también Java.

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

t

#98 Absolutamente de acuerdo en lo relativo a patentes. Sin embargo a día de hoy veo más oscuro el tema de patentes desde el lado Java que desde el lado .NET. Sólo tienes que ver los nulos problemas de Mono y ahora de la empresa de Icaza, Xamarin, con Microsoft y despues los problemas del mundo vs Oracle

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.

sadcruel

#99 Amén a eso. En Europa no tenemos tanto problema con las patentes, pero el desarrollo del S.O. / lenguaje / aplicación se ve afectado por lo que pase en EE.UU.

D

#99 Si MS aun no ha usado sus patentes de .NET es porque ningún competidor a sacado bastante dinero con alguna de ellas como para poder meterles mano. Vamos, que decir que MS tiene una politica permisiva con sus patentes es de risa.

#105 Desde luego, compilar un switch como un else if es un avance grandioso.

#103 Aquí las mias, puede que no todas sean técnicas, pero desde luego no son subjetivas:

- Java es open source, quitando lo bonito que suena a mi me gusta ver el código y como está implementado y tomarlo como base si he de implementar mi própia alternativa. (Lo he necesitado hacer varias veces como por ejemplo con el driver OJDBC)

- Muchisimos mas frameworks open source para Java que para .NET

- Muchisimas mas soluciones integradas para BBDD (.NET solo una, la suya) y para servidores web (.NET solo uno, el suyo)

- Muchisimo mas trabajo de programador Java

- Mayor compatibilidad entre versiones. Puede que al que tenga que migrar una aplicación de escritorio no le importe, pero si tienes que migrar miles de lineas de código de frameworks empreseriales es un punto crucial, y de hecho es una de las causas por la que muchas empresas que apostaron .NEt se han pasado a Java.

- Y por supuesto, Java es multiplataforma.

sadcruel

#c-92" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/1329195/order/92">#92 Perdoname, lo de extraño en herencia es la sobreescritura de métodos, pero vaya, que descartar C# solo por eso es muy tonto. Y lo del (teórico) no avance de Java: contestado tb en #93.

Tanenbaum

#11 va Java y llegó al sótano

r

#16
- 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í

Patxi_

#27 Que la comunidad terminará imponiendo y evolucionando Java 6, no me cabe duda

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

D

#27 Java7 es libre, bajo GPL, en el proyecto OpenJDK tienes el código para bajartelo de la 6, la 7 y la futura 8, en ese código es en el que se basan las implementaciones libres como IcedTea para hacer su propia máquina virtual, con la diferencia de que estas se compilan usando un classpath también libre. De hecho la implementación de referencia que ha dado Oracle es el código del OpenJDK compilado por ellos.

P

#16 La pregunta que yo haría es: ¿.NET existirá o tendría esa filosofía (Máquina virtual basada en pila, recolector de basura, clases estandarizadas, etc si no hubiera existido Java y fuera como es?

sadcruel

#c-26" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/1329195/order/26">#26 Obviamente no, es más, C# es tan solo la respuesta (lícita si no fuera porque es una copia total) de MS para restar mercado a Java.

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

a

#c-33" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/1329195/order/33">#33 En Eclipse además de java , también puedes hacer código en c#, es gratuito y si tienes un pc más o menos normal va bastante bien, no tiene nada que envidiar a Visual Studio, diría incluso que haces más cosas y es mejor, excepto la opción debugger quizás.

D

#c-26" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/1329195/order/26">#26 eso nos llevaria a muchas preguntas estupidas como... exisitira GNU/Linux si no hubiese existido Unix? Existiria Mac OsX si no hubiese existido BSD Darwin? Existiria Android si no hubiese existido iPhone OS? Existirian las preguntas estupidas en internet si los ganyanes no tuviesen ordenador?

#33 es mas? http://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 lol

sadcruel

#c-86" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/1329195/order/86">#86 El enlace que pones (la tabla que aparece en él) me parece bastante poco característica para, dada una aplicación a realizar, elegir un lenguaje u otro.

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

t

#c-90" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/1329195/order/90">#90 Lo que es ofensivo es tener que leer un comentario tan desinformado como el tuyo y además tildar de fanboy a alguien que sólo ha señalado lo obvio. Java como lenguaje va años por detrás de C# (.NET). Desde Java 5 sólo se ha añadido azucar sintáctico, y algunas cosas mediante apaños (como pueden ser los falsos genéricos y enums). La comunidad está que trina desde que las mejoras que se querían introducir en Project Coin se las pasaron por el forro.

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.

sadcruel

#c-91" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/1329195/order/91">#91 Enumero

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.

pinar

#16 cuando conviertes una String a byte y no especificas la codificación se usa la codificación por defecto del sistema operativo. Más de una tarde perdida porque programo en Linux, creía haber solucionado el bug, pero los testers prueban en Windows. Fue lo único en que el SO me dio problemas, por lo demás es estupendo poder programar en Linux aunque no tengamos ningún usuario en dicho sistema, incluso uso OpenJDK.

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.

a

#25 ya lo sé pero compilan el programa a fin de cuentas viene a hacer lo mismo. Sigo diciendo lo mismo, programar con el notepad no me parece muy lógico a estas alturas.

Sheldon_Cooper

No se, yo creo que me voy a quedar con la última hecha por Sun mientras no encuentre otro J2SE opensource multiplataforma (ya se que en linux hay unos cuantos, pero para windows no he encontrado). No soporto a estos patent trolls.

frankiegth

Para #2. Te refieres a la versión Java 6 Update 21 ???

Según la Wikipedia parece ser la última versión original de SUN. Puedes confirmármelo???

Sheldon_Cooper

#40, diria que la 20. De las release notes de la 21:

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.

kahun

#2 ¿Te preocupan los patent trolls o usar una versión de Java open source cuando usas Windows? ¿bastante incoherente no? lol

Galero

#2 Yo tampoco me fío de Oracle. Echaremos de menos a Sun, por mucho que me duela echar de menos a una multinacional.

D

Java..eso nunca tendria de haber salido con tanto auge, una mierda pichada en un palo, come como un desesperado y ralentiza el ordenador que da gusto, aparte de las patentes, a ver si van migrando a python.

sotanez

#4 El tiempo de carga inicial es muy burro, pero después va como la seda.

D

#7 y si programa con una venda y sólo con una mano programa del copón

D

#7
¿yo? por favoooorrr por quien me ha tomado usted

Ahora en serio, uso programas que funcionan en python y otros en java (como mucha gente), en un bicharraco que tengo no se entera mucho (servidor), pero en un p4 de 512mb se nota y bastante (pc trabajo), aparte que sube la temperatura de la CPU que da gusto (en java).

¿Que fué antes el huevo o lisp? lol

Smoje

#4 Tú dirás lo que quieras, pero gracias a Java yo tengo trabajo y nada mal pagado, seguro que a mucha gente que está en el paro le gustaría poder decir lo mismo...

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

Lochi

En la poca experiencia que tuve con Java (en la Universidad ya que posteriormente ando más en el mundo de los sistemas) he de reconocer que Eclipse me resultó de gran ayuda a la hora de hacer mis programas ya que facilitaba la generación de código repetitivo para que todo fuera más rápido.

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.

a

#21 Qué compiladores utilizas para Java sino es Eclipse o NetBeans?

D

#24 Para compilar JAVA solo hace falta la linea de comandos y para programar en el un editor de texto plano es suficiente, pero claro... Eclipse y Netbeans facilitan la tarea de manera descomunal.

a

#29 Ya lo se , tengo la certificación de programador de java 1.6. A lo que yo iba es a que compilador/ide utilizar para aprender si no es con estos dos.

t

Java a día de hoy como lenguaje está bastante desfasado.

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

berzasnon

Por cierto: Qt ftw!

D

Java debería suicidarse

rockdan

Java 7 Esponja edition (Por los agujeros de seguridad)

d

Ains, esas eternas discusiones de informáticos sobre el mejor lenguaje de programación... son como las eternas discusiones rockeras sobre el mejor guitarrista

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.

c

donde esté COBOL, Java es cosa de nenazas.

k

Pues sin saber punteros, si aprendes java de primeras, te montas una paja mental de mírame y no te menees.

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!

A
BlainCooper

Sin entrar en otros aspectos, como la (no)retrocompatibilidad encubierta, decir que una media de 5 bugs corregidos (que no ya detectados) por día son normal en un proyecto grande es una auténtica barbaridad.

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.

P

Pues en Renfe seguimos trabajando con java 1.4

subzero

Pero... ¿Java Script o Java the Hutt?



(momento 3:04 lol)

k

A ver, por ignorancia, ¿cual es la diferencia entre el Java de java.com y el de oracle.com? es una duda existencial, positivo para el primero que me la resuelva.

D

¿Alguien me podria decir las novedades que tiene Java 7?

t

Solr no funciona bien con Java 7. Parece un error bastante grave con los bucles:
http://markmail.org/message/kulrw4sm2nsshrta

prejudice

No olvideis que sobre la maquina virtual de java pueden ejecutarse programas escritos en lenguajes diferentes a Java, como jython y Scala

D

Justo hoy, antes de leer esta noticia, he estado ojeando las novedades.
Lo juro, la que más me gustaba de todas; los null-safe operators ?. y ?:
¡Joder y los han sacado de la final release!

vemv

En cuanto se habla de informática le pierdo todo el respeto que habitualmente le tengo a la comunidad meneante.

hurd

Para programar se tendría que emprezar aprendiendo un lenguaje ensamblador, que es cómo se comprende realmente lo que es la programación. Cómo coño se va a ser un buen programador si no se tiene ni zorra idea de lo que hace un procesador o de cómo se organiza la memoria de un programa determinado.

a

#53 Dime tu para que sirve ensamblador con Sql, saber ensamblador es importante pero no es condición necesaria para ser buen programador.

Find

#53 Al principio pensaba que te faltaba la etiqueta ironic/> pero he visto que tu nick era hurd y lo he entendido todo

vemv

#53 Aunque siempre sentiré admiración por cualquiera que programe en ensamblador, la algoritmia existía antes que la informática. Todos sabemos que las CPU favorecen la iteración por encima de la recursión por lo que si uno se apega demasiado 'al metal' podría perder perspectiva.

o

Java, ese vetusto lenguaje que abrió el camino de la interpretación, pero que ahora nadie quiere tocar ni con un palo.

D

entonces... java 7 es ¿bueno?, ¿malo?, ¿recomendable actualizar a dicha versión?

editado:
#60 a mi me gusta programar en java, ¿Estaré enfermo?

P

Sin duda Java es muy pero muy buen lenguaje, sus paradigmas en verdad enamoran, lo digo por experiencia. Pero como plataforma apesta (al menos en aplicaciones de escritorio). ¿Alguno de los que defendéis la velocidad de Java ha tratado de trabajar con archivos? Algo tan elemental como copiar un archivo se convierte en algo demasiado tedioso y con un consumo de recursos que raya en lo absurdo.

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.

D

#73 [...]como plataforma apesta (al menos en aplicaciones de escritorio).

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.

P

#82 Bueno, no tengo mucha experiencia en Java como para refutar lo que dices, hablo desde lo que vi en un par de años de uso: para copiar un archivo debías leer los bytes del origen y escribirlos en el destino, nada de llamadas al sistema (claro, si deseas conservar la independencia del SO). Con un archivo no hay problema, pero prueba con 1000 o incluso 100. Python es mucho (por no parecer exagerado al decir "infinitamente") más rápido en cuanto a comunicación con el SO, y aunque no tiene toda la "parafernalia" de Java en la web, tiene una de las librerías más completas de todos los lenguajes. Consigues un módulo python casi para cualquier cosa. Creo que son filosofías distintas, python es pragmático.

Sobre entornos web de Java no hablo porque no sé mucho, aunque como dije en mi primer comentario, tiene su público y está precisamente en sistemas enormes compuestos por muchos módulos y corriendo en diferentes plataformas. Para todo lo demás existen alternativas mucho más fáciles y prácticas como .NET o Rails. En fin, también median los gustos.

En lo de Swing coincidimos: jamás debió haber visto la luz esa blasfemia de GUI.

a

Para el merluzo que me ha votado negativo por decir que Eclipse es un compilador:
http://en.wikipedia.org/wiki/Java_compiler

Endor_Fino

#43 Y openOffice es un editor de líneas.

b

NO han solucionado el error fundamental... sigue siendo Java. Sin Java, no se si el mundo seria mejor, pero mas compatible y rapido seguro.

o

Donde esté Python que se quite el infierno de Java.

1 2