Академический Документы
Профессиональный Документы
Культура Документы
Qu es la informtica?
3
Elementos de un
ordenador
(hardware)
7
Representacin de sonido
Discretizacin de la amplitud
Un byte para cada valor
48121312108
8
Qu es un programa?
Un ordenador no entiende el lenguaje
natural pero s es capaz de interpretar una
serie de rdenes.
Un programa es una secuencia de
instrucciones que ejecuta la CPU de manera
secuencial con el objetivo de realizar varias
tareas.
Utilizan datos o informacin para realizar su
tarea.
Un programa se considera un conjunto de
instrucciones y datos.
9
Hardware y software
11
Cdigo fuente, cdigo objeto y
cdigo ejecutable
Lenguajes compilados
Un programa traductor (o compilador)
convierte el cdigo fuente en cdigo
objeto.
Un programa enlazador unir el cdigo
objeto con las libreras necesarias para
producir el cdigo ejecutable.
Ejemplos: Fortran, Familia de lenguaje
C, incluyendo C++, objective C pero no
JAVA, Ada, Pascal, Algol.
Forma de ejecucin de los
programas: lenguajes compilados
OPCION 1 OPCION 2
PROGRAMA FUENTE
Fase de compilacin
Fase de ejecucin
EJECUCION
16
Formas de ejecucin de los
programas: lenguajes compilados
Formas de ejecucin de los
programas: lenguajes interpretados
Lenguajes interpretado
Un programa interprete traduce el
lenguaje fuente a lenguaje mquina
paso a paso o instruccin por
instruccin.
Se les conoce como lenguajes de
scripts.
Ejemplos: Perl, PHP, Cobol,
ActionScript, Javascript, ASP, Bash,
etc.
Forma de ejecucin de los
programas: lenguajes interpretados
PROGRAMA FUENTE
INTERPRETE
EJECUCION DE LA(S)
INSTRUCCION(ES)
INTERPRETADA(S)
19
Formas de ejecucin de los
programas: lenguajes interpretados
Formas de ejecucin de los
programas: lenguajes virtuales
Lenguajes virtuales
Funcionamiento similar a lenguajes
compilados pero en vez de generar un
cdigo objeto genera un bytecode.
El bytecode ser interpretado puede
ser interpretado por cualquier
arquitectura que tenga la mquina
virtual correspondiente.
Formas de ejecucin de los
programas: tipos de lenguajes
Desarrollo histrico de los
lenguajes de programacin
1 generacin:
Lenguajes de bajo nivel. Muy prximos al
lenguaje de la mquina.
Ejemplos: lenguajes mquina, lenguaje
ensamblador.
2 generacin:
Lenguajes de medio nivel.
Propsito general con un alto nivel de
abstraccin.
Programacin mas entendible e
intutitiva.
Ejemplos: Fortran, Basic, Cobol, etc. 23
Desarrollo histrico de los
lenguajes de programacin
3 generacin:
Lenguajes de alto nivel.
Lenguajes imperativos.
Programacin estructurada, modular y
orientada a objetos.
Ejemplos: Pascal, Modula-2, C, ADA,
Perl, PHP, Java, C/C++
Desarrollo histrico de los
lenguajes de programacin
3 generacin (continuacin):
ADA, descendiente de pascal, mucho ms potente
y complejo. Incorpora modularidad, abstraccin,
ocultacin, concurrencia y sincronizacin.
SMALLTALK, precursor de los lenguajes orientados
a objetos (LOO). La POO es una forma especial de
programacin que expresa las cosas mas cercana
a nuestra forma de pensar.
C++, incorpora en C los mecanismos de la POO.
JAVA, incorpora mecanismos de la POO, parecido a
C pero mas simple y multiplataforma.
LISP, lenguaje funcional usado en IA y sistemas
expertos.
PROLOG, lenguaje lgico en que se construye una
base de conocimiento basada en reglas a partir de
la cual podemos inferir nuevos hechos o reglas.
Desarrollo histrico de los
lenguajes de programacin
4 generacin:
Mayor grado de abstraccin. Se
alejan an mas de la mquina. Se
centran en la resolucin del
problema.
Lenguajes declarativos
27
La plataforma Java
Una plataforma software que se ejecuta
sobre otra plataforma hardware/software.
E.T.S de Ingenieros de
22/11/2005 Telecomunicacin - UPNA .28
La plataforma Java
E.T.S de Ingenieros de
22/11/2005 Telecomunicacin - UPNA .29
Caractersticas Principales
Sencillo Arquitectura
Orientado a neutra
objetos Portable
Distribuido Altas
Interpretado prestaciones
Robusto Multithread
Seguro (multihilo)
Dinmico
E.T.S de Ingenieros de
22/11/2005 Telecomunicacin - UPNA .30
Caractersticas: Sencillo
Se refiere al mtodo de
programacin y al diseo del
lenguaje.
Los datos estn unidos a sus
operaciones (funciones o mtodos)
formando entidades denominadas
objetos.
Implementa:
Encapsulacin, herencia, polimorfismo,
abstraccin, reutilizacin, interfaces,
E.T.S de Ingenieros de
22/11/2005
paquetes,Telecomunicacin
etc. - UPNA .32
Caractersticas: Distribuido
E.T.S de Ingenieros de
22/11/2005 Telecomunicacin - UPNA .33
Caractersticas: Interpretado
Compilador Intrprete de
tradicional ByteCodes
E.T.S de Ingenieros de
22/11/2005 Telecomunicacin - UPNA .34
Caractersticas: Robusto
No se interrumpe fcilmente.
Al no trabajar directamente con
punteros ni posiciones de memoria
evita que programa acceda a
posiciones de memoria que no le
corresponde.
Manejo de excepciones.
Verificacin de ByteCodes (por
ejemplo no acceso ilegal de
22/11/2005
memoria).Telecomunicacin
E.T.S de Ingenieros de
- UPNA .35
Caractersticas: Seguro
E.T.S de Ingenieros de
22/11/2005 Telecomunicacin - UPNA .36
Caractersticas: Arquitectura neutra
E.T.S de Ingenieros de
22/11/2005 Telecomunicacin - UPNA .38
Caractersticas: Altas prestaciones
E.T.S de Ingenieros de
22/11/2005 Telecomunicacin - UPNA .39
Caractersticas: Multithread
E.T.S de Ingenieros de
22/11/2005 Telecomunicacin - UPNA .40
Caractersticas: Dinmico
E.T.S de Ingenieros de
22/11/2005 Telecomunicacin - UPNA .41
Qu ventajas tengo como
desarrollador?
Comenzar rpidamente.
Escribir menos cdigo, 4 veces
menos que en C++.
Escribir mejor cdigo.
Desarrollar programas ms
rpidamente.
Eliminar dependencias de la
plataforma.
Escribir una vez, ejecutar en
cualquier parte. - UPNA
E.T.S de Ingenieros de
22/11/2005 Telecomunicacin .42
Desarrollo en JAVA
Antes de desarrollar aplicaciones java, el
JDK debe ser instalado y configurado en el
sistema.
El cdigo fuente se guarda en un archivo
con extensin .java
Un compilador traduce el cdigo fuente en
cdigo de byte (bytecode), y lo guarda en
un archivo con extensin .class
Un intrprete especfico al sistema
operativo interpreta el bytecode para
ejecutar el programa.
43
Desarrollo en JAVA
PROGRAMA FUENTE
.java
COMPILADOR JAVA
HolaMundo.class System.class
Compilacin aplicacin.
Ejecucin de la aplicacin.