Java
Java
Java se creó como una herramienta de programación para ser usada en un proyecto
de set-top-box en una pequeña operación denominada the Green Project en Sun
Microsystems en el año 1991. El equipo (Green Team), compuesto por trece
personas y dirigido por James Gosling, trabajó durante 18 meses en Sand Hill Road,
en Menlo Park, en su desarrollo.
El lenguaje se denominó inicialmente Oak (por un roble que había fuera de la oficina
de Gosling), luego pasó a denominarse Green tras descubrir que Oak era ya una
marca comercial registrada para adaptadores de tarjetas gráficas, y finalmente se
renombró como Java.
Es frecuentada por algunos de los miembros del equipo. Pero no está claro si es un
acrónimo o no, aunque algunas fuentes señalan que podría tratarse de las iniciales
de sus diseñadores: James Gosling, Arthur Van Hoff, y Andy Bechtolsheim. Otros
abogan por el siguiente acrónimo, Just Another Vague Acronym ("sólo otro
acrónimo ambiguo más"). La hipótesis que más fuerza tiene es la de que Java debe
su nombre a un tipo de café disponible en la cafetería cercana; de ahí que el icono
de Java sea una taza de café caliente. Un pequeño signo que da fuerza a esta teoría
es que los cuatro primeros bytes (el número mágico) de los archivos.class que
genera el compilador, son en hexadecimal, 0xCAFEBABE. A pesar de todas estas
teorías, el nombre fue sacado al parecer de una lista aleatoria de palabras. 4
Los objetivos de Gosling eran implementar una máquina virtual y un lenguaje con
una estructura y sintaxis similar a C++. Entre junio y julio de 1994, tras una sesión
maratoniana de tres días entre John Gaga, James Gosling, Patrick Naughton,
Wayne Rosing y Eric Schmidt, el equipo reorientó la plataforma hacia la Web.
Sintieron que la llegada del navegador web Mosaic propiciaría que Internet se
convirtiese en un medio interactivo, como el que pensaban era la televisión por
cable. Naughton creó entonces un prototipo de navegador, WebRunner, que más
tarde sería conocido como HotJava.
Desde J2SE 1.4, la evolución del lenguaje ha sido regulada por el JCP (Java
Community Process), que usa Java Specification Requests (JSRs) para proponer y
especificar cambios en la plataforma Java. El lenguaje en sí mismo está
especificado en la Java Language Specification (JLS), o Especificación del
Lenguaje Java. Los cambios en los JLS son gestionados en JSR 901.
Este ejemplo itera sobre el objeto Iterable widgets, asignando, en orden, cada uno
de los elementos a la variable w, y llamando al método display() de cada uno de
ellos. (Especificado por JSR 201.)
Java SE 6 (11 de diciembre de 2006) — Nombre clave Mustang. Estuvo en
desarrollo bajo la JSR 270. En esta versión, Sun cambió el nombre "J2SE"
por Java SE y eliminó el ".0" del número de versión.[3] Está disponible
en http://java.sun.com/javase/6/. Los cambios más importantes introducidos
en esta versión son:
Para ello, se compila el código fuente escrito en lenguaje Java, para generar un
código conocido como “bytecode” (específicamente Java bytecode), instrucciones
máquina simplificadas específicas de la plataforma Java. Esta pieza está “a medio
camino” entre el código fuente y el código máquina que entiende el dispositivo
destino. El bytecode es ejecutado entonces en la máquina virtual (JVM), un
programa escrito en código nativo de la plataforma destino (que es el que entiende
su hardware), que interpreta y ejecuta el código. Además, se suministran bibliotecas
adicionales para acceder a las características de cada dispositivo (como los
gráficos, ejecución mediante hebras o threads, la interfaz de red) de forma unificada.
Se debe tener presente que, aunque hay una etapa explícita de compilación, el
bytecode generado es interpretado o convertido a instrucciones máquina del código
nativo por el compilador JIT (Just In Time).
La licencia sobre Java de Sun insiste en que todas las implementaciones sean
“compatibles”. Esto dio lugar a una disputa legal entre Microsoft y Sun, cuando este
último alegó que la implementación de Microsoft no daba soporte a las interfaces
RMI y JNI además de haber añadido características ‘’dependientes’’ de su
plataforma. Sun demandó a Microsoft y ganó por daños y perjuicios (unos 20
millones de dólares), así como una orden judicial forzando el acatamiento de la
licencia de Sun. Como respuesta, Microsoft no ofrece Java con su versión de
sistema operativo, y en recientes versiones de Windows, su navegador Internet
Explorer no admite la ejecución de applets sin un conector (o plugin) aparte. Sin
embargo, Sun y otras fuentes ofrecen versiones gratuitas para distintas versiones
de Windows.