Download INTRODUCCION A JAVA Breve Historia de Java La historia de Java
Document related concepts
no text concepts found
Transcript
Escuela Profesional de Ingeniería de Sistemas e Informática INTRODUCCION A JAVA Breve Historia de Java La historia de Java, se remonta al año 1991, donde un grupo de ingenieros de Sun, liderados por James Gosling y Patrick Naughton, deseaban diseñar un pequeño lenguaje de computadoras que se pudiera utilizar en dispositivos de consumo como los conmutadores de TV por cable. Se dio al proyecto el nombre clave “Green”. Los requisitos de código pequeño, compacto y neutro respecto a las plataformas llevaron al equipo a retomar el trabajo de Niklaus Wirth, el inventor de Pascal, quien fue el primero en diseñar un lenguaje transportable que generaba el código intermedio a una maquina hipotética (virtual). Basando su lenguaje en C++ en lugar de Pascal, el equipo construyo un lenguaje orientado a objetos, y le puso el nombre de Java. La parte de Internet llamada World Wide Web (www) se iba haciendo cada vez más grande. La clave de la web es el navegador que traduce la página de hipertexto a la pantalla. En 1995, el grupo lanzo el navegador HotJava (escrito en Java), para mostrar la potencia de Java, con la novedad de poder incrustar pequeños programas dentro de las paginas (applets). Sun publico la primera versión de Java a principios de 1996. Su sucesor, la versión 1.1, mejoro mucho la capacidad de introspección y añadía un nuevo modelo de eventos para la programación de GUI. La versión 1.2, reemplazo el antiguo y sencillo juego de herramientas para gráficos y GUI por unas versiones sofisticadas y escalables. Sun le puso el nombre de Java 2 Standard Edition software Development Kit versión 1.2. Además de la “Standard Edition” se presentaron otras dos ediciones: la “Micro Edition” para dispositivos empotrados como teléfonos móviles y la “Enterprise Edition” para el procesamiento efectuado en el servidor. Las versiones 1.3 y 1.4 de la Standard Edition son mejoras incrementales respecto a la versión original de Java 2, con una biblioteca estándar en constante crecimiento y, por supuesto, una buena cantidad de corrección de errores. A lo largo de este periodo de tiempo, Java paso a ser la plataforma de elección para aplicaciones ejecutadas en el servidor. 1 Escuela Profesional de Ingeniería de Sistemas e Informática La versión 5.0 es la primera actualización habida desde la versión 1.1 que mejora de forma significativa el lenguaje Java. (Originalmente esta versión tenía el número 1.5, pero el número de versión paso a ser 5.0). Se añadieron los tipos genéricos, los bucles “for each”, el empaquetado y los metadatos. La Tecnología Java Java no ha sido nunca solo un lenguaje. Java es toda una plataforma, con una enorme biblioteca, con una gran cantidad de código reutilizable, y con un entorno de ejecución que ofrece servicios tales como seguridad, adaptabilidad entre sistemas operativos, y recolección automática de basura. Como programador, uno necesita un lenguaje que tenga una sintaxis agradable y una semántica comprensible. Java encaja bien con este perfil, pero también los hacen muchos otros lenguajes que también están disponibles. Algunos lenguajes ofrecen adaptabilidad, recolección de basura y cosas similares, pero no tiene una biblioteca demasiado potente y nos obligan a partir de cero si deseamos buenos gráficos o redes o acceso a bases de datos. En este sentido, Java lo tiene todo: un buen lenguaje, un entorno de ejecución de alta calidad y una amplia biblioteca. Esta combinación es lo que hace a Java una propuesta atractiva para los programadores. Características de Java Estas características han sido recogidas de sus propios creadores: Sencillo Deseábamos construir un sistema que se pudiera programar de forma sencilla sin necesidad de gran cantidad de formación esotérica, y que aproveche las prácticas que son el estándar de la actualidad. Por tanto aunque observamos que C++ no resultaba adecuado, diseñamos Java de modo que se pareciese lo más posible a C++ , con el objeto de hacer el sistema fuera más fácil de entender. Java carece de muchas características de C++ que utilizan solo raramente, se entienden mal e inducen a confusión, produciendo, en nuestra experiencia, más daños que beneficios Orientado a Objetos Dicho en términos sencillos, el diseño orientado a objetos es una técnica de programación que se centra en los datos (esto es, los objetos) y en las interfaces de esos objetos. Para hacer una analogía con la carpintería, un carpintero “orientado a objetos” se preocuparía 2 Escuela Profesional de Ingeniería de Sistemas e Informática mas por la silla que está haciendo que por las herramientas que utilizara para hacerla; un carpintero “no orientado a objetos” se preocuparía sobre todo por las herramientas. Las capacidades orientadas a objetos de Java son, en esencia las de C++ Distribuido Java posee una extensa biblioteca de rutinas para tratar protocolos TCP/IP como HTTP y FTP. Las aplicaciones de Java pueden abrir objetos y acceder a objetos a través de la red empleando URL con tanta facilidad como acceder a un sistema local de ficheros. Robusto Java está diseñado para escribir programas que deben resultar fiables en múltiples sentidos. Java hace hincapié en la comprobación temprana de posibles problemas, efectúa después una comprobación dinámica (en el momento de la ejecución), y elimina las situaciones proclives a error… La mayor diferencia individual entre Java y C++ es que Java tiene un modelo de punteros que elimina la posibilidad de efectuar escrituras superpuestas en memoria, corrompiendo los datos. Seguro Java está diseñado para utilizarse en entornos distribuidos o de red. Con este fin, se ha hecho mucho hincapié en la seguridad. Java permite construir sistemas libres de virus y manipulaciones. Neutro respecto a la arquitectura El compilador genera una forma de ficheros objeto neutro respecto a la arquitectura: el código compilado se puede ejecutar en muchos procesadores, siempre y cuando cuenten con la presencia del entorno de ejecución de Java. El compilador de Java consigue esto generando instrucciones de bytecode, que nada tiene que ver con una arquitectura de computadoras concreta. Mas bien, están diseñadas para ser fáciles de interpretar en cualquier maquina y fáciles de traducir a código maquina sobre la marcha. Adaptable A diferencia de C y C++ , no existen aspectos de la especificación que sean “dependientes de la implementación”. Los tamaños de los datos primitivos están especificados, así como también el comportamiento que tiene la aritmética que se les aplica. Las bibliotecas que forman parte del sistema definen interfaces adaptables. Por ejemplo, existe una clase abstracta Window, e implementaciones de la misma para UNIX, Windows y Macintosh. 3 Escuela Profesional de Ingeniería de Sistemas e Informática Interpretado El intérprete de Java puede ejecutar directamente bytecodes de Java en cualquier maquina a la que se haya adaptado el interprete. Como el enlazado es un proceso más incremental y ligero, el proceso de desarrollo puede ser mucho más rápido y exploratorio. De alto rendimiento Aunque el rendimiento de los bytecodes interpretados suele ser más aceptable, existen situaciones en que se necesita un rendimiento superior. Los bytecodes se pueden traducir sobre la marcha (durante la ejecución) a código máquina para la CPU concreta en que se está ejecutando la aplicación. Multihilo Los beneficios de la ejecución multihilo son una mejor respuesta interactiva y un comportamiento de tiempo real. Dinámico En muchos sentidos, Java es un lenguaje más dinámico que C o C++. Se ha diseñado para adaptarse a entornos cambiantes. Las bibliotecas pueden añadir libremente nuevos métodos y variables de ejemplar sin que sus clientes se vean afectados. En java, obtener información sobre el tipo durante la ejecución es algo sencillo. 4 Escuela Profesional de Ingeniería de Sistemas e Informática Entorno de Desarrollo Dentro del JDK del Java, vienen las herramientas que permiten compilar y ejecutar nuestros programas en Java (javac y java). Sin embargo, existen los denominados IDEs (Entornos de Desarrollo Integrado), que facilitan las tareas de edición, compilación, ejecución y depuración de los programas. El IDE con el que vamos a trabajar en este curso es el Netbeans. Requisitos del sistema para trabajar con el NetBeans En la siguiente pagina web, se especifican los requisitos mínimos y recomendados que debe tener tu sistema para poder ejecutar el NetBeans: http://netbeans.org/community/releases/68/relnotes.html Configuration minima Microsoft Windows XP Professional SP3: o Processor: 800MHz Intel Pentium III or equivalent o Memory: 512 MB o Disk space: 750 MB of free disk space Microsoft Windows Vista SP1: o Processor: 800MHz Intel Pentium III or equivalent o Memory: 512 MB o Disk space: 750 MB of free disk space Configuración recomendada Microsoft Windows XP Professional SP3: Processor: 2.6 GHz Intel Pentium IV or equivalent Memory: 2 GB Disk space: 1 GB of free disk space Microsoft Windows Vista SP1: Processor: 2.6 GHz Intel Pentium IV or equivalent Memory: 2 GB Disk space: 1 GB of free disk space 5 Escuela Profesional de Ingeniería de Sistemas e Informática Descarga e Instalación Descarga En esta página podrás encontrar las herramientas de software necesarias para este curso: http://java.sun.com/javase/downloads/widget/jdk_netbeans.jsp Luego de concluir con los siguientes pasos, tendrás el archivo que instala el IDE y el JDK de Java en un solo proceso. En Plataform: Seleccionar Windows Hacer clic en Download 6 Escuela Profesional de Ingeniería de Sistemas e Informática Hacer clic sobre “Skip this Step” Hacer clic sobre: “jdk-6u18-nb-6_8-windows-ml.exe” Descargar el archivo “jdk-6u18-nb-6_8-windows-ml.exe”. Ejecutar el archivo “jdk-6u18-nb-6_8-windows-ml.exe”. 7 Escuela Profesional de Ingeniería de Sistemas e Informática Creación del primer programa en Java Desde Inicio, ejecutamos el programa NetBeans Creamos el primer proyecto, con ayuda del IDE. Opcion: File > New Project Seleccionamos: Java Application Ponemos nombre al proyecto: Introduccion Seleccionamos una ubicación para su almacenamiento Ponemos el nombre a la clase: Ejemplo01 8 Escuela Profesional de Ingeniería de Sistemas e Informática Hacemos clic sobre el botón Finish Codificamos nuestra clase En el editor del Netbeans, escribimos la instrucción que permita imprimir un mensaje de bienvenida. Ejecutamos el programa con <shift><F6> 9 Escuela Profesional de Ingeniería de Sistemas e Informática Comentarios sobre el programa: El código que pongamos dentro de las llaves del método main, será lo que se ejecute, en este caso la impresión del saludo en la ventana de salida. Tenga cuidado al escribir el código, debido a que Java distingue las mayúsculas de las minúsculas. También ponga atención de finalizar la instrucción con el símbolo de punto y coma “;”. Creación de otra clase en el mismo proyecto Para crear una nueva clase (con método main), dentro del paquete introducción, hacemos clic con el botón derecho del mouse sobre el paquete y seleccionamos la plantilla “Java Main Class”: 10 Escuela Profesional de Ingeniería de Sistemas e Informática Ponemos nombre a la nueva clase: “Ejemplo02”: 11 Escuela Profesional de Ingeniería de Sistemas e Informática Codificamos la impresión en consola de un nuevo mensaje “Este es otro ejemplo”, y ejecutamos el programa con <shift><F6>: Para el resto de programas de esta unidad, vamos a seguir adicionando mas clases de la misma forma que lo hemos hecho en el Ejemplo02. 12 Escuela Profesional de Ingeniería de Sistemas e Informática Ejemplo 1.03 En esta clase, el programa debe solicitar que el usuario que ingrese un nombre y luego imprimirá un saludo con el nombre del usuario incluido. 1. import javax.swing.*; 2. 3. public class Ejemplo03 { 4. public static void main(String[] args) { 5. 6. String nombre; 7. nombre = JOptionPane.showInputDialog(“¿Cual es tu nombre? “); 8. System.out.println(“Bienvenido a Java “+nombre); 9. 10. } 11. 12. } Bienvenido a Java JUAN PEREZ En la línea 3, importamos el paquete que nos permitirá utilizar el método showInputDialog para solicitar los datos por teclado. En la línea 6, declaramos la variable nombre, de tipo cadena y en la línea 7 le asignamos el valor ingresado por el usuario. Finalmente, en la línea 8, se imprime el mensaje “Bienvenido a Java”, concatenado con el nombre ingresado. 13