48
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

Pj100 modulo 01

Embed Size (px)

DESCRIPTION

Módulo 01 del PJ100 Curso Programador Java by Raul Oramas Bustillos

Citation preview

Page 1: Pj100 modulo 01

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

Page 2: Pj100 modulo 01

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

Page 3: Pj100 modulo 01

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

Page 4: Pj100 modulo 01

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

Page 5: Pj100 modulo 01

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

Page 6: Pj100 modulo 01

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

Page 7: Pj100 modulo 01

¿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

Page 8: Pj100 modulo 01

¿Qué es una computadora?

Las computadoras procesan los datos bajo el control de conjuntos de instrucciones llamadas programas de cómputo

Page 9: Pj100 modulo 01

¿Qué es una computadora?

Los programas guían a las computadoras a través de acciones especificadas por los programadores de computadoras

Page 10: Pj100 modulo 01

¿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

Page 11: Pj100 modulo 01

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

Page 12: Pj100 modulo 01

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

Page 13: Pj100 modulo 01

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

Page 14: Pj100 modulo 01

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

Page 15: Pj100 modulo 01

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

Page 16: Pj100 modulo 01

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

Page 17: Pj100 modulo 01

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

Page 18: Pj100 modulo 01

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

Page 19: Pj100 modulo 01

Computación personal, distribuida y cliente/servidor

En 1977, Apple Computer popularizó el fenomeno de la computación personal

Page 20: Pj100 modulo 01

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

Page 21: Pj100 modulo 01

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

Page 22: Pj100 modulo 01

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

Page 23: Pj100 modulo 01

Internet y World Wide Web

Internet es accesible por más de mil millones de computadoras y dispositivos controlados por computadora

Page 24: Pj100 modulo 01

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

Page 25: Pj100 modulo 01

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

Page 26: Pj100 modulo 01

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

Page 27: Pj100 modulo 01

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

Page 28: Pj100 modulo 01

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

Page 29: Pj100 modulo 01

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

Page 30: Pj100 modulo 01

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

Page 31: Pj100 modulo 01

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

Page 32: Pj100 modulo 01

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

Page 33: Pj100 modulo 01

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

Page 34: Pj100 modulo 01

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

Page 35: Pj100 modulo 01

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

Page 36: Pj100 modulo 01

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

Page 37: Pj100 modulo 01

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)

Page 38: Pj100 modulo 01

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

Page 39: Pj100 modulo 01

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

Page 40: Pj100 modulo 01

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.

Page 41: Pj100 modulo 01

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'sAll­PurposeSymbolicInstructionCode

Diseñado para escribirprogramas simples para las computadoras de tiempocompartido.

Page 42: Pj100 modulo 01

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

Page 43: Pj100 modulo 01

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++

Page 44: Pj100 modulo 01

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

Page 45: Pj100 modulo 01

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

Page 46: Pj100 modulo 01

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

Page 47: Pj100 modulo 01

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

Page 48: Pj100 modulo 01

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