Oak es un lenguaje de programación descontinuado creado por James Gosling en 1989, inicialmente para el proyecto de decodificador de Sun Microsystems . El lenguaje evolucionó posteriormente hasta convertirse en Java .
Historia

En 1985, Sun Microsystems intentaba desarrollar una nueva tecnología para programar electrodomésticos inteligentes de última generación, lo que Sun esperaba que representara una importante nueva oportunidad.
El equipo consideró inicialmente usar C++ , pero rechazó la idea por varias razones (ver historial de Java ).
Inicialmente, Gosling intentó modificar y extender C++ pero pronto abandonó esa idea en favor de crear una nueva plataforma llamada Green y un lenguaje completamente nuevo, al que llamó Oak , en honor al roble que se encontraba justo afuera de su oficina. [ 1 ]
Para el verano de 1992, pudieron demostrar partes de la nueva plataforma, incluyendo el sistema operativo Green OS , el lenguaje Oak, las bibliotecas y el hardware. Su primer intento, demostrado el 3 de septiembre de 1992, se centró en la construcción de un dispositivo PDA llamado Star7.que contaba con una interfaz gráfica y un agente inteligente llamado "Duke" para asistir al usuario.
Oak pasó a llamarse Java en 1994 después de que una búsqueda de marcas registradas revelara que Oak era utilizado por Oak Technology . [ 2 ] Java 1.0 finalmente se lanzó en 1996. [ 3 ]
Diferencias con Java
Oak fue la base de lo que Java 1.0 se convirtió más tarde, pero también hubo algunas diferencias: [ 4 ] [ 5 ] Varios conceptos fueron planeados en la especificación de Oak pero no fueron implementados en el lenguaje original debido a limitaciones de tiempo:
- Los tipos primitivos sin signo nunca se implementaron en Java. [ 6 ]
- La palabra clave `enum` para tipos enumerados se implementó en Java para la versión 5.0 .
- La palabra clave assert se implementó en Java para Java 1.4 [ 7 ].
Otros conceptos fueron diferentes o se mejoraron posteriormente para Java: [ 4 ]
- Los métodos abstractos se definieron como en C++ .
- Si bien el nivel de acceso predeterminado de Oak era el mismo que el nivel de acceso privado (predeterminado) de Java , se denominaba "private". Oak no tenía un
privatemodificador de acceso equivalente al de Java.
Y finalmente, algunos conceptos fueron descartados posteriormente:
- No se marcaron todas las excepciones .
- Mediante la palabra clave `unprotect` era posible escribir código que no generara excepciones asíncronas .
- Hubo cierto apoyo para el Diseño por Contrato : [ 8 ] Oak tenía aserciones mediante las cuales la variable de Clase podía ser restringida y las restricciones se aplicaban al entrar y salir de cada método público y protegido de la clase. Los métodos también podían tener sus propias precondiciones y postcondiciones , que se heredaban pero no se podían redefinir en una subclase. [ 4 ] [ 9 ]
Véase también
Referencias
- ↑ Jon Byous (12 de marzo de 2003). "Tecnología Java: una historia temprana" (PDF) . Sun Microsystems . Consultado el 2 de agosto de 2009.
Gosling llamó al nuevo lenguaje "Roble", por el árbol que había fuera de su ventana
. - ↑ Murphy, Kieron (4 de octubre de 1996). "¿Entonces por qué decidieron llamarlo Java?" . JavaWorld . Consultado el 15 de julio de 2020 .
«Los abogados nos dijeron que no podíamos usar el nombre "OAK" porque [ya estaba registrado como marca por] Oak Technologies», dijo Frank Yellin, ingeniero sénior de Sun. «Así que se organizó una sesión de lluvia de ideas para encontrar un nombre nuevo».
- ↑ Jonathan I. Schwartz (30 de agosto de 2007). "Lo diferente no siempre es mejor, pero lo mejor siempre es mejor" . Archivado del original el 5 de septiembre de 2009. Consultado el 2 de agosto de 2009 .
- 1 2 3 Heinz Kabutz (26 de agosto de 2002). "Érase una vez un roble..." javaspecialists.eu . Recuperado el 2 de agosto de 2009 .
- ↑ "Especificación del lenguaje Oak" . Sun Microsystems, Inc. Archivado del original el 16 de agosto de 2000. Consultado el 6 de marzo de 2015 .
- ↑ "Java y los tipos de datos unsigned int, unsigned short, unsigned byte, unsigned long, etc. (O mejor dicho, la ausencia de estos)" . Consultado el 2 de agosto de 2009 .
- ↑ "Una sencilla herramienta de aserción para el lenguaje de programación Java" . Sun Microsystems . Consultado el 2 de agosto de 2009 .
- ↑ Johannes Rieken (24 de abril de 2007). "Diseño por contrato para Java - Revisado" (PDF) . Consultado el 2 de octubre de 2010 .
- ↑ "Soporte para 'Diseño por Contrato', más allá de "una simple función de aserción"" . Sun Microsystems . Consultado el 2 de octubre de 2010 .
Enlaces externos
- Especificación del lenguaje Oak
- Historia temprana de Java
- Java (lenguaje de programación)
- Familia de lenguajes de programación C
- Sun Microsystems
- Lenguajes de programación basados en clases
- Lenguajes de programación orientados a objetos
- Software multiplataforma
- Lenguajes de programación creados en 1991