SlideShare una empresa de Scribd logo
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 1
Maestría en Sistemas Computacionales
Materia
TECNOLOGÍAS DE PROGRAMACIÓN
Capítulo
1.Introducción a Java
(Primera parte)
semestre agosto – diciembre 2012
Instituto Tecnológico de la Laguna
División de Estudios de Posgrado e Investigación
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 2
Objetivos:
Conocer la historia del lenguaje Java.
Examinar las características propias de la
POO.
Elegir una plataforma de desarrollo
integrada (IDE) para Java.
Identificar las instrucciones básicas de
E/S estándar, de decisión y de control.
1. Introducción a Java1. Introducción a Java.
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 3
• Lenguajes de programación.
• Descripción histórica del lenguaje de
programación Java.
• Características de la programación orientada
a objetos.
1.1. Introducción a Java.Introducción a Java.
Contenido
Los programas (software) le indican a la
computadora (hardware) cuál es la tarea que
debe realizar.
Para escribir estos programas se utiliza un
Lenguaje de programación.
Un lenguaje de programación consta de un
conjunto de símbolos (léxico) y un
conjunto de reglas válidas (sintaxis), de
manera que formen un mensaje con significado
(semántica) para la computadora.
1.1 Lenguajes de programación
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 5
Lenguajes de Programación
(Nivel de abstracción [Wu2001])
Alto nivel
Bajo nivel
Lenguaje Máquina
Código Máquina: 10111000 00011011 00000000
10111010 00001010 00000000
00000001 11000010
Lenguaje Ensamblador
Código Ensamblador: mov AX,001B
mov DX,000A
add DX,AX
Lenguajes de alto nivel
Código de alto nivel: suma = 27 +10
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 6
Lenguajes de Programación
(Evolución histórica [URL01])
o Primera generación (1GL): Lenguaje máquina.
o Segunda generación (2GL): Lenguaje ensamblador.
o Tercera generación (3GL): Lenguajes modernos,
cercanos al lenguaje natural para facilitar la
programación a los humanos. Ejemplos: C, C++, Java.
o Cuarta generación (4GL): Diseñados con un propósito
específico. Ejemplos: Mapple, Matlab, Mathematica…
o Quinta generación (5GL): Lenguajes para inteligencia
artificial: la finalidad es que el programador establezca
el problema ha ser resuelto y las condiciones que debe
cumplir, y la computadora lo resuelve. Ejemplo: Prolog,
Lisp…
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 7
Lenguajes de Programación
(Forma de ejecutarse [URL01])
o Compilados: El código del programa (código fuente)
es traducido a código máquina (código objeto).
Posteriormente el código máquina es unido (enlazado)
con sus bibliotecas para producir un programa
ejecutable. Ejemplo: C, Pascal.
o Interpretados: Un programa (intérprete), ejecuta las
instrucciones del programa de manera directa. Ejemplo:
Lisp, Basic.
o Mixtos: como Java, que primero pasan por una fase
de compilación en la que el código fuente se transforma
en “bytecode”, y este “bytecode” puede ser ejecutado
luego (interpretado) en computadoras con distintas
arquitecturas (procesadores) que tengan todas
instalada la misma Máquina Virtual.
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 8
1.2 Descripción histórica del lenguaje de
programación Java. [Wu2001, url04]
El desarrollo de Java inicio en 1990 por
James Gosling
y su equipo “Green Team” en
Sun Microsystems California.
Esta basado en C y C++, y originalmente fue pensado
para programar dispositivos electrónicos como tostadores,
hornos de microondas, etc.
La primera versión estuvo completa en 1992 y fue llamado
Oak (roble).
Sun lanzó las primeras versiones de Java a principios de
1995.
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 9
1.2 Descripción histórica del lenguaje de
programación Java. [url06]
Java es un lenguaje de desarrollo de propósito
general, y como tal es válido para realizar todo tipo
de aplicaciones profesionales:
Permite escribir Applets (pequeños programas que
se insertan en una página HTML) y se ejecutan en el
ordenador local.
Se pueden escribir aplicaciones para intraredes,
aplicaciones cliente/servidor, aplicaciones distribuidas
en redes locales y en Internet.
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 10
1.2 Descripción histórica del lenguaje de
programación Java. [url03]
La tecnología Java consta de dos
partes:
El lenguaje de programación.
La plataforma Java:
• La máquina virtual de Java.
• El API Java.
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 11
1.2 Descripción histórica del lenguaje de
programación Java. [url03]
El lenguaje de programación Java es un
lenguaje de alto nivel que se caracteriza
por:
- Simple - Orientado a Objectos
- Distribuido - Multi hilo
- Dinámico - Arquitectura neutral
- Portable - Alto desempeño
- Robusto
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 12
1.2 Descripción histórica del lenguaje de
programación Java. [url05]
Algunas de las razones que llevaron a Bill Joy (cofundador de
Sun y uno de los desarrolladores principales del sistema operativo Unix
de Berckley) a pensar que Java podría llegar a ser rentable
son:
Java es un lenguaje orientado a objetos: Esto es lo que facilita
abordar la resolución de cualquier tipo de problema.
La ejecución del código Java es segura y fiable: Los programas
no acceden directamente a la memoria de la computadora. De
este modo, los datos del usuario quedan a salvo de la existencia
de virus escritos en Java.
Es totalmente multiplataforma: Su máquina virtual le permite
adaptarse a diferentes SO y diversas arquitecturas de
computadoras.
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 13
1.2 Descripción histórica del lenguaje de
programación Java. [url02, url06]
“Hoy en día, puede encontrar la tecnología Java en
redes y dispositivos que comprenden desde Internet y
supercomputadoras científicas hasta portátiles y teléfonos
móviles; desde simuladores de mercado en Wall Street
hasta juegos de uso doméstico y tarjetas de crédito: Java
está en todas partes”
http://www.java.com/en/about/javabook.pdf
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 14
1.3 Características de la programación
orientada a objetos.
 Abstracción
 Encapsulación
 Herencia
 Polimorfismo
Ejemplo: Aplicación “Hola mundo”
class HolaMundo
{
/*
* Punto de entrada a la aplicación.
*
* args: matriz de parámetros pasados a
la aplicación
* mediante la línea de órdenes. Puede
estar vacía.
*/
public static void main (String[] args)
{
System.out.println("Hola mundo!!!");
}
}
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 15
inicio
Hola mundo!!!
fin
Ejemplo: Aplicación operaciones aritméticas
class CAritmetica
{
/*
* Operaciones aritméticas
*/
public static void main (String[]
args)
{
int dato1, dato2, resultado;
dato1 = 20;
dato2 = 10;
// Suma
resultado = dato1 + dato2;
System.out.println(dato1 + " + " +
dato2 + " = " + resultado);
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 16
// Resta
resultado = dato1 - dato2;
System.out.println(dato1 + " - " +
dato2 + " = " + resultado);
// Producto
resultado = dato1 * dato2;
System.out.println(dato1 + " * " +
dato2 + " = " + resultado);
// Cociente
resultado = dato1 / dato2;
System.out.println(dato1 + " / " +
dato2 + " = " + resultado);
}
}
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 17
Fuentes de información:
[Wu2001] Introducción a la programación orientada a
objetos con Java.
C. Thomas Wu, Mc. Graw Hill, 2001.
[url01]
http://qbitacora.wordpress.com/2007/09/21/clasifica
Visitado el 20 de julio del 2012
Evolución histórica de los lenguajes de
programación.
[url02]
http://www.cad.com.mx/historia_del_lenguaje_java
Visitado el 20 de julio del 2012
Evolución histórica de Java.
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 18
Fuentes de información:
[url03]
http://www.clubdesarrolladores.com/articulos/mostr
Visitado el 20 de julio del 2012
Características del lenguaje Java
[url04]
http://www.clubdesarrolladores.com/articulos/
mostrar/38-java-su-historia-ediciones-
versiones-y-caracteristicas-como-plataforma-
y-lenguaje-de-programacion/3
Visitado el 20 de julio de 2012
Evolución histórica de Java
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 19
Fuentes de información:
[url05]
http://www.clubdesarrolladores.com/articulos/
mostrar/38-java-su-historia-ediciones-
versiones-y-caracteristicas-como-plataforma-
y-lenguaje-de-programacion/4
Visitado el 20 de julio del 2012
Razones para impulsar a Java
[url06]
http://elmasterdelaweb.wikispaces.com/file/vi
ew/El+Lenguaje+De+Programacion+Java+
(Libro+espa%C3%B1ol).pdf
Libro: El lenguaje de Programación Java™
Obtenido: 21 agosto 2012
Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 20
Fuentes de información:
[url07] http://www.java.com/en/about/javabook.pdf
Java Every where in action
Obtenido: 21 agosto 2012

Más contenido relacionado

La actualidad más candente

Fundamentos de programación Java
Fundamentos de programación JavaFundamentos de programación Java
Fundamentos de programación Javaquesada_diego
 
Unidad 1-continacion
Unidad 1-continacionUnidad 1-continacion
Unidad 1-continaciondetlefsen
 
Unidad 1-continacion
Unidad 1-continacionUnidad 1-continacion
Unidad 1-continacionCecilia Díaz
 
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
kfacu
 
Trabajo lenguajes de programacion
Trabajo lenguajes de programacionTrabajo lenguajes de programacion
Trabajo lenguajes de programacionJulian Suna Paez
 
Lenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de ProgramaciónLenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de Programación
Luis Fernando Aguas Bucheli
 
Programac io n pdf
Programac io n pdfProgramac io n pdf
Programac io n pdf
jose peralta
 
Desarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaDesarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.java
Santiago Sora
 
Clase No.1 Introducción a la Programación en JAVA
Clase No.1 Introducción a la Programación en JAVAClase No.1 Introducción a la Programación en JAVA
Clase No.1 Introducción a la Programación en JAVA
Victor Hugo Chavez Salazar
 
Etapas de compilacion
Etapas de compilacionEtapas de compilacion
Evoluciýýn de la programaciýýn
Evoluciýýn de la programaciýýnEvoluciýýn de la programaciýýn
Evoluciýýn de la programaciýýn
Jana EstRada JacoBo
 
Curso Java Inicial 2 - Introducción y Sintaxis
Curso Java Inicial  2 - Introducción y SintaxisCurso Java Inicial  2 - Introducción y Sintaxis
Curso Java Inicial 2 - Introducción y Sintaxis
Emilio Aviles Avila
 
Presentación trabajo programación
Presentación trabajo programaciónPresentación trabajo programación
Presentación trabajo programaciónionurrutia
 
Curso Java Avanzado 0 Conceptos Basicos
Curso Java Avanzado   0 Conceptos BasicosCurso Java Avanzado   0 Conceptos Basicos
Curso Java Avanzado 0 Conceptos Basicos
Emilio Aviles Avila
 
APLICACIONES DE LA TARJETA XILINX 2S200E
APLICACIONES DE LA TARJETA XILINX 2S200EAPLICACIONES DE LA TARJETA XILINX 2S200E
APLICACIONES DE LA TARJETA XILINX 2S200E
Rafael Garcia
 
Programación en lab view basica en español
Programación en lab view basica   en españolProgramación en lab view basica   en español
Programación en lab view basica en españolRodrigo_98
 
java,conceptos basicos
java,conceptos basicosjava,conceptos basicos
java,conceptos basicosMariano Galvez
 
Practicas java
Practicas javaPracticas java
Practicas java
Vicky Yánez
 

La actualidad más candente (20)

Fundamentos de programación Java
Fundamentos de programación JavaFundamentos de programación Java
Fundamentos de programación Java
 
Unidad 1-continacion
Unidad 1-continacionUnidad 1-continacion
Unidad 1-continacion
 
Unidad 1-continacion
Unidad 1-continacionUnidad 1-continacion
Unidad 1-continacion
 
Generacionlenguajes
GeneracionlenguajesGeneracionlenguajes
Generacionlenguajes
 
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
 
Trabajo lenguajes de programacion
Trabajo lenguajes de programacionTrabajo lenguajes de programacion
Trabajo lenguajes de programacion
 
Lenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de ProgramaciónLenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de Programación
 
Programac io n pdf
Programac io n pdfProgramac io n pdf
Programac io n pdf
 
Desarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaDesarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.java
 
Clase No.1 Introducción a la Programación en JAVA
Clase No.1 Introducción a la Programación en JAVAClase No.1 Introducción a la Programación en JAVA
Clase No.1 Introducción a la Programación en JAVA
 
Etapas de compilacion
Etapas de compilacionEtapas de compilacion
Etapas de compilacion
 
Evoluciýýn de la programaciýýn
Evoluciýýn de la programaciýýnEvoluciýýn de la programaciýýn
Evoluciýýn de la programaciýýn
 
Curso Java Inicial 2 - Introducción y Sintaxis
Curso Java Inicial  2 - Introducción y SintaxisCurso Java Inicial  2 - Introducción y Sintaxis
Curso Java Inicial 2 - Introducción y Sintaxis
 
Presentación trabajo programación
Presentación trabajo programaciónPresentación trabajo programación
Presentación trabajo programación
 
Curso Java Avanzado 0 Conceptos Basicos
Curso Java Avanzado   0 Conceptos BasicosCurso Java Avanzado   0 Conceptos Basicos
Curso Java Avanzado 0 Conceptos Basicos
 
Presentacion
Presentacion Presentacion
Presentacion
 
APLICACIONES DE LA TARJETA XILINX 2S200E
APLICACIONES DE LA TARJETA XILINX 2S200EAPLICACIONES DE LA TARJETA XILINX 2S200E
APLICACIONES DE LA TARJETA XILINX 2S200E
 
Programación en lab view basica en español
Programación en lab view basica   en españolProgramación en lab view basica   en español
Programación en lab view basica en español
 
java,conceptos basicos
java,conceptos basicosjava,conceptos basicos
java,conceptos basicos
 
Practicas java
Practicas javaPracticas java
Practicas java
 

Similar a 1 introduccion a_java_1er_parte

Introducción a Java
Introducción a JavaIntroducción a Java
Introducción a Java
Luis Rueda
 
Unidad 2. Lenguaje orientado a objetos
Unidad 2. Lenguaje orientado a objetosUnidad 2. Lenguaje orientado a objetos
Unidad 2. Lenguaje orientado a objetos
Universidad del golfo de México Norte
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
Cristian Alexander
 
Hack x crack_java
Hack x crack_javaHack x crack_java
Hack x crack_java
Saviotec
 
Java Teoría-ejercicios
Java Teoría-ejerciciosJava Teoría-ejercicios
Java Teoría-ejerciciosEstefy Sanchez
 
Introducción a la progrogramación orientada a objetos - Java
Introducción a la progrogramación orientada a objetos - JavaIntroducción a la progrogramación orientada a objetos - Java
Introducción a la progrogramación orientada a objetos - Java
Facultad de Ciencias y Sistemas
 
Algoritmos y estructuras de datos, presentacion inicial
Algoritmos y estructuras de datos, presentacion inicialAlgoritmos y estructuras de datos, presentacion inicial
Algoritmos y estructuras de datos, presentacion inicial
juanchota1
 
C1 intro java
C1 intro javaC1 intro java
C1 intro javaalenco
 
3.LenguajeJava.pptxzczxczxsdfsczxczzzzzzzzzzzzzzzzzzzzz
3.LenguajeJava.pptxzczxczxsdfsczxczzzzzzzzzzzzzzzzzzzzz3.LenguajeJava.pptxzczxczxsdfsczxczzzzzzzzzzzzzzzzzzzzz
3.LenguajeJava.pptxzczxczxsdfsczxczzzzzzzzzzzzzzzzzzzzz
WilderHidalgo1
 
Java basico
Java basicoJava basico
Java basico
Lexahira Lopez
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
Mariano Galvez
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
Mariano Galvez
 
Java kaime conpre
Java kaime conpreJava kaime conpre
Java kaime conprejtk1
 
Java kaime con
Java kaime conJava kaime con
Java kaime conjtk1
 
Curso de java_basico
Curso de java_basicoCurso de java_basico
Curso de java_basico
Saviotec
 
Curso de java_basico
Curso de java_basicoCurso de java_basico
Curso de java_basico
Alexandra Feijoo
 

Similar a 1 introduccion a_java_1er_parte (20)

Introducción a Java
Introducción a JavaIntroducción a Java
Introducción a Java
 
Unidad 2. Lenguaje orientado a objetos
Unidad 2. Lenguaje orientado a objetosUnidad 2. Lenguaje orientado a objetos
Unidad 2. Lenguaje orientado a objetos
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 
Hack x crack_java
Hack x crack_javaHack x crack_java
Hack x crack_java
 
Hack x crack_java
Hack x crack_javaHack x crack_java
Hack x crack_java
 
Java Teoría-ejercicios
Java Teoría-ejerciciosJava Teoría-ejercicios
Java Teoría-ejercicios
 
Introducción a la progrogramación orientada a objetos - Java
Introducción a la progrogramación orientada a objetos - JavaIntroducción a la progrogramación orientada a objetos - Java
Introducción a la progrogramación orientada a objetos - Java
 
Algoritmos y estructuras de datos, presentacion inicial
Algoritmos y estructuras de datos, presentacion inicialAlgoritmos y estructuras de datos, presentacion inicial
Algoritmos y estructuras de datos, presentacion inicial
 
C1 intro java
C1 intro javaC1 intro java
C1 intro java
 
3.LenguajeJava.pptxzczxczxsdfsczxczzzzzzzzzzzzzzzzzzzzz
3.LenguajeJava.pptxzczxczxsdfsczxczzzzzzzzzzzzzzzzzzzzz3.LenguajeJava.pptxzczxczxsdfsczxczzzzzzzzzzzzzzzzzzzzz
3.LenguajeJava.pptxzczxczxsdfsczxczzzzzzzzzzzzzzzzzzzzz
 
Lenguaje java
Lenguaje javaLenguaje java
Lenguaje java
 
Java basico
Java basicoJava basico
Java basico
 
Java basico
Java basicoJava basico
Java basico
 
Java basico
Java basicoJava basico
Java basico
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
 
Java kaime conpre
Java kaime conpreJava kaime conpre
Java kaime conpre
 
Java kaime con
Java kaime conJava kaime con
Java kaime con
 
Curso de java_basico
Curso de java_basicoCurso de java_basico
Curso de java_basico
 
Curso de java_basico
Curso de java_basicoCurso de java_basico
Curso de java_basico
 

Más de Jesus Alberto Iribe Gonzalez (20)

3 interfaces clases_abstractas_herencia_polimorfismo
3 interfaces clases_abstractas_herencia_polimorfismo3 interfaces clases_abstractas_herencia_polimorfismo
3 interfaces clases_abstractas_herencia_polimorfismo
 
1 introduccion a_java_2da_parte
1 introduccion a_java_2da_parte1 introduccion a_java_2da_parte
1 introduccion a_java_2da_parte
 
2 programación orientada_a_objetos
2 programación orientada_a_objetos2 programación orientada_a_objetos
2 programación orientada_a_objetos
 
Metodologia de investigacion itl
Metodologia de investigacion itlMetodologia de investigacion itl
Metodologia de investigacion itl
 
U3 interfaces, clases abstractas, heencia y polimorfismo
U3 interfaces, clases abstractas, heencia y polimorfismoU3 interfaces, clases abstractas, heencia y polimorfismo
U3 interfaces, clases abstractas, heencia y polimorfismo
 
Matematicas discretas1
Matematicas discretas1Matematicas discretas1
Matematicas discretas1
 
Infore de proyecto v1
Infore de proyecto v1Infore de proyecto v1
Infore de proyecto v1
 
Conjuntos
ConjuntosConjuntos
Conjuntos
 
Trayectorias
TrayectoriasTrayectorias
Trayectorias
 
Id sw13
Id sw13Id sw13
Id sw13
 
Id sw12
Id sw12Id sw12
Id sw12
 
Id sw11
Id sw11Id sw11
Id sw11
 
Id sw10
Id sw10Id sw10
Id sw10
 
Id sw09
Id sw09Id sw09
Id sw09
 
Id sw08
Id sw08Id sw08
Id sw08
 
Id sw07
Id sw07Id sw07
Id sw07
 
Id sw06
Id sw06Id sw06
Id sw06
 
Id sw05
Id sw05Id sw05
Id sw05
 
Id sw04
Id sw04Id sw04
Id sw04
 
Id sw02
Id sw02Id sw02
Id sw02
 

1 introduccion a_java_1er_parte

  • 1. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 1 Maestría en Sistemas Computacionales Materia TECNOLOGÍAS DE PROGRAMACIÓN Capítulo 1.Introducción a Java (Primera parte) semestre agosto – diciembre 2012 Instituto Tecnológico de la Laguna División de Estudios de Posgrado e Investigación
  • 2. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 2 Objetivos: Conocer la historia del lenguaje Java. Examinar las características propias de la POO. Elegir una plataforma de desarrollo integrada (IDE) para Java. Identificar las instrucciones básicas de E/S estándar, de decisión y de control. 1. Introducción a Java1. Introducción a Java.
  • 3. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 3 • Lenguajes de programación. • Descripción histórica del lenguaje de programación Java. • Características de la programación orientada a objetos. 1.1. Introducción a Java.Introducción a Java. Contenido
  • 4. Los programas (software) le indican a la computadora (hardware) cuál es la tarea que debe realizar. Para escribir estos programas se utiliza un Lenguaje de programación. Un lenguaje de programación consta de un conjunto de símbolos (léxico) y un conjunto de reglas válidas (sintaxis), de manera que formen un mensaje con significado (semántica) para la computadora. 1.1 Lenguajes de programación
  • 5. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 5 Lenguajes de Programación (Nivel de abstracción [Wu2001]) Alto nivel Bajo nivel Lenguaje Máquina Código Máquina: 10111000 00011011 00000000 10111010 00001010 00000000 00000001 11000010 Lenguaje Ensamblador Código Ensamblador: mov AX,001B mov DX,000A add DX,AX Lenguajes de alto nivel Código de alto nivel: suma = 27 +10
  • 6. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 6 Lenguajes de Programación (Evolución histórica [URL01]) o Primera generación (1GL): Lenguaje máquina. o Segunda generación (2GL): Lenguaje ensamblador. o Tercera generación (3GL): Lenguajes modernos, cercanos al lenguaje natural para facilitar la programación a los humanos. Ejemplos: C, C++, Java. o Cuarta generación (4GL): Diseñados con un propósito específico. Ejemplos: Mapple, Matlab, Mathematica… o Quinta generación (5GL): Lenguajes para inteligencia artificial: la finalidad es que el programador establezca el problema ha ser resuelto y las condiciones que debe cumplir, y la computadora lo resuelve. Ejemplo: Prolog, Lisp…
  • 7. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 7 Lenguajes de Programación (Forma de ejecutarse [URL01]) o Compilados: El código del programa (código fuente) es traducido a código máquina (código objeto). Posteriormente el código máquina es unido (enlazado) con sus bibliotecas para producir un programa ejecutable. Ejemplo: C, Pascal. o Interpretados: Un programa (intérprete), ejecuta las instrucciones del programa de manera directa. Ejemplo: Lisp, Basic. o Mixtos: como Java, que primero pasan por una fase de compilación en la que el código fuente se transforma en “bytecode”, y este “bytecode” puede ser ejecutado luego (interpretado) en computadoras con distintas arquitecturas (procesadores) que tengan todas instalada la misma Máquina Virtual.
  • 8. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 8 1.2 Descripción histórica del lenguaje de programación Java. [Wu2001, url04] El desarrollo de Java inicio en 1990 por James Gosling y su equipo “Green Team” en Sun Microsystems California. Esta basado en C y C++, y originalmente fue pensado para programar dispositivos electrónicos como tostadores, hornos de microondas, etc. La primera versión estuvo completa en 1992 y fue llamado Oak (roble). Sun lanzó las primeras versiones de Java a principios de 1995.
  • 9. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 9 1.2 Descripción histórica del lenguaje de programación Java. [url06] Java es un lenguaje de desarrollo de propósito general, y como tal es válido para realizar todo tipo de aplicaciones profesionales: Permite escribir Applets (pequeños programas que se insertan en una página HTML) y se ejecutan en el ordenador local. Se pueden escribir aplicaciones para intraredes, aplicaciones cliente/servidor, aplicaciones distribuidas en redes locales y en Internet.
  • 10. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 10 1.2 Descripción histórica del lenguaje de programación Java. [url03] La tecnología Java consta de dos partes: El lenguaje de programación. La plataforma Java: • La máquina virtual de Java. • El API Java.
  • 11. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 11 1.2 Descripción histórica del lenguaje de programación Java. [url03] El lenguaje de programación Java es un lenguaje de alto nivel que se caracteriza por: - Simple - Orientado a Objectos - Distribuido - Multi hilo - Dinámico - Arquitectura neutral - Portable - Alto desempeño - Robusto
  • 12. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 12 1.2 Descripción histórica del lenguaje de programación Java. [url05] Algunas de las razones que llevaron a Bill Joy (cofundador de Sun y uno de los desarrolladores principales del sistema operativo Unix de Berckley) a pensar que Java podría llegar a ser rentable son: Java es un lenguaje orientado a objetos: Esto es lo que facilita abordar la resolución de cualquier tipo de problema. La ejecución del código Java es segura y fiable: Los programas no acceden directamente a la memoria de la computadora. De este modo, los datos del usuario quedan a salvo de la existencia de virus escritos en Java. Es totalmente multiplataforma: Su máquina virtual le permite adaptarse a diferentes SO y diversas arquitecturas de computadoras.
  • 13. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 13 1.2 Descripción histórica del lenguaje de programación Java. [url02, url06] “Hoy en día, puede encontrar la tecnología Java en redes y dispositivos que comprenden desde Internet y supercomputadoras científicas hasta portátiles y teléfonos móviles; desde simuladores de mercado en Wall Street hasta juegos de uso doméstico y tarjetas de crédito: Java está en todas partes” http://www.java.com/en/about/javabook.pdf
  • 14. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 14 1.3 Características de la programación orientada a objetos.  Abstracción  Encapsulación  Herencia  Polimorfismo
  • 15. Ejemplo: Aplicación “Hola mundo” class HolaMundo { /* * Punto de entrada a la aplicación. * * args: matriz de parámetros pasados a la aplicación * mediante la línea de órdenes. Puede estar vacía. */ public static void main (String[] args) { System.out.println("Hola mundo!!!"); } } Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 15 inicio Hola mundo!!! fin
  • 16. Ejemplo: Aplicación operaciones aritméticas class CAritmetica { /* * Operaciones aritméticas */ public static void main (String[] args) { int dato1, dato2, resultado; dato1 = 20; dato2 = 10; // Suma resultado = dato1 + dato2; System.out.println(dato1 + " + " + dato2 + " = " + resultado); Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 16 // Resta resultado = dato1 - dato2; System.out.println(dato1 + " - " + dato2 + " = " + resultado); // Producto resultado = dato1 * dato2; System.out.println(dato1 + " * " + dato2 + " = " + resultado); // Cociente resultado = dato1 / dato2; System.out.println(dato1 + " / " + dato2 + " = " + resultado); } }
  • 17. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 17 Fuentes de información: [Wu2001] Introducción a la programación orientada a objetos con Java. C. Thomas Wu, Mc. Graw Hill, 2001. [url01] http://qbitacora.wordpress.com/2007/09/21/clasifica Visitado el 20 de julio del 2012 Evolución histórica de los lenguajes de programación. [url02] http://www.cad.com.mx/historia_del_lenguaje_java Visitado el 20 de julio del 2012 Evolución histórica de Java.
  • 18. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 18 Fuentes de información: [url03] http://www.clubdesarrolladores.com/articulos/mostr Visitado el 20 de julio del 2012 Características del lenguaje Java [url04] http://www.clubdesarrolladores.com/articulos/ mostrar/38-java-su-historia-ediciones- versiones-y-caracteristicas-como-plataforma- y-lenguaje-de-programacion/3 Visitado el 20 de julio de 2012 Evolución histórica de Java
  • 19. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 19 Fuentes de información: [url05] http://www.clubdesarrolladores.com/articulos/ mostrar/38-java-su-historia-ediciones- versiones-y-caracteristicas-como-plataforma- y-lenguaje-de-programacion/4 Visitado el 20 de julio del 2012 Razones para impulsar a Java [url06] http://elmasterdelaweb.wikispaces.com/file/vi ew/El+Lenguaje+De+Programacion+Java+ (Libro+espa%C3%B1ol).pdf Libro: El lenguaje de Programación Java™ Obtenido: 21 agosto 2012
  • 20. Lina Ernestina Arias Hernández Instituto Tecnológico de la Laguna 20 Fuentes de información: [url07] http://www.java.com/en/about/javabook.pdf Java Every where in action Obtenido: 21 agosto 2012