Lenguajes de
programación
 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
• 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
• 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
Ensamblador
Código de
ensamble
código de Objeto
 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
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
• 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
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
Ejemplo programación
visual
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.
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.
Lenguajes puramente funcionales
•Haskell
•Miranda
Lenguajes que soportan
procedimientos o funciones
•C++
•StarBasic
•InfoBasic
•Pascal
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.
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.
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
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.
 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.
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
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.
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)
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).
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.
Clasificación
 Lenguajes de bajo nivel
 Código máquina
 Ensamblador
 Lenguajes de medio nivel
 BCPL
 C
Lenguajes de alto nivel
 ADA
 ALGOL
 BASIC
 Clipper
 Cobol
 C++
 FORTH
 Fortran
 Haskell
 Informix 4gl

 Java
 Lexico (con códigos
en castellano o sinónimos en
otros idiomas)
 Lisp
 Logo
 Modula
 PASCAL
 Prolog
 RPG
 Visual Basic


Lenguajes de-programacion-clase

  • 1.
  • 2.
     Lenguajes demá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 demá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 deensamblado (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
  • 5.
  • 6.
     Lenguaje de3ra. 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++ BASICJava 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 hadado 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 tienenuna 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
  • 10.
  • 11.
    Paradigmas de programación  Existendiversos 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.
  • 13.
    Lenguajes puramente funcionales •Haskell •Miranda Lenguajesque soportan procedimientos o funciones •C++ •StarBasic •InfoBasic •Pascal
  • 14.
    Lenguajes declarativos  La programacióndeclarativa, 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  Conla 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 primerode 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  Algunosejemplos 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  Laprogramació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 lenguajesvisuales  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 visualescomo 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.
  • 24.
    Clasificación  Lenguajes debajo nivel  Código máquina  Ensamblador  Lenguajes de medio nivel  BCPL  C
  • 25.
    Lenguajes de altonivel  ADA  ALGOL  BASIC  Clipper  Cobol  C++  FORTH  Fortran  Haskell  Informix 4gl   Java  Lexico (con códigos en castellano o sinónimos en otros idiomas)  Lisp  Logo  Modula  PASCAL  Prolog  RPG  Visual Basic 