Upload
profesorjavacom
View
766
Download
2
Embed Size (px)
DESCRIPTION
Módulo 01 del PJ100 Curso Programador Java by Raul Oramas Bustillos
Citation preview
Módulo 01
Introducción a las computadoras,Internet y Web
Material basado en el libro Como programar en Java de Deitel/Deitel, Editorial Pearson Education
Indice
Introducción ¿Qué es una computadora? Organización de una computadora Los primeros sistemas operativos Computación personal, distribuida y
cliente/servidor Internet y World Wide Web Lenguajes máquina, lenguajes ensambladores
y lenguajes de alto nivel
Indice
Historia de C y C++ Historia de Java Biblioteca de clases de Java FORTRAN, COBOL, Pascal y Ada BASIC, Visual Basic, Visual C++, C# y .NET Entorno de desarrollo típico en Java
Introducción
Java se ha convertido en el lenguaje de elección para implementar aplicaciones basadas en Internet y software para dispositivos que se comunican a través de una red
Introducción
Java Enterprise Edition (Java EE) está orientada hacia el desarrollo de aplicaciones de redes distribuidas de gran escala y aplicaciones basadas en Web
Introducción
Java Micro Edition (Java ME) está orientada hacia el desarrollo de aplicaciones para dispositivos pequeños, con memoria limitada, como teléfonos celulares, radiolocalizadores y PDAs
¿Qué es una computadora?
Una computadora es un dispositivo capaz de realizar cálculos y tomar decisiones lógicas a velocidades de millones de veces más rápidas que los humanos
¿Qué es una computadora?
Las computadoras procesan los datos bajo el control de conjuntos de instrucciones llamadas programas de cómputo
¿Qué es una computadora?
Los programas guían a las computadoras a través de acciones especificadas por los programadores de computadoras
¿Qué es una computadora?
Una computadora está compuesta por varios dispositivos conocidos como hardware
A los programas que se ejecutan en una computadora se les denomina software
Organización de una computadora
Casi todas las computadoras pueden representarse mediante seis unidades lógicas
Computadora
Unidad deentrada
Unidad desalida
Unidad dememoria
Unidad aritmética/lógica
CPU
Unidad dealmacenamiento
Organización de una computadora
La unidad de entrada obtiene información desde los dispositivos de entrada y pone esa información a disposición de las otras unidades para que pueda procesarse
La unidad de salida toma información que ya ha sido procesada por la computadora y la coloca en los diferentes dispositivos de salida, para que esté disponible fuera de la computadora
Organización de una computadora
La unidad de memoria es la sección de ”almacen” de acceso rápido, pero con relativa baja capacidad, de la computadora
Retiene la información que se introduce a través de la unidad de entrada, para que la información pueda estar disponible de manera inmediata para procesarla cuando sea necesario
También retiene la información procesada hasta que ésta pueda ser colocada en los dispositivos de salida por la unidad de salida
Organización de una computadora
La unidad de aritmética y lógica (ALU) es la responsable de realizar cálculos (como suma, resta, multiplicación y división) y tomar decisiones
La unidad central de procesamiento (CPU) coordina y supervisa la operación de las demás secciones
Organización de una computadora
La CPU le indica a la unidad de entrada cuándo debe grabarse la información dentro de la unidad de memoria, a la ALU cuándo debe utilizarse la información de la unidad de memoria para los cálculos, y a la unidad de salida cuándo enviar la información desde la unidad de memoria, hasta ciertos dispositivos de salida
Organización de una computadora
Los multiprocesadores contienen múltiples CPUs y, por lo tanto, pueden realizar muchas operaciones de manera simultánea
La unidad de almacenamiento es la sección de ”almacen” de alta capacidad y de larga duración de la computadora
Los programas o datos que no se encuentran en ejecución por las otras unidades, normalmente se colocan en dispositivos de almacenamiento secundario hasta que son requeridos de nuevo
Los primeros sistemas operativos
Las primeras computadoras eran capaces de realizar solamente una tarea o trabajo a la vez
Los sistemas operativos se desarrollaron para facilitar el uso de la computadora
Los primeros sistemas operativos
La multiprogramación significa la operación simultánea de muchas tareas
Con el tiempo compartido, la computadora ejecuta una pequeña porción del trabajo de un usuario y después procede a dar servicio al siguiente usuario, con la posibilidad de proporcionar el servicio a cada usuario varias veces por segundo
Computación personal, distribuida y cliente/servidor
En 1977, Apple Computer popularizó el fenomeno de la computación personal
Computación personal, distribuida y cliente/servidor
En 1981, IBM introdujo la Computadora Personal (PC), que legitimó rápidamente la computación en las empresas, en la industria y en las organizaciones gubernamentales
Computación personal, distribuida y cliente/servidor
En la computación distribuida, en vez de que la computación se realice sólo en una computadora central, se distribuye mediante redes a los sitios en donde se realiza el trabajo de la empresa
Los servidores almacenan datos que pueden utilizar las computadoras cliente distribuidas a través de la red, de ahí el término cliente/servidor
Computación personal, distribuida y cliente/servidor
Java se está utilizando ampliamente para escribir software para redes de computadoras y para aplicaciones cliente/servidor distribuidas
Internet y World Wide Web
Internet es accesible por más de mil millones de computadoras y dispositivos controlados por computadora
Internet y World Wide Web
Con la introducción de World Wide Web, Internet se ha convertido explosivamente en uno de los principales mecanismos de comunicación en todo el mundo
Lenguajes máquina, lenguajes ensambladores y lenguajes de alto nivel
Cualquier computadora puede entender de maner directa sólo su propio lenguaje máquina
El lenguaje máquina es el ”lenguaje natural” de una computadora
Lenguajes máquina, lenguajes ensambladores y lenguajes de alto nivel
Por lo general, los lenguajes máquina consisten en cadenas de números (que finalmente se reducen a 1s y 0s) que instruyen a la computadora para realizar sus operaciones más elementales, una a la vez
Lenguaje de máquina
Los lenguajes de máquina son dependientes de la máquina
Los lenguajes de máquina son dependientes de la máquina
0010 0001 10101010 1011 10000110 1101 0001
0010 0001 10101010 1011 10000110 1101 0001
ComputadoraComputadora
EnsambladorEnsamblador
Lenguajes máquina, lenguajes ensambladores y lenguajes de alto nivel
Los programadores empezaron a utilizar abreviaturas del inglés para representar las operaciones elementales
Estas abreviaturas formaron la base de los lenguajes ensambladores
Lenguaje ensamblador
Traductor
0010 0001 10101010 1011 10000110 1101 0001
0010 0001 10101010 1011 10000110 1101 0001
ComputadoraComputadora
SUB AX, AXMOV AX, 18DSUB AX, 18D
SUB AX, AXMOV AX, 18DSUB AX, 18D
Lenguajes máquina, lenguajes ensambladores y lenguajes de alto nivel
Los programas traductores conocidos como ensambladores se desarrollaron para convertir los primeros en lenguaje ensamblador a lenguaje máquina, a la velocidad de la computadora
Los lenguajes de alto nivel permiten a los programadores escribir instrucciones parecidas al lenguaje inglés cotidiano, y contienen notaciones matemáticas de uso común
Lenguajes máquina, lenguajes ensambladores y lenguajes de alto nivel
Java es el lenguaje de programación de alto nivel más utilizado en todo el mundo
Los programas intérpretes ejecutan los programas en lenguajes de alto nivel directamente
Historia de C y C++
Java evolucionó de C++, el cual evolucionó de C, que a su vez evolucionó de BCPL y B
El lenguaje C evolucionó a partir de B, gracias al trabajo de Dennis Ritchie en los laboratorios Bell
Inicialmente, se hizo muy popular como lenguaje de desarrollo para el sistema operativo UNIX
Historia de C y C++
A principios de la década de los ochenta, Bjarne Stroustrup desarrolló una extensión de C en los laboratorios Bell: C++
Este lenguaje proporciona un conjunto de características que ”pulen” al lenguaje C, además de la capacidad de una programación orientada a objetos
Historia de Java
Java es un lenguaje de programación orientado a objetos desarrollado por James Gosling y su equipo en Sun Microsystems en California
El lenguaje se basa en C/C++ y al principio se llamó Oak
Historia de Java
Java se utiliza para desarrollar aplicaciones empresariales a gran escala, para mejorar la funcionalidad de los servidores Web, para proporcionar aplicaciones para dispositivos domésticos y para muchos otros propósitos
Los programas en Java consisten en piezas llamadas clases
Las clases incluyen piezas llamadas métodos, los cuales realizan tareas y devuelven información cuando se completan estas tareas
Biblioteca de clases de Java
La mayoría de los programadores en Java se aprovechan de las ricas colecciones de clases existentes en las bibliotecas de clases de Java, que también se conocen como APIs (Interfaces de Aplicaciones de Java)
La ventaja de crear sus propias clases y métodos es que sabe como funcionan y puede examinar el código. La desventaja es que se requiere una cantidad considerable de tiempo y esfuerzo potencialmente complejo
FORTRAN, COBOL, Pascal y Ada
Fortran (FORmula TRANslator, Traductor de fórmulas) fue desarrollado por IBM Corporation a mediados de la década de los cincuenta para utilizarse en aplicaciones científicas y de ingeniería que requerían cálculo matemáticos complejos
FORTRAN, COBOL, Pascal y Ada
COBOL (Common Business Oriented Language, Lenguaje común orientado a negocios) se utiliza en aplicaciones comerciales que requieren de una manipulación precisa y eficiente de grandes volúmenes de datos
FORTRAN, COBOL, Pascal y Ada
Las actividades de investigación en la década de los sesenta dieron como resultado la evolución de la programación estructurada (un método disciplinado para escribir programas que sean más claros, fáciles de probar y depurar, y más fáciles de modificar que los programas extensos producidos con técnicas anteriores)
FORTRAN, COBOL, Pascal y Ada
Pascal se diseñó para la enseñanza de la programación estructurada en ambientes académicos, y de inmediato se convirtió en el lenguaje de programación preferido en la mayoría de las universidades
FORTRAN, COBOL, Pascal y Ada
Ada se desarrolló bajo el patrocinio del Departamento de Defensa de los Estados Unidos (DOD) para satisfacer la mayoría de sus necesidades
FORTRAN, COBOL, Pascal y Ada
Una característica de Ada conocida como multitarea permite a los programadores especificar que muchas actividades ocurrirán en paralelo
Java, a través de una técnica que se conoce como subprocesamiento múltiple, también permite a los programadores escribir programas con actividades paralelas.
BASIC, Visual Basic, Visual C++, C# y .NET
BASIC fué desarrollado a mediados de la década de los sesenta para escribir programas simples
Beginner'sAllPurposeSymbolicInstructionCode
Diseñado para escribirprogramas simples para las computadoras de tiempocompartido.
BASIC, Visual Basic, Visual C++, C# y .NET
El lenguaje Visual Basic de Microsoft simplifica el desarrollo de aplicaciones para Windows
La plataforma .NET de Microsoft integra Internet y Web en las aplicaciones de computadora
BASIC, Visual Basic, Visual C++, C# y .NET
Visual C++ se basa en el lenguaje C++ por lo que disponemos de la potencia de la programación orientada a objetos
C# es un lenguaje de programación orientado a objetos. Su sintaxis básica deriva de C/C++
Entorno de desarrollo típico en Java
Por lo general, los programas en Java pasan a través de cinco fases: edición compilación carga verificación y ejecución
CompilaciónCompilación
EdiciónEdición
Cargador deClases
Cargador deClases
VerificaciónCodígo
VerificaciónCodígo
EjecuciónJVM
EjecuciónJVM
Entorno de desarrollo típico en Java
La fase 1 consiste en editar un archivo con un editor. Escribimos un programa utilizando el editor, realizando las correcciones necesarias y guardando el programa en un dispositivo de almacenamiento secundario
Un nombre de archivo que termina con la extensión .java indica que éste contiene código fuente en Java
Entorno de desarrollo típico en Java
Los entornos de desarrollo integrados (IDEs) proporcionan herramientas que dan soporte al proceso de desarrollo del software, incluyendo editores para escribir y editar programas, y depuradores para localizar errores lógicos
En la fase 2, el programador utiliza el comando javac para compilar un programa
Entorno de desarrollo típico en Java
Si un programa se compila, el compilador produce un archivo .class que contiene el programa compilado
El compilador de Java traduce el código fuente de Java en códigos de bytes que representan las tareas a ejecutar. La Máquina Virtual de Java (JVM) ejecuta los códigos de bytes
CompiladorCompilador
Codigo.java
Codigo.class
Entorno de desarrollo típico en Java
En la fase 3, de carga, el cargador de clases toma los archivos .class que contienen los códigos de bytes del programa y los transfiere a la memoria principal
En la fase 4, a medida que se cargan las clases, el verificador de códigos de bytes examina sus códigos de bytes para asegurar que sean válidos y que no violen las restricciones de seguridad de Java
En la fase 5, la JVM ejecuta los códigos de bytes del programa