2. Lenguajes máquina, ensambladores y
de alto nivel
• Cualquier computadora puede entender de
manera directa sólo su propio lenguaje
máquina (lenguaje natural).
• Por lo general, consisten en cadenas de
números (0s y 1s).
• Son dependientes de la máquina.
3. Lenguajes máquina, ensambladores y
de alto nivel
• La programación en lenguaje máquina es
lenta, tediosa y dificultosa.
• Los programadores así desarrollan el lenguaje
assembler (ensambladores o traductores).
• El lenguaje ensamblador aún requería de
muchas instrucciones para tareas simples.
6. Lenguajes máquina, ensambladores y
de alto nivel
• El incremento de proceso y uso de las
computadoras dio origen a los
lenguajes de alto nivel.
• Los programadores escriben instrucciones
similares al inglés común y notación
matemática de uso común.
SueldoBruto = SueldoBase + SueldoExtra
7. Lenguajes máquina, ensambladores y
de alto nivel
• Algunos de los lenguajes de alto nivel son:
.NET, C++, DELPHI, PHP, JAVA entre otros.
Java es el más utilizado.
8. Lenguajes máquina, ensambladores y
de alto nivel
• Existen dos formas de traducir un programa
en lenguaje de alto nivel a un forma
entendible por la computadora.
COMPILACIÓN e INTERPRETACIÓN
9. Lenguajes máquina, ensambladores y
de alto nivel
• COMPILACIÓN: verifica sintaxis del código,
detecta errores y convierte las instrucciones a
lenguaje máquina.
• INTERPRETACIÓN: realizan la traducción a
medida que sea necesario, típicamente,
instrucción por instrucción.
JAVA utiliza una mezcla inteligente
de estas tecnologías.
10. Características de JAVA
Independencia de la plataforma.
COMPILADOR PARA EXE BINARIO PARA
PENTIUM PENTIUM
CODIGO
FUENTE COMPILADOR PARA EXE BINARIO PARA
POWER PC POWER PC
C++
COMPILADOR PARA EXE BINARIO PARA
APPLE APPLE
11. Características de JAVA
Independencia de la plataforma.
INTERPRETE
WNDOWS
MAQUINA
CODIGO
VIRTUAL JAVA
FUENTE
COMPILADOR INTEPRETE
no .EXE sino
JAVA JAVA LINUX
BYTECODES
.java
.class
INTERPRETE
APPLE
12. Características de JAVA
En definitiva:
UN ÚNICO
COMPILADOR MAQUINA
UN UNICO
JAVA VIRTUAL JAVA
CODIGO INTÉRPRETE
FUENTE EN JAVA
librerías y no .EXE sino
JAVA PROPIO
funciones BYTECODES
DEL SISTEMA
comunes para
.java
todos los .class
sistemas
14. JAVA y JVM (virtual machine)
• Java es un lenguaje compilado e interpretado
• El código fuente (.java) en Java se compila en
forma de bytecodes
• El resultado es un archivo .class
• Este archivo luego es interpretado utilizando
un software llamado JVM
• Fuertemente orientado a objetos.
15. JAVA y Javascript
• JavaScript no tiene nada que ver con Java
• JavaScript fue desarrollado por Netscape
como lenguaje de scripts basado en objetos
• Sólo sirve para intentar dar mayor dinamismo
a una página web
16. Aplicaciones JAVA
• Applets. Aplicaciones embebidas dentro de una página web que se
ejecutan en el cliente
• Servlets. Aplicaciones embebidas en una página web que se
ejecutan en el servidor
• Aplicaciones de consola. Para mostrar en la consola de sistema
• Aplicaciones gráficas. Haciendo uso de los objetos de sistema
gráficos
• Aplicaciones para dispositivos móviles. Cada vez más populares
gracias al uso de librerías construidas con ese fin. Se las llama
también midlets
17. Plataformas JAVA
• J2SE. Es la plataforma Java Estándar (cuando se habla de
Java a secas, se entiende que nos referimos a esta
plataforma).
• J2EE. Versión “enterprise”, empresarial y orientada al
lado del servidor.
• J2ME. Versión para dispositivos portátiles.
• JavaFX, Versión para la creación de aplicaciones web que
tienen las características y capacidades de aplicaciones
de escritorio, incluyendo aplicaciones multimedia
interactivas.
18. Empezar a trabajar con JAVA
• JDK = Java Developer Kit, kit de desarrollo de
Java (actualmente versión 6 update 16).
• Es el software que permite realizar el
compilado y ejecución de los programas
Java.
• Es gratuito e incluye visores de código,
depuradores y otras utilidades.
• Se descarga de
java.sun.com/javase/downloads
19. Empezar a trabajar con JAVA
• IDE entorno de desarrollo.
– Net Beans (Free code)
– Eclipse (Free code)
– Sun ONE Studio
– Borland JBuilder
– Oracle Jdeveloper
entre otros…
20.
21. Empezar a trabajar con JAVA
• El comando java del JDK ejecuta una
aplicación en Java.
• El comando javac del JDK compila un
programa en Java.
• Los archivos fuente de java llevan la
extensión .java
• Los archivos compilados de java llevan la
extensión .class
22. Conceptos básicos de la tecnología de
objetos
• En el mundo real se pueden ver objetos:
gente, animales, plantas, automóviles, etc.
• Los humanos pensamos en términos de
objetos.
• Los programas Java están compuestos por
muchos objetos de software con capacidad
de interacción.
23. Conceptos básicos de la tecnología de
objetos
• En ocasiones dividimos a los objetos en dos
categorías: animados e inanimados.
• Los animados están vivos en cierto sentido;
se mueven a su alrededor y hacen cosas.
• Los inanimados no se mueven por su propia
cuenta.
• Ambos tipos tienen cosas en común.
24. Conceptos básicos de la tecnología de
objetos
• En ocasiones dividimos a los objetos en dos
categorías: animados e inanimados.
• Los animados están vivos en cierto sentido;
se mueven a su alrededor y hacen cosas.
• Los inanimados no se mueven por su propia
cuenta.
• Ambos tipos tienen cosas en común.
25. Conceptos básicos de la tecnología de
objetos
• Todos ellos tienen atributos (tamaño, forma,
color y peso).
• Todos muestran comportamientos (una
pelota rueda, se infla y desinfla. Un bebé
llora, gatea, duerme y camina).
• Un automóvil ?
26. Conceptos básicos de la tecnología de
objetos
• Los humanos aprenden de los objetos
existentes estudiando sus atributos y
comportamientos.
• Distintos objetos pueden tener atributos y
comportamientos similares.
• Podemos así hacer comparaciones entre por
ejemplo bebés y adultos, humanos y monos.
27. Conceptos básicos de la tecnología de
objetos
• El diseño orientado a objetos (DOO) modela
el software en términos similares a los que
utilizan las personas.
• Este diseño aprovecha las relaciones entre
clases, en donde objetos de cierta clase
tienen las mismas características. (autos y
camiones tienen mucho en común).
28. Conceptos básicos de la tecnología de
objetos
• El diseño orientado a objetos (DOO) también
aprovecha las relaciones de herencia donde
las nuevas clases se derivan absorbiendo las
características de otras clases y agregando
las propias.
• Un objeto de la clase convertible tiene
características de una clase más general
automóvil, pero más específica. Su techo
puede removerse.
29. Conceptos básicos de la tecnología de
objetos
• El lenguaje JAVA es orientado a objetos.
• El lenguaje C es orientado a procedimientos
y su programación tiende a ser orientada a la
acción.
• Los programadores JAVA nos concentramos
en crear CLASES.
30. Conceptos básicos de la tecnología de
objetos
• Las clases son para los objetos lo que los
planos de construcción, para las casas.
• Podemos construir muchas casas a partir de
un plano, podemos crear (instanciar)
muchos objetos a partir de una clase.
• No podemos cocinar alimentos en la cocina
de un plano de construcción, podemos
cocinarlos en la cocina de una casa.
31. Conceptos básicos de la tecnología de
objetos
• Con la tecnología de objetos podemos crear
software mediante la combinación de clases,
así como los fabricantes de automóviles
combinan piezas intercambiables.
• Una instancia de una clase se llama objeto.
32. UML (lenguaje unificado de modelado)
• La complejidad creciente del software
requiere modelado, diseño y representación
gráfica.
• La representación gráfica más utilizada para
modelar sistemas orientados a objetos.
• Los programadores modelan sus sistemas a
partir del uso del UML pudiendo representar
sus diseños en un lenguaje común.