Diapositiva 1 - pedro beltran canessa

Anuncio
• Alumno: Pedro Beltrán
Canessa
• Facultad: Ingeniería
• Escuela: Ingeniería de Sistemas
• Universidad Los Ángeles de Chimbote
• Sede: Chimbote
• Curso: Tecnología de Información y Comunicaciones
16/02/2013
INGº PEDRO BELTRÁN CANESSA
1
16/02/2013
INGº PEDRO BELTRÁN CANESSA
2
PROGRAMACION EN JAVA
UNIVERSIDAD LOS ÁNGELES DE
CHIMBOTE
CURSO:
TÉCNICAS DE PROGRAMACIÓN
DOCENTE RESPONSABLE:
INGº PEDRO BELTRÁN CANESSA
16/02/2013
INGº PEDRO BELTRÁN CANESSA
3
PRIMERA SESIÓN DE APRENDIZAJE
16/02/2013
INGº PEDRO BELTRÁN CANESSA
4
¿QUE CONCEPTOS BÁSICOS
SE DEBEN CONOCER PARA PROGRAMAR?
POR EJEMPLO, LOS SIGUIENTES:
 EL ALGORITMO: ES UNA SECUENCIA DE PASOS QUE PERMITEN RESOLVER UN
PROBLEMA DETERMINADO. LOS ALGORITMOS SON INDEPENDIENTES DEL
LENGUAJE DE PROGRAMACIÓN ASÍ COMO DEL HARDWARE A UTILIZAR.
 UN PROGRAMA: ESTA CONFORMADO POR UNA SERIE DE INSTRUCCIONES
QUE ESPECIFICAN QUE TIPO DE OPERACIONES DEBE REALIZAR LA
COMPUTADORA. TODO PROGRAMA SE ESCRIBE UTILIZANDO UN LENGUAJE DE
PROGRAMACIÓN.
 EL LENGUAJE DE PROGRAMACIÓN: SE UTILIZA PARA ESCRIBIR PROGRAMAS,
ESTO IMPLICA CONOCER LA SINTAXIS DEL LENGUAJE UTILIZADO, ASÍ COMO
LAS DIFERENTES INSTRUCCIONES QUE SE PUEDEN APLICAR.
16/02/2013
INGº PEDRO BELTRÁN CANESSA
5
¿CÓMO ENTIENDE LA MÁQUINA EL
LENGUAJE DE PROGRAMACIÓN?
EXISTE UN PROGRAMA LLAMADO COMPILADOR, QUE
PERMITE CONVERTIR EL PROGRAMA ELABORADO POR
EL USUARIO, DENOMINADO FUENTE, ESCRITO EN
LENGUAJE DE ALTO NIVEL, EN CÓDIGO BINARIO, QUE SÍ
ES COMPRENDIDO POR LA MÁQUINA. DE ESTO RESULTA
UN PROGRAMA LLAMADO EJECUTABLE, EL CUAL ES
DIRECTAMENTE DESARROLLADO POR LA MÁQUINA
DONDE RESIDE EL PROGRAMA. POR EJEMPLO: UN
PROGRAMA EN C++, NECESITA DE UN COMPILADOR DE
C++ PARA PODER SER EJECUTADO.
16/02/2013
INGº PEDRO BELTRÁN CANESSA
6
COMPILACIÓN DE UN PROGRAMA ESTÁNDAR
PROGRAMA FUENTE
PROGRAMA COMPILADOR
PROGRAMA OBJETO O
PROGRAMA EJECUTABLE
16/02/2013
INGº PEDRO BELTRÁN CANESSA
7
¿ Y QUE CLASES DE
LENGUAJES DE
PROGRAMACIÓN
EXISTEN?
LA CLASIFICACIÓN DE LOS LENGUAJES DE
PROGRAMACIÓN, SE HACE EN FUNCIÓN DE LA
PROXIMIDAD DEL LENGUAJE, YA SEA QUE ESTÉ
ORIENTADO HACIA LA MÁQUINA O HACIA EL
USUARIO, LO CUAL ESTABLECE TRES CATEGORÍAS
A CONSIDERAR:
16/02/2013
INGº PEDRO BELTRÁN CANESSA
8
CATEGORÍAS:
1. EL LENGUAJE DE BAJO NIVEL O LENGUAJE DE MÁQUINA: ES EL QUE
ENTIENDE DIRECTAMENTE LA COMPUTADORA Y UTILIZA EL CÓDIGO
BINARIO (0 y 1). POR EXCELENCIA, EL LENGUAJE DE PROGRAMACIÓN
QUE MÁS SE IDENTIFICA CON ESTA CATEGORIA ES EL LENGUAJE
ENSAMBLADOR (ASSEMBLER). ESTE LENGUAJE UTILIZA UNA SERIE DE
INSTRUCCIONES CONOCIDAS COMO NEMOTÉCNICOS (ADD PARA LA
ADICIÓN, SUB PARA LA SUSTRACCIÓN, DIV PARA LA DIVISIÓN, ETC.), EN
LUGAR DE CADENA DE BYTES.
2. EL LENGUAJE DE ALTO NIVEL: SON LOS MÁS UTILIZADOS POR LOS
PROGRAMADORES Y UTILIZAN PALABRAS CLAVES PARECIDAS AL
LENGUAJE COMÚN UTILIZADO POR LAS PERSONAS, POR EJEMPLO:
TODOS LOS LENGUAJES VISUALES.
3. EL LENGUAJE DE NIVEL MEDIO: SE CONSIDERAN EN UNA CATEGORÍA
INTERMEDIA, ES DECIR QUE POSEEN CARACTERÍSTICAS DE AMBOS
LENGUAJES DESCRITOS ANTERIORMENTE, POR EJEMPLO: EL LENGUAJE
C++.
16/02/2013
INGº PEDRO BELTRÁN CANESSA
9
¿Qué es JAVA?
EN LA ACTUALIDAD, ES EL LENGUAJE DE
PROGRAMACIÓN, QUE SE UTILIZA CON MAS
ACEPTACIÓN EN EL DESARROLLO DE SOFTWARE
EMPRESARIAL.
APARECE EN 1995, CUANDO LA EMPRESA SUN
MICROSYSTEM LO LANZA AL MERCADO DEL SOFTWARE
Y DE INMEDIATO LO INCORPORAN A DIFERENTES
PRODUCTOS DE SOFTWARE.
16/02/2013
INGº PEDRO BELTRÁN CANESSA
10
Resumen de la Historia de JAVA (I)
EL ORIGEN DEL LENGUAJE JAVA TIENE DIFERENTES
VERSIONES, EL SIGUIENTE ES UN BREVE RESUMEN:
 1992: LA COMPAÑÍA SUN MICROSYSTEMS LLEVA A CABO EL
PROYECTO “GREEN”, PARA COMUNICAR DIVERSOS
APARATOS O DISPOSITIVOS ELECTRÓNICOS. EL PROTOTIPO
ERA UN SISTEMA OPERATIVO DISTRIBUÍDO LLAMADO
“Star7”, DONDE CADA DISPOSITIVO ERA PARTE DEL TODO.
SE CREA EL LENGUAJE “OAK” CON SU RESPECTIVO
INTÉRPRETE Y CLASES CON ESTE LENGUAJE PARA ELABORAR
LAS GUI (GRAPHIC USER INTERFACE – INTERFAZ GRÁFICA DE
USUARIO).
16/02/2013
INGº PEDRO BELTRÁN CANESSA
11
Resumen de la Historia de JAVA (II)
 1993 (MARZO): LA COMPAÑÍA FIRST PERSON,
SUBSIDIARIA DE SUN, RESPONDE A UNA PETICIÓN DE
OFERTAS PARA EL PROYECTO DE TELEVISIÓN INTERACTIVA
DE LA COMPAÑÍA TIME WARNER. ELLOS REQUERÍAN DE
UN PEQUEÑO SISTEMA OPERATIVO EN MICRO CÓDIGO
ORIENTADO A OBJETOS, CAPAZ DE SUMINISTRAR
FLUJOS DE VIDEOS MPEG SOBRE REDES ATM. SUN
PIERDE ESTE NEGOCIO Y TAMPOCO LLEGA A UN
ACUERDO CON OTRA COMPAÑÍA DE TELEVISIÓN POR
CABLE.
16/02/2013
INGº PEDRO BELTRÁN CANESSA
12
Resumen de la Historia de JAVA (III)
1994: SUN IMPLEMENTA UN NAVEGADOR
DE WEB LLAMADO “Web Runner”, QUE
PODÍA EJECUTAR CLASES TRASFERIDAS
DESDE UN SERVIDIR HTTP. ESTO SERÍA LA
PRIMERA APPLET: APARECE LA ANIMACIÓN
DE UNA MASCOTA LLAMADA “DUKE”,
SALUDANDO DESDE UNA PÁGINA.
16/02/2013
INGº PEDRO BELTRÁN CANESSA
13
Resumen de la Historia de JAVA (IV)
1995 (ENERO): CAMBIAN DE NOMBRE
A OAK POR JAVA Y A “Web Runner”
POR “Hot Java”. EN NOVIEMBRE
APARECE EN LA WEB LA 1ª VERSIÓN
BETA OFICIAL DE JAVA: EL JDK 1.0 (JAVA
DEVELOPMENT KIT – EQUIPO DE
DESARROLLO JAVA).
16/02/2013
INGº PEDRO BELTRÁN CANESSA
14
Resumen de la Historia de JAVA (V)
1995 (DICIEMBRE): SE LIBERA A EL JDK
1.1. ACTUALMENTE SE LIBERÓ LA
PLATAFORMA JAVA 2 SDK STANDAR
EDITION (J2SE) VERSIÓN 1.4.1 QUE ES
EL PRODUCTO QUE ESTAMOS
TRATANDO EN EL PRESENTE CURSO.
16/02/2013
INGº PEDRO BELTRÁN CANESSA
15
Ediciones de JAVA
SUN MICROSYSTEMS HA
DESARROLLADO TRES EDICIONES DE
PLATAFORMAS DIFERENTES, CADA UNA
DE ELLAS DESTINADAS A CUBRIR LAS
DIFERENTES NECESIDADES DE
PROGRAMACIÓN EN LA EMPRESA
MODERNA.
16/02/2013
INGº PEDRO BELTRÁN CANESSA
16
Ediciones de JAVA (I)
PLATAFORMA JAVA 2 SDK STANDARD EDITION
(J2SE): ES LA MÁS UTILIZADA DENTRO DEL
ENTORNO JAVA, PERMITE CREAR APLICACIONES
DE PROPÓSITO GENERAL QUE SE PUEDEN
EJECUTAR EN DIFERENTES PLATAFORMAS, ASÍ
COMO APPLETS. CONTIENE UN CONJUNTO DE
APIs (INTERFACES DE PROGRAMACIÓN DE
APLICACIONES), QUE PERMITEN CREAR LAS
APLICACIONES.
16/02/2013
INGº PEDRO BELTRÁN CANESSA
17
Ediciones de JAVA (II)
PLATAFORMA JAVA 2 SDK ENTERPRISE
EDITION (J2EE): J2EE ES UNA PLATAFORMA
QUE PERMITE CREAR APLICACIONES DE
SERVIDOR. LAS APLICACIONES QUE SE VAN
A EJECUTAR EN UN SERVIDOR, TIENEN
REQUISITOS ADICIONALES EN LA FASE DE
DESARROLLO QUE SON PROPORCIONADOS
POR LA PLATAFORMA J2EE.
16/02/2013
INGº PEDRO BELTRÁN CANESSA
18
Ediciones de JAVA (III)
 PLATAFORMA JAVA 2 SDK MICRO EDITION (J2ME): J2ME ES UNA
PLATAFORMA QUE PERMITE CREAR APLICACIONES JAVA PARA
MICRO DISPOSITIVOS, COMO TELÉFONOS CELULARES, PDA, DEL
INGLÉS PERSONAL DIGITAL ASSISTANT (AYUDANTE PERSONAL
DIGITAL), QUE ES UN COMPUTADOR DE MANO ORIGINALMENTE
DISEÑADO COMO AGENDA ELECTRÓNICA (CALENDARIO, LISTA DE
CONTACTOS, BLOC DE NOTAS Y MEMOS) CON UN SISTEMA DE
RECONOCIMIENTO DE ESCRITURA. HOY DÍA SE PUEDE USAR COMO
UNA COMPUTADORA DOMÉSTICA (VER PELÍCULAS, CREAR
DOCUMENTOS, JUEGOS, CORREO ELECTRÓNICO, NAVEGAR POR
INTERNET, ETC.). EN NUESTRO CURSO UTILIZAREMOS LA
PLATAFORMA JAVA 2 STANDAR EDITION (J2SE).
16/02/2013
INGº PEDRO BELTRÁN CANESSA
19
¿Es complicado
programar en JAVA?
EL PROPÓSITO DEL CURSO ES INICIAR AL
ESTUDIANTE EN LA CREACIÓN DE
PROGRAMAS UTILIZANDO JAVA EN UN
PROCESO SECUENCIAL, QUE PERMITA
CAPTAR LOS DIFERENTES CONCEPTOS QUE
SE EXPONDRÁN EN LOS SIGUIENTES
CAPÍTULOS.
16/02/2013
INGº PEDRO BELTRÁN CANESSA
20
¿Entonces es fácil
programar en JAVA?
EXISTE UNA DIFICULTAD INICIAL QUE SE DEBE DE
CONOCER ANTES DE EMPEZAR A ESCRIBIR PROGRAMAS
CON JAVA, Y ESTO SE DEBE A QUE EL ALUMNO SE
ENCONTRARÁ CON UNA SERIE DE TÉRMINOS
APARENTEMENTE DIFÍCILES Y DESCONOCIDOS DE
EXPLICAR EN EL CONTEXTO. SIN EMBARGO, CONFORME
VAYA AVANZANDO, SE IRÁ FAMILIARIZANDO
PAULATINAMENTE Y ES POR ELLO QUE SE DEBE TENER
CONOCIMIENTO DE ALGUNOS CONCEPTOS BÁSICOS QUE
PERMITAN TENER UN SUSTENTO SOBRE EL CUAL SE
DESARROLLEN LOS TEMAS POSTERIORES.
16/02/2013
INGº PEDRO BELTRÁN CANESSA
21
¿CUÁLES SON LAS PRINCIPALES
APLICACIONES DE
JAVA?
 ESTE LENGUAJE DE PROGRAMACIÓN ES
UTILIZADO PRINCIPALMENTE PARA
DESARROLLAR LOS SIGUIENTES TIPOS DE
PROGRAMAS:
1. APLICACIONES DE PROPÓSITO GENERAL.
2. ELABORACIÓN DE APPLETS
(APLICACIONES PARA INTERNET).
16/02/2013
INGº PEDRO BELTRÁN CANESSA
22
¿ Y QUE SON LOS “APPLETS”?
UN APPLET ES UNA PEQUEÑA APLICACIÓN QUE SE
ALMACENA EN UN SERVIDOR WEB (HTTP: HYPERTEXT
TRANSFER PROTOCOL - PROTOCOLO DE TRANSFERENCIA
DE HIPERTEXTO), PARA QUE PUEDA SER ACCEDIDA POR
UNA ESTACIÓN CLIENTE (PC-USUARIO), TRANSMITIDA A
TRAVÉS DE LA RED (INTERNET / INTRANET), QUE SE
INSTALA AUTOMÁTICAMENTE Y ES EJECUTADA POR EL
PROGRAMA NAVEGADOR WEB, COMO PARTE DE UN
DOCUMENTO HTML: HYPERTEXT MARKUP LANGUAGE LENGUAJE DE MARCAS HIPERTEXTUALES.
16/02/2013
INGº PEDRO BELTRÁN CANESSA
23
¿ PORQUÉ SE DICE QUE JAVA ES
“SEGURO”?
UN PROGRAMA PUEDE TENER FUNCIONES
GLOBALES (FUNCIONAN PARA TODO EL
PROGRAMA), Y FUNCIONES LOCALES (FUNCIONAN
PARA PARTE DEL PROGRAMA). LOS PROGRAMAS
DE JAVA NO PUEDEN INVOCAR A FUNCIONES
GLOBALES Y TENER ACCESO A RECURSOS DEL
SISTEMA DE MANERA ARBITRARIA. POR LO TANTO,
SE PUEDE EJERCER UN CONTROL SOBRE LOS
PROGRAMAS EJECUTABLES DE JAVA, COSA QUE NO
ES POSIBLE EN OTROS PROGRAMAS.
16/02/2013
INGº PEDRO BELTRÁN CANESSA
24
¿ PORQUÉ SE DICE QUE JAVA ES
“ROBUSTO”?
JAVA VERIFICA EL CÓDIGO DEL PROGRAMA
MIENTRAS SE ESCRIBE Y UNA VEZ MÁS ANTES DE
EJECUTARLO. ESTO PERMITE QUE EL PROGRAMA
SEA PREDECIBLE, INCLUSO BAJO DIVERSAS
CONDICIONES. POR EJEMPLO: JAVA AYUDA A
EVITAR FALLAS POR CONDICIONES EXCEPCIONALES,
TALES COMO LA DIVISIÓN POR CERO, EL ACCESO A
ARCHIVOS INEXISTENTES, ETC., MEDIANTE UN
MANEJO DE EXCEPCIONES ORIENTADO A OBJETOS.
16/02/2013
INGº PEDRO BELTRÁN CANESSA
25
¿ QUÉ ES LA ARQUITECTURA
NEUTRAL DE JAVA?
CUANDO SE CREÓ JAVA, SE TOMARON EN
CUENTA CIERTAS CONSIDERACIONES, DE
MANERA QUE EL PROGRAMA PUEDA
“ESCRIBIRSE UNA SOLA VEZ, EJECUTARSE EN
CUALQUIER SITIO, EN CUALQUIER MOMENTO Y
PARA SIEMPRE”. LOS PROGRAMADORES DE JAVA
SE BENEFICIAN PORQUE DESARROLLAN EL
CÓDIGO UNA SOLA VEZ, SIN NECESIDAD DE
ADAPTAR SUS APLICACIONES A CADA UNA DE LAS
PLATAFORMAS DE HW Y SW.
16/02/2013
INGº PEDRO BELTRÁN CANESSA
26
¿ JAVA UTILIZA COMPILADOR O
INTÉRPRETE?
JAVA UTILIZA AMBOS. COMO ANTERIORMENTE YA
HEMOS DEFINIDO LO QUE ES UN COMPILADOR, AHORA
TENDRÍAMOS QUE DEFINIR LO QUE ES UN INTÉRPRETE.
UN INTÉRPRETE ES UN PROGRAMA QUE EFECTÚA LA
TRADUCCIÓN Y EJECUCIÓN SIMULTÁNEA PARA CADA
UNA DE LAS SENTENCIAS DEL PROGRAMA. PARA
EJECUTAR UN PROGRAMA SE NECESITA DEL PROGRAMA
INTÉRPRETE QUE ESTÁ INSTALADO EN LA MÁQUINA QUE
SE VA A EJECUTAR. UN PROGRAMA QUE UTILIZA UN
INTÉRPRETE ES MÁS LENTO QUE EL QUE UTILIZA UN
COMPILADOR.
16/02/2013
INGº PEDRO BELTRÁN CANESSA
27
¿ CÓMO TRABAJA EL INTÉRPRETE
DE JAVA?
 JAVA ES UN LENGUAJE INTERPRETADO Y DE ALTO
RENDIMIENTO. JAVA COMPILA A UNA REPRESENTACIÓN
INTERMEDIA DENOMINADA CÓDIGO DE BYTES O BYTECODES,
EL QUE SE PUEDE INTERPPRETAR EN CUALQUIER SISTEMA QUE
TENGA UN INTÉRPRETE DE JAVA. ESTE CÓDIGO DE BYTES O
BYTECODES FUE DISEÑADO DE TAL MANERA QUE SEA SENCILLA
LA TRADUCCIÓN A CÓDIGO DE MÁQUINA NATIVO. CON ESTO
SE LOGRÓ QUE EL INTÉRPETE SEA DE ALTO RENDIMIENTO.
 CADA PARTE DE UN PROGRAMA EN JAVA SE REDUCE A UNA
SECUENCIA DE BYTES QUE REPRESENTAN INSTRUCCIONES EN
UNA “MÁQUINA VIRTUAL” (JAVA VIRTUAL MACHINE), Y NO EN
EL PROCESADOR DE UNA MÁQUINA ESPECÍFICA.
16/02/2013
INGº PEDRO BELTRÁN CANESSA
28
¿Qué es un BYTECODE?
• BYTECODE: CÓDIGO GENERADO POR EL COMPILADOR DE
JAVA Y QUE ES EJECUTADO POR EL INTÉRPRETE DEL
LENGUAJE (JVM). ES INDEPENDIENTE DE PLATAFORMA.
• EL BYTECODE: RECIBE ESTE NOMBRE PORQUE
GENERALMENTE CADA CÓDIGO DE OPERACIÓN TIENE
UNA LONGITUD DE UN BYTE, SI BIEN LA LONGITUD DEL
CÓDIGO DE LAS INSTRUCCIONES VARÍA, CADA
INSTRUCCIÓN TIENE UN CÓDIGO DE OPERACIÓN ENTRE 0
Y 255 SEGUIDO DE PARÁMETROS TALES COMO LOS
REGISTROS O LAS DIRECCIONES DE MEMORIA.
16/02/2013
INGº PEDRO BELTRÁN CANESSA
29
¿Qué es un Archivo o Fichero de
BYTECODES?
 CON JAVA, SE PUEDE “ESCRIBIR UNA VEZ Y EJECUTAR EN
CUALQUIER PARTE”. ESTO SIGNIFICA QUE CUANDO SE
COMPILA UN PROGRAMA NO SE GENERAN
INSTRUCCIONES PARA UNA PLATAFORMA ESPECÍFICA. EN
SU LUGAR, SE GENERAN BYTECODES JAVA QUE SON
INSTRUCCIONES PARA LA “MÁQUINA VIRTUAL JAVA”
(JVM).
 SI LA PLATAFORMA ES WINDOWS, LINUX, ETC. O UN
NAVEGADOR DE INTERNET QUE TIENE INSTALADA LA
JVM, PODRÁ ENTENDER LOS BYTECODES.
16/02/2013
INGº PEDRO BELTRÁN CANESSA
30
PROGRAMA FUENTE
(USUARIO)
1
2
COMPILADOR (CÓDIGO
BINARIO)
3
5
INSTRUCCIONES EN JAVA
(MÁQUINA VIRTUAL
DE JAVA)
4
INTÉRPRETE (CÓDIGO DE BYTES
O BYTECODES)
PROGRAMA EN JAVA
16/02/2013
INGº PEDRO BELTRÁN CANESSA
31
¿ CÓMO SE CREA UNA APLICACIÓN
CON JAVA?
 PRIMERO SE CREA UN FICHERO JAVA: UN PROGRAMA O FICHERO FUENTE
CONTIENE UN TEXTO ESCRITO EN UN PROCESADOR O EDITOR DE TEXTOS, TALES
COMO EL WRITER, EL WORD O EL BLOC DE NOTAS, TAMBIÉN SE PUEDE UTILIZAR EL
EDITOR DEL PROPIO JAVA. AL CREAR EL ARCHIVO, SE DEBERÁ DE OBSERVAR QUE
ESTE SE GUARDE CON UNA EXTENSIÓN .java.
 SEGUNDO SE COMPILA EL ARCHIVO O FICHERO FUENTE: PARA EJECUTAR EL
PROGRAMA CONTENIDO EN EL FICHERO FUENTE, QUE PREVIAMENTE SE TRADUJO
A FICHERO DE CÓDIGO DE BYTES O BYTECODES, SE DEBE UTILIZAR LA “MÁQUINA
VIRTUAL DE JAVA” QUE ESTÁ IMPLEMENTADA CON UN INTÉRPRETE JAVA. ESTE
INTÉRPRETE TOMA EL FICHERO DE BYTECODES Y EJECUTA LAS INSTRUCCIONES,
TRADUCIÉNDOLAS A OTRAS INSTRUCCIONES QUE EL PROCESADOR DEL
COMPUTADOR PUEDE ENTENDER.
16/02/2013
INGº PEDRO BELTRÁN CANESSA
32
Descargar