Está en la página 1de 28

Taller de Programación

Introducción a los Lenguajes de Programación


Ing. Aníbal Sardón Paniagua
C16290@utp.edu.pe
anibal.sardon@hotmail.com
Logros de Aprendizaje

Al finalizar la sesión el estudiante:


Comprende los fundamentos de Java y los lenguajes de
programación.
Descubrir los componentes de Java y su funcionamiento.
Temas a tratar
Los lenguajes de programación.
Definición.
Clasificación.
Proceso de Traducción y Ejecución
Paradigmas
Introducción a lenguaje Java.
Definición.
Historia
Arquitectura
Funcionamiento
Datos/Observaciones
Lenguajes de Programación

Datos/Observaciones
Lenguajes de Programación
• Un lenguaje de programación es un
lenguaje formal diseñado para realizar
procesos que pueden ser llevados a cabo
por máquinas como las computadoras.

• Un lenguaje de programación consiste en


todos los:
• Símbolos
• Caracteres
• Reglas sintácticas / semánticas
• Definen su estructura y que permiten a las
personas "comunicarse" con las
computadoras.
Datos/Observaciones
Lenguajes de Programación

1. Niveles de Abstracción
Alto Nivel
Ensamblador
Código de máquina
2. Proceso de Traducción
Interpretados
Compilados.
3. Paradigmas

Datos/Observaciones
1. Clasificación según Nivel Abstracción
• Lenguajes de Alto Nivel:
• Independientes de la máquina.
• Sintaxis similar al lenguaje natural.
• Mayor tiempo de ejecución.
• Lenguajes de Bajo Nivel: Ensamblador
• Nemotécnicos.
• Necesita una fase de traducción.
• Alta velocidad de cálculo.
• Facilidad de codificación.
• Dependencia de la máquina.
• Lenguajes o Código de Máquina
• Instrucciones primitivas: cadenas binarias (0 | 1).
• Dependen del hardware.
Máxima velocidad de ejecución.
Datos/Observaciones
2. Proceso de traducción
• Los programas fuente escritos en un
lenguaje de programación deben ser
traducidos para que la máquina pueda
ejecutarlos.
• Interpretes
• Traduce el programa fuente cada vez que
se ejecuta instrucción a instrucción.
• Compiladores
• Traduce el programa fuente una vez y lo
almacena, generando el programa objeto
en bloque.
• Compiladores vs Interpretes:
• Mejores tiempos de ejecución.
• Peores tiempos de desarrollo y pruebas
• Ocupan menos memoria.

Datos/Observaciones
3. Paradigmas de Lenguajes de Programación
• Un paradigma de programación representa un
conjunto de métodos sistemáticos aplicables en
todos los niveles del diseño de programas.
• Es una filosofía para la creación de programas.
• Lenguajes imperativos
• Ejecución secuencial.
• Basado en sentencias (de asignación, comparación,
control)
• Paso a paso se le dice a la computadora mediante
sentencias, qué debe realizar.
• Lenguajes declarativos
• Se enfoca en describir las propiedades de la solución
buscada.
• La solución es hallada mediante mecanismos internos
de inferencia de información a partir de la descripción
del problema en sí.
Datos/Observaciones
3.Paradigmas de Lenguajes de Programación
• Lenguajes funcionales
• Se basan en el uso de funciones dentro de las cuales se pueden utilizar funciones
creadas.
• Concepto matemático de función.
• Su objetivo es dividir el programa en módulos de forma que cada módulo se realicen
en una función.
• Lenguajes lógicos
• Comprende la programación declarativa y la funcional.
• Predicados, reglas y hechos.
• Demostración de hechos por medio de preguntas.
• Lenguajes Orientados a Objetos
• La programación orientada a objetos expresa un programa como un conjunto de
objetos, que colaboran entre ellos para realizar tareas.
• Esto permite hacer los programas y módulos más fáciles de escribir, mantener,
reutilizar y volver a utilizar.
• Conceptos de clases, objeto y herencia.
• Datos/Observaciones
Lenguajes como Java, C++, Python, Rubi, C#, etc. Smalltalk.
Preguntas
Resumen

1. Un lenguaje de programación:
➢Permiten a las personas "comunicarse" con las computadoras.
➢Consiste en todos los símbolos, caracteres (Diccionario) y reglas
sintácticas / semánticas que definen su estructura.
➢Se clasifican en: lenguaje de máquina, bajo nivel y alto nivel.
➢Según el proceso de traducción son: interpretes y compiladores.
➢Según los paradigmas de programación tenemos: lenguajes
imperativos, declarativos, funcionales, lógicos, orientados a objetos.
Temas a tratar
Los lenguajes de programación.
Definición.
Clasificación.
Proceso de Traducción y Ejecución
Paradigmas
Introducción a lenguaje Java.
Definición.
Historia
Arquitectura
Funcionamiento
Introducción a Java

Datos/Observaciones
https://www.youtube.com/watch?v=Z8i7uxiA5g8

• https://www.youtube.com/watch?v=TnzaxzHYCQ0&t=70s

Datos/Observaciones
Lenguaje Java
Definición:

“Lenguaje de programación orientado a objetos desarrollado por Sun


Microsystems a principios de los años 90.
El lenguaje toma mucha de su sintaxis de C y C++, pero tiene un modelo
de objetos más simple y elimina herramientas de bajo nivel, que suelen
inducir a muchos errores, como la manipulación directa de punteros o
memoria.”

Datos/Observaciones
Historia de Java
• Abril 1991: Proyecto Green (Sun Microsystem) software para
dispositivos electrónicos inteligentes y televisión interactiva. Se trataba
de desarrollar un entorno de operación fiable, portable y eficiente.
• El resultado: Lenguaje Oak (James Gosling)
• Principio 1994: El equipo se reduce ante el escaso crecimiento del
mercado PDA y STB, y tras perder acuerdos con TimeWarner y 3DO, se
reorienta hacia WWW:
• Los requisitos del software son los mismos en WWW
• 1994: WebRunner (luego HotJava): navegador Web escrito en Java
• 23 mayo 1995 (SunWorld ‘95): Anuncio de la release alpha de Java
• Java se distribuye gratuitamente
• Finales 1995: Primera integración Netscape + Java
Datos/Observaciones
¿Qué es Java?
• Un lenguaje de programación orientado a objetos desarrollado por
Sun Microsystems
• Es un lenguaje universal: Fue diseñado para poder funcionar en
distintos tipos de procesadores y sistemas operativos. “Write Once
Run Everywhere” (Programa una vez, ejecútalo en todos lados).
• Es un lenguaje robusto, seguro y alto rendimiento.
• Tiene una sintaxis parecida a lenguaje C.
• Sensible a Mayúsculas y Minúsculas.
• Algunas Características:
• Encapsulación, herencia y polimorfismo
• Fuertemente tipado
• Gestión automática de la memoria (recogida de basura)
• Soporte para concurrencia (multihilo)
• Gestión de excepciones.
Datos/Observaciones
¿Qué es Java?
Para poder programar requiere instalar el Java Development
Kit (JDK) que contendrá:
1. Un Entorno de Ejecución: Para poder ejecutar programas se requiere
la JVM: Java Virtual Machine
2. Acompañado por un conjunto de bibliotecas (packages, conjuntos de
clases)
Desarrollo de interfaces gráficas de usuario (AWT, Swing)
Conectividad (sockets, RMI, IDL, JDBC)
Utilidades (Vector, Stack, Hashtable, Date, etc.)
Funciones matemáticas
Gráficos 2D y 3D
Interacción y multimedia (Media, JMF, Speech, Animation, Collaboration,
Telephony)
Datos/Observaciones
Arquitectura de la Máquina Virtual de Java(JVM)

Datos/Observaciones
Arquitectura de la Máquina Virtual
•Es interpretado: ¿Cómo se ejecuta?
1. Un programador crea un código en java en
un archivo llamado clase (*.java).
2. Antes de ser ejecutado se pre-compila en
otro archivo llamado Bytecode (*.class).
3. Toda computadora que ejecute programas
hechos en Java debe tener la JVM (Java
Virtual Machine) instalada.
4. Para hacer funcionar un programa hecho en
java se ejecuta el Bytecode en la JVM, que
convierte al instante las instrucciones del
Bytecode en código nativo de cada
plataforma: Windows, Linux, Android, Mac,
entre otros.
* Just in Time (JIT) = interprete
Datos/Observaciones
Compilación tradicional vs Java
• Entorno de compilación y • El intérprete de bytecodes de
ejecución tradicional: Java:

Datos/Observaciones
La Máquina Virtual de Java

• Arquitectura Java sobre un SO:

Datos/Observaciones
Distribuciones de Java

• Diferentes distribuciones:

Datos/Observaciones
Preguntas
Resumen

1. El lenguaje Java.
➢Es un lenguaje de alto nivel, orientado a objetos, independiente de la
plataforma, funciona sobre una máquina virtual.
➢Es un lenguaje universal “Write Once Run Everywhere”
➢El interprete convierte el .java en .class (bytecode), el código
precompilado corre sobre el JVM (Java Virtual Machine).
➢El compilador JIT (Just In Time) traduce el bytecode al Código Máquina
Nativo (dependiendo de la plataforma).

También podría gustarte