El mundo del Software esta de fiesta, este 23 de mayo sera el cumpleaños del (de acuerdo a varios rankings) lenguaje de programación número 1 del mundo.
Conocí Java hace 9 años durante mi segundo año de Universidad y para conmemorar este cumpleaños tan significativo, dejo aca 10 (de 20) datos curiosos para nuevos y no tan nuevos, haciendo mi mejor esfuerzo para relatar el estado actual de la plataforma.
1. ¿Que es Java?
Java es un nombre genérico que se suele utilizar equivalentemente para designar a (1) un lenguaje de programación y (2) una maquina virtual de ejecución de código que soporta varios lenguajes de programación.
Lanzado el 23 de mayo de 1995 podemos encontrarlo en servidores, estaciones de trabajo, reproductores BluRay, dispositivos embarcados y en menor medida en dumbphones.
2. Los que confían en Java
Algunos de los usuarios más famosos de Java:
3. El dia que Java se hizo libre
Aunque ahora se da por sentado que cualquier programa debe ser multiplataforma, en sus inicios Java nadaba contra corriente teniendo como caballo de batalla la importancia de no ser presa de un único sistema operativo, lo que aumentó su popularidad.
No entanto, la plataforma por si sola no fue libre hasta el año 2006, habiéndose intentado sin mucho exito crear implementaciones libres para escapar de lo que se conocía como la trampa de Java.
4. JCP y la independencia de proveedor
Adicional a la independencia de sistema operativo, Java ofrece independencia de proveedor. Para esto el JCP (conformado por empresas y grupos de usuarios) define el futuro de la plataforma, creando/adoptando estándares, y dando la libertad a que exista más de un proveedor, siendo los más famosos Oracle, IBM y Red hat.
5. Las maquinas virtuales
Al ser independiente de proveedor, no existe una sino varias maquinas virtuales de Java, de las cuales se consideran como oficiales aquellas que cumplen con el TCK de Java. Entre estas puedo mencionar:
- HotSpot(Oracle)
- OpenJDK(Oracle, Red Hat, IBM)
- IcedTea (Red Hat)
- IBM J9
- Zulu (Azul)
- Zing (Azul)
- Java HP-UX
- Excelsior JET
6. Las «plataformas Java»
Al ser un lenguaje universal, Java se subdivide en varias plataformas básicas, ofreciendo bibliotecas y características del lenguaje dependiendo de la necesidad, siendo estas:
- Java SE (escritorio, applets)
- Java EE (aplicaciones Web, enterprise)
- Java ME (dispositivos embarcados, blu ray players, dumbphones)
7. JDK, JRE y Server JRE
Para utilizar Java, existen actualmente 3 «distribuciones básicas»:
- Java Developer Kit (JDK), una distribución para programadores y despliegue de aplicaciones de servidor, incluye compiladores, documentación y ejemplos.
- Java Runtime Environment (JRE), una distribución para usuarios finales que contiene lo minimo para ejecutar programas Java.
- Server JRE, una distribución pensada para despliegues en servidor, incluye compiladores, documentación y elimina ejemplos y el plugin de applets Web.
8. Los otros lenguajes
A pesar de tener fama de ser una plataforma lenta, lo cierto es que desde hace tiempo Java ofrece uno de los entornos de ejecución de aplicaciones más rápidos del planeta.
Por lo anterior, la JVM se ha popularizado por si sola habiendo distintos interesados en tener lenguajes de programación alternativos, funcionales, dinámicos y frescos. Entre algunos notables me gustaría mencionar:
9. Los frameworks/plataformas de todos los tiempos
Java lleva bastantes años en el mercado, por tal motivo el ecosistema de bibliotecas y frameworks ha crecido hasta el infinito, entre los más tradicionales y que probablemente se topa cualquier programador en producción están:
Frameworks/plataformas enterprise:
Frameworks/plataformas web
10. Los nuevos frameworks/plataformas
Y como todo evoluciona, estos probablemente sean junto a Spring y Java EE los frameworks/plataformas que veremos en el horizonte Java de aca a 5 años, nótese la tendencia hacia aplicaciones reactivas :).
10.1. El dia que Hitler se entero que Oracle compró Sun Microsystems
Para cerrar la primer parte, coloco el video del evento que más ha marcado a Java en los ultimos años, la compra de Sun Microsystems.
En esto ultimo puedo decir que sorprendentemente Oracle lo ha hecho mejor de lo que se esperaba, y me hubiera gustado el mismo rumbo para OpenOffice y OpenSolaris
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36
Excelentes datos mi joven Padawan!
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36
Excelentes datos mi joven Padawan!