2. Lenguajes de máquina
Lenguajes de ensamblado
Lenguajes de alto nivel.
Para construir programas, las personas usan
lenguajes que son similar al idioma humano. Los
resultados se traducen en código de máquina
que las computadoras entienden.
Los lenguajes de programación entran en tres
categorías extensas:
La Evolución de los lenguajes de la Programación
3. • Lenguaje de máquina (idiomas de la primera-
generación) es el tipo más básico de lenguaje
de la computadora y consiste en series de
números de el hardware de la computadora .
• Los Tipos diferentes de uso en el hardware en el
código de la máquina son diferentes. Por
ejemplo, las computadoras de IBM usan
lenguaje de máquina diferente que las
computadoras de las Apple.
- Lenguaje de Máquina
4. • Lenguajes de ensamblado (idiomas de la segunda-generación) es sólo
algo más fácil que trabajar con el Lenguajes de máquina.
• El lenguaje ensamblador, o assembler (en inglés assembly language y
la abreviación asm), es un lenguaje de programación de bajo nivel.
Consiste en un conjunto de mnemónicos que representan
instrucciones básicas para las computadoras, microprocesadores,
microcontroladores y otros circuitos integrados programables.
• Implementa una representación simbólica de los códigos de
máquina binarios y otras constantes necesarias para programar
una arquitectura de processador y constituye la representación más
directa del código máquina específico para cada arquitectura legible
por un programador.
• Cada arquitectura de processador tiene su propio lenguaje
ensamblador
Lenguaje ensamblador
6. Lenguaje de 3ra. Generación
Lenguaje de 4ta. Generación
Los lenguajes de alto nivel son más poderosos que
el lenguaje ensamblador y le permiten al
programador trabajar en un ambiente como Inglés.
Los lenguajes de la programación de alto nivel son
dividido en tres "las generaciones," cada uno más
poderoso que el último:
Lenguajes de alto nivel
7. FORTAN C
COBOL C++
BASIC Java
Pascal ActiveX
• Los lenguaje de la tercera generación (3GLs) son los
primeros en usar verdadero Inglés como la redacción y
los hacen más fáciles de usar que los lenguajes
anteriores.
• Los 3GLs son portátiles y significan el código del objeto
creado para un tipo de sistema que puede traducirse
para el uso en un tipo diferente de sistema.
• Los 3GLs son procedurales
Lenguaje de 3ra. Generación
8. • Se ha dado este nombre a ciertas
herramientas que permiten construir
aplicaciones sencillas combinando piezas
prefabricadas.
• Hoy se piensa que estas herramientas no son,
propiamente hablando, lenguajes. Algunos
proponen reservar el nombre de cuarta
generación para la programación orientada
a objetos.
• Los 4GLs pueden usar un ambiente basado en
texto (como un 3GL) o puede permitirle al
programador trabajar en un ambiente visual y
puede usar herramientas gráficas.
Lenguaje de 4ta. Generación
9. 4GL
Estos lenguajes tienen una estructura lo más parecido al
idioma inglés, algunas características son:
• Acceso a base de datos.
•Capacidades Gráficas.
•Generación de código automáticamente*
•Puede programarse visualmente como Visual
Basic (Programación Visual).
•MVC
11. Paradigmas de
programación
Existen diversos paradigmas y lenguajes de
programación que se han diseñado para facilitar las
tareas de programación en diferentes ámbitos.
Programación por procedimientos es un paradigma
de la programación. Muchas veces es aplicable
tanto en lenguajes de programación de bajo nivel
como en lenguajes de alto nivel.
En el caso de que esta técnica se aplique en
lenguajes de alto nivel, recibirá el nombre
de Programación funcional. Esta técnica consiste en
basarse de un número muy bajo de expresiones
repetidas, englobarlas todas en un procedimiento o
función y llamarlo cada vez que tenga que
ejecutarse.
12. Procedural o procedimientos
Esta técnica de programación ofrece muy buena
respuesta con relación al tamaño de los programas, y
en bruto casi no se nota en la velocidad de ejecución
de los mismos (mientras que
las variables, constantes o índices de vector estén en
memoria, como suele ser normal, estos se
relacionarán entre sí, sin una carga de memoria
considerablemente alta para los procesadores
modernos); aunque es muy complicado conseguir
una programación por procedimientos pura.
Utilizar este tipo de programación puede resultar muy
útil a la hora de programar grandes proyectos, ya que
se crea una inmensa biblioteca de funciones
especiales para procedimientos utilizados con
frecuencia dentro del programa.
14. Lenguajes declarativos
La programación declarativa, en contraposición a
la programación por procedimientos, es
un paradigma de programación que está basado en
el desarrollo de programas especificando o
"declarando" un conjunto de condiciones,
proposiciones, afirmaciones, restricciones, ecuaciones
o transformaciones que describen el problema y
detallan su solución.
15. Tipos de lenguajes
declarativos
En la programación declarativa las sentencias que se
utilizan lo que hacen es describir el problema que se
quiere solucionar; se programa diciendo lo que se
quiere resolver a nivel de usuario, pero no las
instrucciones necesarias para solucionarlo. Esto último
se realizará mediante mecanismos internos de
inferencia de información a partir de la descripción
realizada.
Existen varios tipos de lenguajes declarativos:
Los lenguajes lógicos, como Prolog.
Los lenguajes algebraicos, como Maude y SQL.
Los lenguajes funcionales, como Haskell y Erlang.
16. Ejemplo de programación
declarativa
%% %% declaraciones %% padrede('juan', 'maria').
% juan es padre de maria padrede('pablo', 'juan').
%pablo es padre de juan padrede('pablo', 'marcela').
% pablo es padre de marcela padrede('carlos', 'debora').
% carlos es padre de debora %% consultas
%%
% juan es hermano de marcela?
?- hermanode('juan', 'marcela').
yes
17. Lenguajes Paralelos
Con la introducción de un nuevo paradigma de
programación como lo es el cómputo paralelo surge
también la idea de cómo solucionar la programación
de computadoras paralelas, ya que la idea del
cómputo paralelo sugiere la implementación de
arquitecturas paralelas, algoritmos paralelos y
lenguajes de programación paralelos.
Se puede pensar en que la programación paralela
puede verse como un conjunto de dos capas, la
capa inferior es la encargada de realizar toda la serie
de procesos y trabajos, se puede pensar que dicha
capa la puede ocupar un lenguaje secuencial, así la
capa superior es la que controla la creación y el
desarrollo de las actividades que serán solicitadas a la
capa inferior, es aquí donde se propone un lenguaje
paralelo.
18. El primero de ellos fue Concurrent Pascal, dise~nado
por Brinch Hansen en 1975 como una extensión del
lenguaje Pascal, también daba soporte al paradigma
concurrente.
En estos años la mayoría de los lenguajes diseñnados
eran extensiones de lenguajes secuenciales ya
existentes. High Performance Fortran ha sido uno de
los pocos lenguajes que ha prevalecido en el tiempo,
del que se ha originado nuevos lenguajes con este
concepto y que se ha mantenido estable en el
tiempo.
19. Lenguajes Paralelos
Algunos ejemplos de esto son los siguientes:
CODE
HeNCE (Heterogeneous Network Computing
Environment)
LINDA
X10 (IBM)
Chapel (Cray)
Unified Parallel C (UPC)
ParaSail
ZPL
20. Lenguajes visuales
La programación visual brinda los conocimientos
necesarios para diseñar y desarrollar aplicaciones con
un entorno visual amigable y fácil de utilizar para el
usuario.
Los lenguajes de programación visual tienden a
facilitar la tarea de los programadores, dado que con
los primeros lenguajes de programación crear una
ventana era tarea de meses de desarrollo y de un
equipo de trabajo.
21. Clasificación de los
lenguajes visuales
Los lenguajes visuales se dividen en las siguientes
categorías:
Lenguajes puramente visuales. Simulink,software de
programación para lego
Sistemas híbridos de texto y elementos visuales . .Net
Sistema de programación por ejemplo (Programming-
by-example) CUDA
Sistemas orientados a restricciones (Constraint-
oriented systems)
22. Programación orientada a
Objetos
Define los programas en términos de "clases de
objetos", objetos que son entidades que combinan
estado (es decir, datos), comportamiento (esto es,
procedimientos o métodos) e identidad (propiedad
del objeto que lo diferencia del resto).
La programación orientada a objetos expresa un
programa como un conjunto de estos objetos, que
colaboran entre ellos para realizar tareas.
La técnica de programación orientada a objetos, se
basa en fundamentos de diseño, técnicas y
metodologías unificadas (UML).
23. POO
Lenguajes visuales como Visual Basic.Net, Borland
Delphi, incorporan una completa implementación de
la programación orientada a objetos y permiten
aprovechar al máximo toda la funcionalidad que
ofrecen estos lenguajes para el desarrollo de
aplicaciones de gestión.