Java 11 ha sido publicado. Es un lanzamiento importante porque tiene soporte a largo plazo (LTS). Pero Oracle también lo ha configurado como una trampa (ya sea deliberada o accidentalmente).
#2 Se habla mucho de Microsoft y Apple como malvadas empresas, pero lo que dices es tan cierto como que Sauron quería conquistar la tierra media,(LibreOffice nació ante el intento de Oracle de querer nuestra sangre con los cambios en OpenOffice, mariadb por algo similar con MySQL aunque al final reculó un poco) Con la compra de Sun se quedó con java y cada paso que da es en la misma dirección, deje de usar Virtual box por lo mismo...
#3 Uf macho, andas muy descaminado. La trampa de Java era el hecho de que, por mucho código libre que generaras en Java, este último era una plataforma cerrada, con lo cual tu código corría el riesgo verse cerrado en el futuro.
Eso se acabó desde el momento en el que Java se licenció con la GPL y la Classpath exception, incluso Stallman lo reconoció así. Desde entonces se acabó la trampa de Java.
Es más, en defensa de Oracle hay que decir que ahora OpenJDK y OracleJDK van a ser funcionalmente similares. La única diferencia, según prometen, son cuestiones cosméticas y, obviamente, el soporte que hay que pagarlo. Aquí lo explican en detalle: blogs.oracle.com/java-platform-group/oracle-jdk-releases-for-java-11-a
Y sí, Oracle es una empresa a la antigua usanza y no sabe trabajar bien con software libre (o no le interesa): OpenOffice, NetBeans, JavaEE son tecnologías que a acabado cediendo a Eclipse o a Apache. Pero Java es una pieza central en su esquema de negocio y creo que lo está manteniendo y actualizando bastante bien. Si se cumple la promesa de que OpenJDK sea funcionalmente equivalente a OracleJDK creo que es un paso adelante.
Y lo que dice Colebourne, que por cierto es una de las voces más autorizadas en el mundo Java, es que seamos ahora conscientes de la diferencia entre la versión comercial y la libre, y usemos la que sea más adecuada para nuestro dominio.
#16 Esta de moda odiar Java. Los haters lo llevan enterrando años, y ahí sigue, el lenguaje más popular en índices como TIOBE: www.tiobe.com/tiobe-index/
#14 Corre sobre la JVM, así que por ahí no escapas. Java es más que un lenguaje, es una plataforma con una máquina virtual, un API y, por supuesto, un lenguaje.
#23 Obviamente es lo que tu dices, ahora hay más lenguajes, y la idea de "one language to rule them all" se ha quedado desfasada. Pero de ahí a decir que Java está muerto va un cacho muy gordo.
#25 Hombre, hay cosas que se han quedado algo incómodas, como la diferenciación entre tipos básicos y objetos, la forma de funcionar de los genéricos. Pero eso es más fruto de la evolución del lenguaje que, al ser uno de los más usados, tiene que tener mucho cuidado con la compatibilidad hacia atrás y no cambiar cosas. Java no se puede permitir el follón que han montado en Python al pasar de la versión 2 a la 3.
También su estilo verboso no gusta a la gente que aprecia más el estilo sucinto de Python. Pero para mí son detalles menores. Si no te gusta la sintaxis te pasas a Kotlin con una sintaxis más moderna y sigues en la JVM y sigues pudiendo interoperar con Java.
La noticia lo que dice es que la JVM de Oracle (OracleJDK) va a ser de pago para usar en producción. Solo es libre para usar en desarrollo. Así que ten cuidado de bajarte la versión GPL de la misma (OpenJDK)
#36 Siendo un lenguaje muy valido, yo lo que mas odio es la verbosidad de algunas partes, que tienes que instaciar 10 objetos de nombres impronunciables para cosas que a veces se resuelven en, por ejemplo Python con 4 lineas sencillas.
Si es un proyecto tocho da mas igual, pero para hacer un codigo sencillito en dos tardes da toda la pereza Java.
#35 Sip, al final va a ser todo Javascript, un lenguaje horrible creado para otra cosa, que se ha comido toda la web. Por lo menos hay cosas como TypeScript que tienen un poco más de sentidiño
#23 C++ también ha sufrido una caída en esa gráfica, similar a la de Java o peor, C# tuvo una época de auge pero también está decayendo, igual que PHP. Hasta C está bajando en esa gráfica, a pesar de seguir en un segundo puesto y recortar diferencias con Java. Los únicos que dice que se mantienen son JavaScript*, SQL, y los únicos que crecen son Visual Basic .NET y un poco Python. Al menos si miramos la tendencia global de toda la gráfica. Yo creo que va a seguir habiendo muchísimo trabajo como programador en Java durante los próximos años.
*No entiendo que JavaScript esté tan abajo en la gráfica... Y luego está lo de Objective-C que no sé qué será.
#43 Objective-C es el que se utiliza para dispositivos apple. Aunque no es exáctamente lo mismo que Swift yo creo que lo más justo sería que sumasen ambos.
Con respecto a C, aunque si veo una bajada no la veo tan grande como la de java, ignorando el extraño que hace la gráfica en los últimos años. No me resulta creible esa caida y ese pedazo de rebote con semejante ansia en tan poco tiempo.
#41 Te voy a contar un secreto... Typescript es Javascript version ES6 con anotaciones... y poco más... para que programadores C# se manejaran en el caos que era el frontend.
Javascript ha cambiado mucho desde hace ya años. Lenguajes modernos como swift, kotlin o incluso rust tienen una sintaxis muy parecida...
Desde que Douglas Crockford se lo enseñó al mundo, Javascript se hizo mayor.
#27 para mi Python 3.6 + C++ son hoy por hoy la mejor combinación para prácticamente todo.
Python se amolda muy bien a los tiempos (especialmente con la llegada de asyncio), teniendo en cuenta las limitaciones intrinsecas al mismo (ej: GIL). Algo que es facilmente superable mediante código nativo (C++).
En muchos ambitos ni siquiera se necesita el uso de C++ (ej: aplicaciones web con django/flask/tornado), y en otros directamente lo resuelves con librerias ya existentes con PIP (ej: numpy, pandas,...).
#44 yo diría que lo han conseguido más lenguajes (y entre ellos está el propio Java).
Sobre lo de que C/C++ sea el lenguaje para hacer todo... ejem, no se caracteriza presisamente para hacer servicios web/rest. Yo he hecho servidores REST con C++ e incluso me monté un microframework para proyectos en mi empresa, y si te digo la verdad, a pesar de que todo va como la seda, diría que tengo sentimiento de arrepentimiento.
Hay lenguajes más acordes para cierto tipo de aplicaciones, pero si coincido en el C++ es un "must have". Yo le he combinado con Python y con Java en muchos proyectos, pillando lo mejor de cada lenguaje.
#36 El problema de JAVA son los malos programadores que crean código de muy baja calidad y eso trae 10000 problemas. Breaks, continue y returns (en lugares donde no deben ir) usados a diestra y siniestra por no tener la menor idea de lo que están haciendo.
#40 Que exagerado. Total, solo porque tengas que llamar al FilostrosFactory para sacar de ahí el FilostrosServiceFactory para después sacar el FilostrosService
Pero ya mas en serio, no me parece un factor relevante para amar/odiar java.
Eso se acabó desde el momento en el que Java se licenció con la GPL y la Classpath exception, incluso Stallman lo reconoció así. Desde entonces se acabó la trampa de Java.
Es más, en defensa de Oracle hay que decir que ahora OpenJDK y OracleJDK van a ser funcionalmente similares. La única diferencia, según prometen, son cuestiones cosméticas y, obviamente, el soporte que hay que pagarlo. Aquí lo explican en detalle: blogs.oracle.com/java-platform-group/oracle-jdk-releases-for-java-11-a
Y sí, Oracle es una empresa a la antigua usanza y no sabe trabajar bien con software libre (o no le interesa): OpenOffice, NetBeans, JavaEE son tecnologías que a acabado cediendo a Eclipse o a Apache. Pero Java es una pieza central en su esquema de negocio y creo que lo está manteniendo y actualizando bastante bien. Si se cumple la promesa de que OpenJDK sea funcionalmente equivalente a OracleJDK creo que es un paso adelante.
Y lo que dice Colebourne, que por cierto es una de las voces más autorizadas en el mundo Java, es que seamos ahora conscientes de la diferencia entre la versión comercial y la libre, y usemos la que sea más adecuada para nuestro dominio.
Al 26% del 2001 no se ha vuelto a acercar nunca. Lo que dejan claro esos números es que ahora se programa en muchas más cosas.
También su estilo verboso no gusta a la gente que aprecia más el estilo sucinto de Python. Pero para mí son detalles menores. Si no te gusta la sintaxis te pasas a Kotlin con una sintaxis más moderna y sigues en la JVM y sigues pudiendo interoperar con Java.
La noticia lo que dice es que la JVM de Oracle (OracleJDK) va a ser de pago para usar en producción. Solo es libre para usar en desarrollo. Así que ten cuidado de bajarte la versión GPL de la misma (OpenJDK)
Por cierto, mi lenguaje principal es JavaScript, no Java. Pero aún así no cometo la osadía de decir que "java es una puta mierda" como dicen muchos.
Si es un proyecto tocho da mas igual, pero para hacer un codigo sencillito en dos tardes da toda la pereza Java.
*No entiendo que JavaScript esté tan abajo en la gráfica... Y luego está lo de Objective-C que no sé qué será.
Lo de write once, run everywhere sólo lo ha conseguido un lenguaje: javascript.
Java está bien, pero es feo. Es muy feo...
steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html?m=
Otra cosa que detesto es maven... maldigo a quién pergeñara eso....
Con respecto a C, aunque si veo una bajada no la veo tan grande como la de java, ignorando el extraño que hace la gráfica en los últimos años. No me resulta creible esa caida y ese pedazo de rebote con semejante ansia en tan poco tiempo.
Javascript ha cambiado mucho desde hace ya años. Lenguajes modernos como swift, kotlin o incluso rust tienen una sintaxis muy parecida...
Desde que Douglas Crockford se lo enseñó al mundo, Javascript se hizo mayor.
Python se amolda muy bien a los tiempos (especialmente con la llegada de asyncio), teniendo en cuenta las limitaciones intrinsecas al mismo (ej: GIL). Algo que es facilmente superable mediante código nativo (C++).
En muchos ambitos ni siquiera se necesita el uso de C++ (ej: aplicaciones web con django/flask/tornado), y en otros directamente lo resuelves con librerias ya existentes con PIP (ej: numpy, pandas,...).
Sobre lo de que C/C++ sea el lenguaje para hacer todo... ejem, no se caracteriza presisamente para hacer servicios web/rest. Yo he hecho servidores REST con C++ e incluso me monté un microframework para proyectos en mi empresa, y si te digo la verdad, a pesar de que todo va como la seda, diría que tengo sentimiento de arrepentimiento.
Hay lenguajes más acordes para cierto tipo de aplicaciones, pero si coincido en el C++ es un "must have". Yo le he combinado con Python y con Java en muchos proyectos, pillando lo mejor de cada lenguaje.
No, ni mucho menos
Pero ya mas en serio, no me parece un factor relevante para amar/odiar java.