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