Está en la página 1de 5

A.

Orgenes del Lenguaje Java


Java es un lenguaje de programacin orientado a objetos desarrollado por Sun Microsystems a
principio de los aos 90s.En Diciembre de 1950 Patrick Naughton, ingeniero de Sun Microsystems,
reclut a varios colegas entre ellos James Gosling y Mike Sheridan para trabajar sobre un nuevo
proyecto conocido como "El proyecto verde".
Con la ayuda de otros ingenieros, empezaron a trabajar en una pequea oficina en Sand Hill Road en
Menlo Park, California. Y as interrumpi todas las comunicaciones regulares con Sun y trabaj sin
descanso durante 18 meses.
Intentaban desarrollar una nueva tecnologa para programar la siguiente generacin de dispositivos
inteligentes, en los que Sun vea un campo nuevo a explorar. Crear un lenguaje de programacin fcil
de aprender y de usar.
En un principio se consideraba C++ como lenguaje a utilizar, pero tanto Gosling como Bill Joy lo
encontraron inadecuado. Gosling intent primero extender y modificar C++ resultando el lenguaje C++
++ - (++ - porque se aadan y eliminaban caractersticas a C++), pero lo abandon para crear un
nuevo lenguaje desde cero al que llamo Oak (roble en ingls, segn la versin mas aceptada, por el
roble que vea atravs de la ventana de su despacho).
El resultado fue un lenguaje que tena similitudes con C, C++ y Objetive C y que no estaba ligado a un
tipo de CPU concreta. Mas tarde, se cambiara el nombre de Oak a Java, por cuestiones de propiedad
intelectual, al existir ya un lenguaje con el nombre de Oak.
El trmino Java fue acuado en una cafetera frecuentada por algunos de los miembros del equipo.
Pero no est claro si es un acrnimo o no, aunque algunas fuentes sealan que podra tratarse de las
iniciales de sus creadores: James Gosling, Arthur Van Hoff, y Andy Bechtolsheim. Otros abogan por el
siguiente acrnimo, Just Another Vague Acronym (slo otro acrnimo ambiguo ms). La hiptesis
que ms fuerza tiene es la que Java debe su nombre a un tipo de caf disponible en la cafetera cercana,
de ah que el icono de java sea una taza de caf caliente. Un pequeo signo que da fuerza a esta teora
es que los 4 primeros bytes (el nmero mgico) de los archivos.class que genera el compilador, son en
hexadecimal, 0xCAFEBABE. A pesar de todas estas teoras, el nombre fue sacado al parecer de una
lista aleatoria de palabras.
Entre junio y julio de 1994, tras una sesin maratoniana de tres das 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, propiciara que Internet se convirtiese en un medio
interactivo, como el que pensaban era la televisin por cable. Naughton cre entonces un prototipo de
navegador, WebRunner, que ms tarde sera conocido como HotJava.
En 1994, se les hizo una demostracin de HotJava y la plataforma Java a los ejecutivos de Sun. Java
1.0a pudo descargarse por primera vez en 1994, pero hubo que esperar al 23 de mayo de 1995, durante
las conferencias de SunWorld, a que vieran la luz pblica Java y HotJava, el navegador Web. El
acontecimiento fue anunciado por John Gage, el Director Cientfico de Sun Microsystems. El acto
estuvo acompaado por una pequea sorpresa adicional, el anuncio por parte de Marc Andreessen,
Vicepresidente Ejecutivo de Netscape, de que Java sera soportado en sus navegadores. El 9 de enero
del ao siguiente, 1996, Sun fund el grupo empresarial JavaSoft para que se encargase del desarrollo
tecnolgico. Dos semanas ms tarde la primera versin de Java fue publicada.

B.

Caractersticas del Lenguaje Java

Lenguaje totalmente orientado a Objetos: Todos los conceptos en los que se apoya esta
tcnica, encapsulacin, herencia, polimorfismo, etc., estn presentes en Java.

Disponibilidad de un amplio conjunto de bibliotecas: Como ya se mencion anteriormente,


Java es algo ms que un lenguaje. La programacin de aplicaciones con Java se basa no solo en el
empleo del juego de instrucciones que componen el lenguaje, sino, fundamentalmente, en la
posibilidad de utilizar el amplsimo conjunto de clases que Sun pone a disposicin del programador y
con las cuales es posible realizar prcticamente cualquier tipo de aplicacin.

Lenguaje simple: Java posee una curva de aprendizaje muy rpida. Resulta relativamente
sencillo escribir applets interesantes desde el principio. Todos aquellos familiarizados con C++
encontrarn que Java es ms sencillo, ya que se han eliminado ciertas caractersticas, como los
punteros. Debido a su semejanza con C y C++, y dado que la mayora de la gente los conoce aunque
sea de forma elemental, resulta muy fcil aprender Java. Los programadores experimentados en C++
pueden migrar muy rpidamente a Java y ser productivos en poco tiempo.

Distribuido: Java proporciona una coleccin de clases para su uso en aplicaciones de red, que
permiten abrir sockets y establecer y aceptar conexiones con servidores o clientes remotos, facilitando
as la creacin de aplicaciones distribuidas.

Interpretado y compilado a la vez: Java es compilado, en la medida en que su cdigo fuente


se transforma en una especie de cdigo mquina, los bytecodes, semejantes a las instrucciones de
ensamblador. Por otra parte, es interpretado, ya que los bytecodes se pueden ejecutar directamente
sobre cualquier mquina a la cual se hayan portado el intrprete y el sistema de ejecucin en tiempo
real (run-time).

Robusto: Java fue diseado para crear software altamente fiable. Para ello proporciona
numerosas comprobaciones en compilacin y en tiempo de ejecucin. Sus caractersticas de memoria
liberan a los programadores de una familia entera de errores (la aritmtica de punteros), ya que se ha
prescindido por completo de los punteros, y la recoleccin de basura elimina la necesidad de liberacin
explcita de memoria.

Seguro: Dada la naturaleza distribuida de Java, donde las applets se bajan desde cualquier
punto de la Red, la seguridad se impuso como una necesidad de vital importancia. A nadie le gustara
ejecutar en su ordenador programas con acceso total a su sistema, procedentes de fuentes desconocidas.
As que se implementaron barreras de seguridad en el lenguaje y en el sistema de ejecucin en tiempo
real.

Indiferente a la arquitectura: Java est diseado para soportar aplicaciones que sern
ejecutadas en los ms variados entornos de red, desde Unix a Windows Nt, pasando por Mac y
estaciones de trabajo, sobre arquitecturas distintas y con sistemas operativos diversos. Para acomodar
requisitos de ejecucin tan diversos o variopintos, el compilador de Java genera bytecodes: un formato
intermedio indiferente a la arquitectura diseado para transportar el cdigo eficientemente a mltiples
plataformas hardware y software. El resto de problemas los soluciona el intrprete de Java.

Portable: La indiferencia a la arquitectura representa slo una parte de su portabilidad.


Adems, Java especifica los tamaos de sus tipos de datos bsicos y el comportamiento de sus
operadores aritmticos, de manera que los programas son iguales en todas las plataformas. Estas dos
ltimas caractersticas se conocen como la Mquina Virtual Java (JVM).

Multihebra: Hoy en da ya se ven como terriblemente limitadas las aplicaciones que slo
pueden ejecutar una accin a la vez. Java soporta sincronizacin de mltiples hilos de ejecucin
(multithreading) a nivel de lenguaje, especialmente tiles en la creacin de aplicaciones de red
distribuidas. As, mientras un hilo se encarga de la comunicacin, otro puede interactuar con el usuario
mientras otro presenta una animacin en pantalla y otro realiza clculos.

Dinmico: El lenguaje Java y su sistema de ejecucin en tiempo real son dinmicos en la fase
de enlazado. Las clases slo se enlazan a medida que son necesitadas. Se pueden enlazar nuevos
mdulos de cdigo bajo demanda, procedente de fuentes muy variadas, incluso desde la Red.

C. Plataformas de Desarrollo (J2SE, J2EE, J2ME)

J2SE (Java Platform, Standard Edition)

J2EE(Java Platform, Enterprise Edition)

J2ME(Java Platform Micro Edition)

D. Tipos de Aplicaciones en Java


1. Applets
Los applets son pequeos programas que se incorporan en una pgina Web y que por lo tanto, necesitan
de un Navegador Web compatible con Java para poder ejecutarse. A menudo los applets se descargan
junto con una pgina HTML desde un Servidor Web y se ejecutan en la mquina cliente.
2. Aplicaciones
Las aplicaciones son programas standalone de propsito general que normalmente se ejecutan desde la
lnea de comandos del sistema operativo. Con Java se puede realizar cualquier programa que
normalmente se creara con algn otro lenguaje de programacin.
3. Servlets
Los servlets al contrario de los applets son programas que estn pensados para trabajar en el lado del
servidor y desarrollar aplicaciones Web que interacten con los clientes. Los servlets son una
alternativa de la programacin CGI tradicional.

Infografa
http://www.tuprogramacion.com/programacion/historia-de-java/
http://www.cad.com.mx/historia_del_lenguaje_java.htm
http://lenguagejavahistoria.blogspot.com/
https://javaextremo.wordpress.com/2012/07/31/caracteristicas-e-historiade-java-9/
https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Java/Caracter
%C3%ADsticas_del_lenguaje
http://personales.upv.es/rmartin/cursoJava/Java/Introduccion/PrincipalesC
aracteristicas.htm
http://sheyla88.blogspot.es/

También podría gustarte