Download Apuntes de Java Introducción: HISTORIA DE JAVA Tal vez la

Document related concepts
no text concepts found
Transcript
Apuntes de Java
Introducción:
HISTORIA DE JAVA
Tal vez la contribución mas importante a la fecha, por parte de la revolución del
microprocesador es que hizo posible el desarrollo de las computadoras personales, que
ahora suman cientos de millones a nivel mundial. Las computadoras personales han tenido
un profundo impacto en la vida de las personas y en la manera en que las empresas realizan
y administran sus negocios.
Muchas personas creen que la siguiente área importante en la que los microprocesadores
tendrán un profundo impacto es en el los dispositivos electrónicos para uso domestico. Al
reconocer esto, Sun Microsystems patrocino en 1991 un proyecto interno de investigación
denominado Green. El proyecto desemboco en el desarrollo de un lenguaje de programación
basado en C++ al que su creador, James Gosling llamo Oak debido a un árbol de roble que
tenia a la vista desde su ventana en las oficinas Sun. Posteriormente se descubrió que ya
existía un lenguaje de programación con el mismo nombre. Cuando un grupo de gente de
Sun visito una cafetería local, sugirieron el nombre de Java, el cual es una variedad de café
proveniente de la isla de Java en Indonesia.
El proyecto Green tuvo algunas dificultades. El mercado para los dispositivos electrónicos
inteligentes de uso domestico no se desarrollaba tan rápido como Sun había anticipado. Peor
aún, un contrato importante por el que Sun había competido se le otorgo a otra empresa. De
manera que el proyecto corría el riesgo de cancelarse. Pero para su buen fortuna, la
popularidad de World Wide Web exploto en 1993 y la gente de Sun se dio cuenta
inmediatamente del potencial de Java para agregar contenido dinámico y animaciones a las
páginas web. Esto trajo nueva vida al proyecto Sun anuncio formalmente a Java en una
conferencia importante que tuvo lugar en mayo de 1995.
Por lo general un evento como este no habría generado mucha atención. Sin embargo Java
genero un interés inmediato en la comunidad de negocios debido al fenomenal interés en
World Wide Web. En la actualidad, Java se utiliza para desarrollar aplicaciones
empresariales a gran escala, para mejorar la funcionalidad de los servidores de World Wide
Web (las computadoras que proporcionan el contenido que vemos en nuestros navegadores
Web), para proporcionar aplicaciones para los dispositivos domésticos (Teléfonos celulares,
radio localizadores y asistentes digitales personales) y para muchos otros propósitos.[1]
Figura 1. James Gosling considerado el padre del lenguaje Java
EL FENOMENO DE LA TECNOLOGIA JAVA
Cuando hablamos de la tecnología Java parece ser que esta en todas partes, la razón de
que así sea es debido a que Java es tanto un lenguaje de programación como una
plataforma.[2]
JAVA COMO LENGUAJE DE PROGRAMACION
El lenguaje de programación Java es un lenguaje de alto nivel, el cual puede definirse
mediante algunas palabras como: [3]






Simple
Arquitectura neutral
Orientado a Objetos
Portable
Distribuible
Alto rendimiento




Multiprocesos
Robusto
Dinámico
Seguro
Para aprender acerca de la filosofía de los creadores de Java “James Gosling
Henry McGilton” existe un documento llamado “A White Paper” el cual se puede consultar en
la siguiente dirección web: [3]
http://java.sun.com/docs/white/langenv/
¿Como se crean los programas?
En el lenguaje de programación java, todo el código primero es escrito en archivos de texto
plano con la terminación .java como extensión del archivo.Todos los archivos creados de
esta forma después son convertidos (compilados) en un archivo .class mediante el
compilador javac. [3]
Un archivo .class no contiene código el cual sea nativo para nuestro procesador, solo
contiene bytecodes el cual es el código maquina de la Java Virtual Machine (Java VM).
Después la herramienta de lanzamiento de java corre nuestra aplicación mediante una
instancia de la Java Virtual Machine. [3]
Figura 2. Una vista general del proceso de desarrollo de nuestro software.
A consecuencia de que la Java VM es compatible con varios Sistemas Operativos, los
archivos .class tienen la posibilidad de correr sobre Microsoft Windows, the Solaris TM
Operating System (Solaris OS), Linux, or Mac OS. Existen distintas JavaVM y algunas como
la Java HotSpot Virtual Machine realizan pasos adicionales en la rutina del proceso de
lanzamiento para dar un aumento en el rendimiento de nuestra aplicación. [3]
Figura 3. Con la Java VM la misma aplicación es capaz de correr en múltiples plataformas operativas.
JAVA COMO UNA PLATAFORMA
Una plataforma es el entorno de hardware o software en el que un programa se ejecuta. Ya
se han mencionado algunas de las plataformas más conocidas, como Microsoft Windows,
Linux, Solaris y Mac OS. La mayoría de las plataformas se puede describir como una
combinación del sistema operativo y el hardware que soporta dicho sistema. La plataforma
Java difiere de otras plataformas ya que se trata de una plataforma de software que se
ejecuta sólo en la parte superior de otras plataformas basadas en hardware. [3]
La plataforma Java no difiere en todo ya que también cuenta con su procesador, memoria
ram; los cuales son creados virtualmente tomando prestados algunos de los recursos del
sistema huésped. Lo cual como desventaja hace que los procesos que se ejecutan dentro de
la Java VM dependa de la cola de procesos del sistema operativo huésped. [3]
La plataforma java tiene dos componentes:


The Java Virtual Machine
The Java Application Programming Interface (API)
La máquina virtual de Java, es la base para la plataforma Java y ha sido aportado a varias
plataformas basadas en hardware.
[3]
El API es una gran colección de componentes de software listos para usarse que
proporcionan muchas funciones útiles. Se agrupan en las bibliotecas de clases e interfaces
relacionadas, estas bibliotecas se conocen como paquetes. [3]
Figura 4.
La API y la máquina virtual de Java están para aislar el programa desde el hardware del
sistema operativo huésped. [3]
En un entorno independiente de la plataforma, la plataforma Java puede ser un poco más
lento que el código nativo. Sin embargo, los avances en el compilador y las tecnologías de
máquina virtual están trayendo rendimiento cercano al de código nativo sin poner en peligro
la portabilidad. [3]
¿Qué puede hacer la tecnología Java?
El proposito general del lenguaje de programación de alto nivel Java es una poderosa
plataforma basada en software. Todas las implementaciones de la plataforma Java pueden
componerse de las siguientes características: [4]
* Development Tools: The development tools provide everything you'll need for
compiling, running, monitoring, debugging, and documenting your applications. As a new
developer, the main tools you'll be using are the javac compiler, the java launcher, and the
javadoc documentation tool. [4]
* Application Programming Interface (API): The API provides the core functionality of the
Java programming language. It offers a wide array of useful classes ready for use in your own
applications. It spans everything from basic objects, to networking and security, to XML
generation and database access, and more. The core API is very large; to get an overview of
what it contains, consult the Java SE Development Kit 6 (JDKTM 6) documentation. [4]
* Deployment Technologies: The JDK software provides standard mechanisms such as
the Java Web Start software and Java Plug-In software for deploying your applications to end
users. [4]
* User Interface Toolkits: The Swing and Java 2D toolkits make it possible to create
sophisticated Graphical User Interfaces (GUIs). [4]
* Integration Libraries: Integration libraries such as the Java IDL API, JDBCTM API, Java
Naming and Directory InterfaceTM ("J.N.D.I.") API, Java RMI, and Java Remote Method
Invocation over Internet Inter-ORB Protocol Technology (Java RMI-IIOP Technology) enable
database access and manipulation of remote objects. [4]
¿La tecnología java facilita las cosas y mejora nuestras vidas?
No nos promete la fama, la fortuna, o incluso un puesto de trabajo si aprendemos el lenguaje
de programación Java. Sin embargo, es probable que la creación de programas sea mucho
mejor y requiera menos esfuerzo que otros lenguajes de programacion. Talvez la tecnología
Java nos ayude a hacer lo siguiente:
Comience a trabajar rápidamente: Aunque el lenguaje de programación Java es un lenguaje
potente orientado a objetos, es fácil de aprender, especialmente para los programadores que
ya están familiarizados con C o C + +. [5]
Escribir menos código: Las comparaciones de los parámetros del programa sugieren que un
programa escrito en el lenguaje de programación Java puede ser cuatro veces más pequeño
que el mismo programa escrito en C + +. [5]
Escribir mejor código: El lenguaje de programación Java fomenta las buenas prácticas de
codificación, y la recolector automático de basura ayuda a evitar pérdidas de memoria. Su
orientación a objetos, su arquitectura de componentes JavaBeans, y su amplio alcance,
hacen fácilmente extensible a la API y permiten reutilizar las existentes, introducir el código
probado y menos errores en aplicaciones eh interfaces existentes. [5]
Desarrollar programas con mayor rapidez: El lenguaje de programación Java es más simple
que C + +, y como tal, el tiempo de desarrollo podría ser hasta dos veces más rápido al
escribir en él. Sus programas también requieren menos líneas de código. [5]
Dependencias de la plataforma se deben evitar: Se puede mantener la portabilidad de un
programa y asi evitar el uso de bibliotecas escritas en otros lenguajes. [5]
Escribir una vez, ejecutar en cualquier lugar: Esto se logra gracias a que las aplicaciones
escritas en el lenguaje de programación Java se compilan en bytecodes independientes del
sistema huesped, que corren constantemente en cualquier plataforma Java. [5]
Distribuir software más fácil: Con software de Java Web Start, los usuarios dueden poner en
marcha sus aplicaciones con un solo clic del ratón. Una comprobación de la versión
automática en el arranque asegura que los usuarios están siempre al día con la última
versión de su software. Si hay una actualización disponible, el software Java Web Start
actualizará automáticamente su instalación. [5]
Comencemos a programar con Java:
La plataforma Java esta disponible en distintas tecnologías las cuales son:
JavaSE
JavaSE for Business
JavaFX
JavaME
JavaEE
JavaCard
JavaTV
JavaDB
Para comenzar a programar nos introduciremos en la Java SE, la cual es la edición estándar
de la plataforma Java.
Los dos productos principales de la plataforma Java SE son: Java Development Kit (JDK) y
Java SE Runtime Environment (JRE). [6]
Figura 5. Muestra como están formados los productos principales de la plataforma Java SE
Para ver la documentación que describe todas las clases que se encuentran en los paquetes
y los métodos contenidos en las clases se recomienda visitar:
http://download.oracle.com/javase/6/docs/api/ [6]
[1] CÓMO PROGRAMAR EN JAVA
Harvey M. Deitel / Paul J. Deitel
Quinta Edición
Pearson Educación
Págs. 71 a 94.
[2] http://download.oracle.com/javase/tutorial/getStarted/intro/index.html
[3] http://download.oracle.com/javase/tutorial/getStarted/intro/definition.html
[4] http://download.oracle.com/javase/tutorial/getStarted/intro/cando.html
[5] http://download.oracle.com/javase/tutorial/getStarted/intro/changemylife.html
[6] http://download.oracle.com/javase/6/docs/index.html