SlideShare una empresa de Scribd logo
1 de 21
Lenguajes
de
Programación
Evolución de los distintos lenguajes
¿Qué es un lenguaje de programación?
Un lenguaje de
programación es
un idioma
artificial diseñado para
expresar
computaciones que
pueden ser llevadas a
cabo por máquinas
como
las computadoras.
Historia
Al comienzo sólo existía el código máquina. Al
principio de la historia de los computadores no
existían los lenguajes de programación. Los
computadores se programaban en el lenguaje
que entendía la unidad de procesamiento: el
código máquina.
Por nivel
- Lenguajes de bajo nivel
- Lenguajes de alto nivel
Por
generación
-Primera generación
-Segunda
generación
-Tercera generación
-Cuarta generación
-Quinta generación
Por Paradigma
Paradigma imperativo
Procedimental
Paradigma declarativo
Funcional
Lógico
Paradigma híbrido
Orientado a objetos
Por Área
De
Aplicación
 1. Enseñanza – Basic, Logo, Pascal
y Python
 2. Aplicaciones científicas –
Fortran, Algol, Matlab, R
 3. Aplicaciones comerciales –
Cobol, RPG, SQL
 4. Aplicaciones con interfaces
gráficas – Visual Basic, C#
 5. Inteligencia artificial y sistemas
expertos – Lisp, Prolog, OPS5
 6. Programación de sistemas – C,
C++
 7. Aplicaciones web – JavaScript,
PHP.
Tipos de lenguaje de maquina
Lenguajes de programación de bajo nivel: Son
mucho mas fáciles de utilizar que el lenguaje
máquina, pero dependen mucho de la máquina o
computadora como sucedía con el lenguaje
máquina.
Lenguajes de programación de alto nivel: Este tipo de
lenguajes de programación son independientes de la
máquina, lo podemos usar en cualquier computador con muy
pocas modificaciones o sin ellas, son muy similares al
lenguaje humano, pero precisan de un programa interprete o
compilador que traduzca este lenguaje de programación de
alto nivel a uno de bajo nivel como el lenguaje de máquina
que la computadora pueda entender. Los siguientes lenguaje
de programación de alto nivel son:
• Lenguajes de programación imperativos: entre ellos tenemos
el Cobol, Pascal, C y Ada.
• Lenguajes de programación declarativos: el Lisp y el Prolog.
• Lenguajes de programación orientados a objetos: el Smalltalk
y el C++.
• Lenguajes de programación orientados al problema: son
aquellos lenguajes específicos para gestión.
• Lenguajes de programación naturales: son los nuevos
lenguajes que pretender aproximar el diseño y la
construcción de programas al lenguaje de las personas.
Lenguajes de programación de primera generación: el
lenguaje máquina y el ensamblador.
Lenguajes de programación de segunda generación:
los primeros lenguajes de programación de alto
nivel imperativo (FROTRAN, COBOL).
Lenguajes de programación de tercera generación: son
lenguajes de programación de alto nivel imperativo
pero mucho más utilizados y vigentes en la
actualidad (ALGOL 8, PL/I, PASCAL, MODULA).
Lenguajes de programación de cuarta
generación: usados en aplicaciones de gestión y
manejo de bases de dados (NATURAL, SQL).
Lenguajes de programación de quinta
generación: creados para la inteligencia artificial y
para el procesamiento de lenguajes naturales (LISP,
PROLOG).
Intérpretes y
Compiladores
Existen dos tipos principales de traductores de los
lenguajes de programación de alto nivel:
Compilador, que analiza el programa fuente y lo traduce
a otro equivalente escrito en otro lenguaje (por ejemplo,
en el lenguaje de la máquina). Su acción equivale a la de
un traductor humano, que toma un libro y produce otro
equivalente escrito en otra lengua.
Intérprete, que analiza el programa fuente y lo ejecuta
directamente, sin generar ningún código equivalente. Su
acción equivale a la de un intérprete humano, que traduce
las frases que oye sobre la marcha, sin producir ningún
escrito permanente.
Intérpretes y Compiladores
Intérpretes y compiladores tienen diversas ventajas e inconvenientes que los hacen
complementarios:
Un intérprete facilita la búsqueda
de errores, pues la ejecución de
un programa puede interrumpirse
en cualquier momento para
estudiar el entorno (valores de las
variables, etc.). Además, el
programa puede modificarse sobre
la marcha, sin necesidad de volver
a comenzar la ejecución.
Un compilador suele generar programas
más rápidos y eficientes, ya que el
análisis del lenguaje fuente se hace una
sola vez, durante la generación del
programa equivalente. En cambio, un
intérprete se ve obligado generalmente a
analizar cada instrucción tantas veces
como se ejecute (incluso miles o millones
de veces).
Un intérprete permite utilizar
funciones y operadores más potentes,
como por ejemplo ejecutar código
contenido en una variable en forma de
cadenas de caracteres. Usualmente,
este tipo de instrucciones es imposible
de tratar por medio de compiladores.
Los lenguajes que incluyen este tipo de
operadores y que, por tanto, exigen un
intérprete, se llaman interpretativos.
Los lenguajes compilativos, que
permiten el uso de un compilador,
prescinden de este tipo de operadores.
PARADIGMAS DE LA PROGRAMACION
Concepto de Paradigma
Caso, modelo, patrón, regla que se cita para ilustrar o autorizar un
aserto, doctrina o posición.
En computación un paradigma procura establecer fronteras entre
los fundamentos matemáticos necesarios para cualquier área de la
computación y la matemática real y pretende definir nuevas
referencias epistemológicas (doctrina que trata de los fundamentos
y métodos del conocimiento científico) para la definición de
parámetros matemáticos para los cursos del área de informática
donde se formarán los profesionales.
En ciencias de la computación existen un cierto número de
paradigmas que se adaptan a la diversidad de problemas con los que
nos enfrentamos, cada paradigma está orientado a resolver un
problema determinado, han aparecido distingos paradigmas que
ofrecen distintos tipos de funcionalidades y generalmente una
filosofía de programación novedosa.
Así pues, los paradigmas se clasifican según su grado de abstracción.
En esta clasificación, se suele hacer dos grupos, el paradigma
declarativo, también conocido por "lenguajes declarativos" y el
paradigma imperativo o "lenguajes imperativos".
La primera categoría de lenguajes declarativos
corresponde a los llamados lenguajes funcionales o
paradigma funcional. Los programas bajo el
paradigma funcional se basan en funciones, las que
son llamadas desde otras funciones. Es importante
recordar que cuando se quiere resolver un problema
con un lenguaje funcional, no se tiene que construir
un algoritmo que exprese cómo se tiene que resolver
el problema, sino que describir los elementos
(funciones) que van a servir par resolverlo.
Un programa bajo el paradigma funcional puede expresarse de la siguiente
manera:
Programa = Funciones + Estructuras de Datos
Las características de estos lenguajes son:
• Su base es la recursividad, puesto que las funciones se definen de forma
recursiva.
• Las funciones son los elementos principales de los programas.
• Son lenguajes interpretativos: necesitan de un proceso de interpretación
(traducción) para que sea comprensible a la computadora.
• Son lenguajes deterministas: en el sentido de que se tienen siempre los
mismos resultados del programa para las mismas entradas.
Al ser lenguajes con una componente matemática alta su mejor campo de
aplicación es el científico, y por su facilidad de búsqueda es el más usado en
Inteligencia Artificial. Por tanto, su aceptación y utilización es
principalmente en entornos de investigación y docencia. Los lenguajes más
representativos dentro de este grupo son: Lisp, FP, Camel, ML, Miranda,
Hope, etc.
La segunda categoría de lenguajes declarativos
corresponde a los llamados lenguajes lógicos o
paradigma lógico. Los lenguajes bajo este paradigma
están basados en reglas y asertos (afirmaciones).
Para obtener resultados de un programa, se hacen
preguntas a la computadora, y está, en función de las
reglas y afirmaciones que tiene almacenadas,
responde. La "inteligencia" de la computadora reside
en la manera que tiene de interpretar y encadenar
las conclusiones de las reglas. Esto se hace con lo
que se denomina motor de inferencia.
Un programa bajo el paradigma lógico puede expresarse de la siguiente
manera:
Programa = Reglas+ Asertos + Estructuras de Datos + Control
El control lo proporciona el motor de inferencia, que es el que realmente
"razona", y obtiene resultados a partir de las reglas y asertos existentes.
Las características de estos lenguajes:
Se describe qué problema ha de resolverse, no cómo resolverlo.
Son lenguajes conversacionales, es decir, es como si la computadora
fuera un persona a la que se le pregunta de acuerdo a un lenguaje de
interrogación definido y responde con las conclusiones que obtiene.
Son lenguajes recursivos, la definición de las reglas generalmente se
realiza, al igual que en los lenguajes funcionales, de forma recursiva.
Este tipo de lenguajes son muy utilizados en áreas como la Inteligencia
Artificial, puesto que tratan de simular la forma de razonamiento
Los lenguajes declarativos, especialmente los
modernos, han sido desarrollados principalmente con el
fin de ser usados en el proceso de representar el
conocimiento humano y reproducir sus capacidades
deductivas y cognitivas, de acuerdo al desafío
emprendido en el campo de la Inteligencia Artificial.
Además, estos lenguajes son especialmente útiles para
representar problemas de modelación y simulación en
las distintas áreas de la Ingeniería.
PARADIGMA IMPERATIVO
El paradigma imperativo es el más antiguo y del que más lenguajes existen. Los lenguajes imperativos son los más
difundidos y son adecuados para resolver aquellos problemas que tienen soluciones expresables en un algoritmo.
Se caracterizan por estar orientados, o permiten la facilidad, de orientar al uso de procedimientos. Además, estos
lenguajes permiten manejar explícitamente el flujo de ejecución de las instrucciones del programa.
Para este tipo de lenguajes un programa se puede expresar como sigue:
Programa = Algoritmo + Estructuras de Datos
Es decir, está compuesto de un algoritmo que representa o describe cómo hay que resolver el problema y las
estructuras de datos necesarias para almacenar la información.
Las características de estos tipos de lenguajes son las siguientes:
• Procedimentales: En el sentido de que describen cómo se ha de resolver el problema y no qué problema es.
• Deterministas: En el sentido de que se tienen siempre los mismos resultados del programa para las mismas
entradas.
• Necesitan de la existencia de un proceso que traduzca el código al lenguaje de máquina.
• Algorítmicos: Expresan cómo resolver el problema mediante un algoritmo.
Ejemplos de lenguajes imperativos van desde el lenguaje de máquina hasta lenguajes de mayor nivel de
abstracción, tales como FORTRAN, COBOL, BASIC, PASCAL, C, ADA, etc.
PARADIGMA HIBRIDO
Debido a algunos inconvenientes producidos por la falta de control de flujo de los lenguajes
declarativos, se ha producido híbridos, los que tienen parte de los lenguajes declarativos y parte
de los imperativos. La corriente más fuerte al respecto, y siendo una de las formas más usadas
en la representación del conocimiento humano, son los lenguajes "ORIENTADOS AL OBJETO".
La programación orientada al objeto constituye otra forma de pensar cómo resolver algunos
problemas planteados. En ella se examina el universo del problema en términos de "entidades" y
de relaciones entre esas "entidades". Estas entidades se eligen porque tienen algún límite físico
o conceptual que los separa del resto del problema. Las entidades son representadas como
objetos del programa. El objetivo es tener una correspondencia entre entidades en el problema
físico y objetos en el programa. Dentro de cada objeto está almacenada toda la información
representativa del objeto (variables) y todas las operaciones que se pueden realizar con ese
objeto (métodos o funciones). A esta particularidad se le denomina encapsulamiento de datos y
funciones dentro de un objeto. La última característica importante dentro de estos lenguajes es
la "herencia", concepto análogo al de la Biología, de esta manera se define una jerarquía de
herencias que ayudan a describir los problemas.
Un fuerte atractivo de los lenguajes orientados a objetos es que ofrecen una mayor reutilización.
Se facilita la modificación y reutilización de un programa después de haber sido construido y
utilizado.
Por tanto, un programa de este tipo puede expresarse como sigue:
Programa = Objetos + Mensajes
Las características de estos lenguajes son:
Están orientados a reutilizar el software que desarrollan, con e l fin de resultar
más sencilla la modificación de los programas y sobre todo que sean útiles para
ser utilizados completa o parcialmente "a posteriori".
Son compilativos, es decir, precisan de un proceso de compilación para poder ser
ejecutados.
Son objetuales no procedimentales, es decir, se basan en los objetos y no en los
procedimientos (algoritmos). A diferencia de los lenguajes imperativos en los que
se trataba de encontrar un método (procedimiento o algoritmo) para resolver el
problema, aquí se trata de encontrar los objetos necesarios para modelar el
problema.
Algunos ejemplos de estos lenguajes son Simula 67, Smalltalk, Object Pascal,
C++, Flavours, etc.

Más contenido relacionado

La actualidad más candente

Diferencias entre scrum y xp
Diferencias entre scrum y xp Diferencias entre scrum y xp
Diferencias entre scrum y xp deborahgal
 
Programación lógica y funcional
Programación lógica y funcionalProgramación lógica y funcional
Programación lógica y funcionalAlejandra MA
 
Fundamentos programación
Fundamentos programaciónFundamentos programación
Fundamentos programaciónMilton Escobar
 
Tema N° 6 Técnicas para el Levantamiento y Recolección de Requisitos
Tema N° 6 Técnicas para el Levantamiento y Recolección de RequisitosTema N° 6 Técnicas para el Levantamiento y Recolección de Requisitos
Tema N° 6 Técnicas para el Levantamiento y Recolección de RequisitosSaraEAlcntaraR
 
Introducción a la Programación :: Unidad 01 :: Parte 01
Introducción a la Programación :: Unidad 01 :: Parte 01Introducción a la Programación :: Unidad 01 :: Parte 01
Introducción a la Programación :: Unidad 01 :: Parte 01Facultad de Ciencias y Sistemas
 
Estilos de programación y sus lenguajes
Estilos de programación y sus lenguajesEstilos de programación y sus lenguajes
Estilos de programación y sus lenguajesPedro Contreras Flores
 
Principios fundamentales de la programación orientado a objetos
 Principios fundamentales de la programación orientado a objetos  Principios fundamentales de la programación orientado a objetos
Principios fundamentales de la programación orientado a objetos mellcv
 
Cuadro sinoptico lenguaje de programacion
Cuadro sinoptico lenguaje de programacionCuadro sinoptico lenguaje de programacion
Cuadro sinoptico lenguaje de programaciontacubomx
 
Importancia del análisis de requerimientos
Importancia del análisis de requerimientosImportancia del análisis de requerimientos
Importancia del análisis de requerimientosalmarza1
 
14. fundamentos de desarrollo de software
14. fundamentos de desarrollo de software14. fundamentos de desarrollo de software
14. fundamentos de desarrollo de softwareJhon Barrera
 
TIPOS DE LENGUAJES DE PROGRAMACION
TIPOS DE LENGUAJES DE PROGRAMACIONTIPOS DE LENGUAJES DE PROGRAMACION
TIPOS DE LENGUAJES DE PROGRAMACIONPEDRO Borja
 
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientosIDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientosFranklin Parrales Bravo
 
DiseñO De Compilador
DiseñO De CompiladorDiseñO De Compilador
DiseñO De CompiladorBigbossH
 

La actualidad más candente (20)

Diferencias entre scrum y xp
Diferencias entre scrum y xp Diferencias entre scrum y xp
Diferencias entre scrum y xp
 
Programación lógica y funcional
Programación lógica y funcionalProgramación lógica y funcional
Programación lógica y funcional
 
Fundamentos programación
Fundamentos programaciónFundamentos programación
Fundamentos programación
 
Tema N° 6 Técnicas para el Levantamiento y Recolección de Requisitos
Tema N° 6 Técnicas para el Levantamiento y Recolección de RequisitosTema N° 6 Técnicas para el Levantamiento y Recolección de Requisitos
Tema N° 6 Técnicas para el Levantamiento y Recolección de Requisitos
 
Principios del RUP
Principios del RUPPrincipios del RUP
Principios del RUP
 
Visual Basic. Net
Visual Basic. NetVisual Basic. Net
Visual Basic. Net
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
Introducción a la Programación :: Unidad 01 :: Parte 01
Introducción a la Programación :: Unidad 01 :: Parte 01Introducción a la Programación :: Unidad 01 :: Parte 01
Introducción a la Programación :: Unidad 01 :: Parte 01
 
Estilos de programación y sus lenguajes
Estilos de programación y sus lenguajesEstilos de programación y sus lenguajes
Estilos de programación y sus lenguajes
 
Principios fundamentales de la programación orientado a objetos
 Principios fundamentales de la programación orientado a objetos  Principios fundamentales de la programación orientado a objetos
Principios fundamentales de la programación orientado a objetos
 
Cuadro sinoptico lenguaje de programacion
Cuadro sinoptico lenguaje de programacionCuadro sinoptico lenguaje de programacion
Cuadro sinoptico lenguaje de programacion
 
Pseudocodigo pptx
Pseudocodigo pptxPseudocodigo pptx
Pseudocodigo pptx
 
Importancia del análisis de requerimientos
Importancia del análisis de requerimientosImportancia del análisis de requerimientos
Importancia del análisis de requerimientos
 
14. fundamentos de desarrollo de software
14. fundamentos de desarrollo de software14. fundamentos de desarrollo de software
14. fundamentos de desarrollo de software
 
macros Lenguaje ensamblador
macros Lenguaje ensambladormacros Lenguaje ensamblador
macros Lenguaje ensamblador
 
TIPOS DE LENGUAJES DE PROGRAMACION
TIPOS DE LENGUAJES DE PROGRAMACIONTIPOS DE LENGUAJES DE PROGRAMACION
TIPOS DE LENGUAJES DE PROGRAMACION
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientosIDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
DiseñO De Compilador
DiseñO De CompiladorDiseñO De Compilador
DiseñO De Compilador
 

Destacado

Lenguajes De Programacion
Lenguajes De ProgramacionLenguajes De Programacion
Lenguajes De ProgramacionROSA859
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionAriel Medina
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionEdagaJunior
 
Lenguajes De Programacion
Lenguajes De ProgramacionLenguajes De Programacion
Lenguajes De Programacionfcolauravel
 
Lenguajes De Programacion
Lenguajes De ProgramacionLenguajes De Programacion
Lenguajes De Programacioncarlos
 
Tema1 Lenguajes De Programacion
Tema1 Lenguajes De ProgramacionTema1 Lenguajes De Programacion
Tema1 Lenguajes De ProgramacionJose Rojas
 
Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacionLy Andre
 
Lenguajes de Programación
Lenguajes de ProgramaciónLenguajes de Programación
Lenguajes de ProgramaciónSandra Esposito
 
Lenguaje De Programación
Lenguaje De ProgramaciónLenguaje De Programación
Lenguaje De Programacióndenisse176
 
HISTORIA Y EVOLUCION DE LOS LENGUAJES DE PROGRAMACION
HISTORIA Y EVOLUCION DE LOS LENGUAJES DE PROGRAMACIONHISTORIA Y EVOLUCION DE LOS LENGUAJES DE PROGRAMACION
HISTORIA Y EVOLUCION DE LOS LENGUAJES DE PROGRAMACIONRYAJPS
 
Clasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónClasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónd3m3nt3
 
Lenguaje de Programación
Lenguaje de ProgramaciónLenguaje de Programación
Lenguaje de ProgramaciónEder Luna León
 
Que Es Un Lenguaje De Programacion...?
Que Es Un Lenguaje De Programacion...?Que Es Un Lenguaje De Programacion...?
Que Es Un Lenguaje De Programacion...?charnisch
 
tipos de lenguaje de programación
tipos de lenguaje de programacióntipos de lenguaje de programación
tipos de lenguaje de programaciónpefrayo5
 
Historia Y EvolucióN De Los Lenguajes De ProgramacióN
Historia Y EvolucióN De Los Lenguajes De ProgramacióNHistoria Y EvolucióN De Los Lenguajes De ProgramacióN
Historia Y EvolucióN De Los Lenguajes De ProgramacióNda4
 
Proceso de Reclutamiento en las empresas de T.I.
Proceso de Reclutamiento en las empresas de T.I.Proceso de Reclutamiento en las empresas de T.I.
Proceso de Reclutamiento en las empresas de T.I.Software Guru
 
Curriculum 2.0: Qué es y cómo construirlo
Curriculum 2.0: Qué es y cómo construirloCurriculum 2.0: Qué es y cómo construirlo
Curriculum 2.0: Qué es y cómo construirloAlfredo Vela Zancada
 

Destacado (20)

Lenguajes De Programacion
Lenguajes De ProgramacionLenguajes De Programacion
Lenguajes De Programacion
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Lenguajes De Programacion
Lenguajes De ProgramacionLenguajes De Programacion
Lenguajes De Programacion
 
Clases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programaciónClases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programación
 
Lenguajes De Programacion
Lenguajes De ProgramacionLenguajes De Programacion
Lenguajes De Programacion
 
Tema1 Lenguajes De Programacion
Tema1 Lenguajes De ProgramacionTema1 Lenguajes De Programacion
Tema1 Lenguajes De Programacion
 
Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacion
 
Lenguajes de Programación
Lenguajes de ProgramaciónLenguajes de Programación
Lenguajes de Programación
 
Lenguaje De Programación
Lenguaje De ProgramaciónLenguaje De Programación
Lenguaje De Programación
 
HISTORIA Y EVOLUCION DE LOS LENGUAJES DE PROGRAMACION
HISTORIA Y EVOLUCION DE LOS LENGUAJES DE PROGRAMACIONHISTORIA Y EVOLUCION DE LOS LENGUAJES DE PROGRAMACION
HISTORIA Y EVOLUCION DE LOS LENGUAJES DE PROGRAMACION
 
Clasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónClasificación de los lenguajes de programación
Clasificación de los lenguajes de programación
 
Lenguaje de Programación
Lenguaje de ProgramaciónLenguaje de Programación
Lenguaje de Programación
 
Que Es Un Lenguaje De Programacion...?
Que Es Un Lenguaje De Programacion...?Que Es Un Lenguaje De Programacion...?
Que Es Un Lenguaje De Programacion...?
 
tipos de lenguaje de programación
tipos de lenguaje de programacióntipos de lenguaje de programación
tipos de lenguaje de programación
 
Historia Y EvolucióN De Los Lenguajes De ProgramacióN
Historia Y EvolucióN De Los Lenguajes De ProgramacióNHistoria Y EvolucióN De Los Lenguajes De ProgramacióN
Historia Y EvolucióN De Los Lenguajes De ProgramacióN
 
Lenguajes interactivos
Lenguajes interactivosLenguajes interactivos
Lenguajes interactivos
 
Proceso de Reclutamiento en las empresas de T.I.
Proceso de Reclutamiento en las empresas de T.I.Proceso de Reclutamiento en las empresas de T.I.
Proceso de Reclutamiento en las empresas de T.I.
 
Curriculum 2.0: Qué es y cómo construirlo
Curriculum 2.0: Qué es y cómo construirloCurriculum 2.0: Qué es y cómo construirlo
Curriculum 2.0: Qué es y cómo construirlo
 

Similar a Lenguajes de programación

Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programaciónKarol
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionKarol
 
Lenguajes de-programacion-clase
Lenguajes de-programacion-claseLenguajes de-programacion-clase
Lenguajes de-programacion-claseBeatriz Moreyra
 
Lenguajes de-programacion-clase
Lenguajes de-programacion-claseLenguajes de-programacion-clase
Lenguajes de-programacion-claseBeatriz Moreyra
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programaciónAlejandra Vargas
 
Cuadro comparativo.
Cuadro comparativo.Cuadro comparativo.
Cuadro comparativo.carmenmc2017
 
Cuadro comparativo.
Cuadro comparativo.Cuadro comparativo.
Cuadro comparativo.carmenmc2017
 
Cuadro comparativo.
Cuadro comparativo.Cuadro comparativo.
Cuadro comparativo.carmenmc2017
 
Lógica de programación - Análisis y Datos
Lógica de programación - Análisis y DatosLógica de programación - Análisis y Datos
Lógica de programación - Análisis y DatosSantiagoGutirrez23
 
1. que es programacion
1. que es programacion1. que es programacion
1. que es programacionFausto Orozco
 
1. Que es programacion
1. Que es programacion1. Que es programacion
1. Que es programacionFausto Orozco
 
01. lenguajes de programación autor virtuniversidad
01. lenguajes de programación autor virtuniversidad01. lenguajes de programación autor virtuniversidad
01. lenguajes de programación autor virtuniversidadLuisBeltrnAlvinoAlva
 
01. Lenguajes de programación autor Virtuniversidad.pdf
01. Lenguajes de programación autor Virtuniversidad.pdf01. Lenguajes de programación autor Virtuniversidad.pdf
01. Lenguajes de programación autor Virtuniversidad.pdfrosalesjonathan2024
 
Evolución de la Programación
Evolución de la ProgramaciónEvolución de la Programación
Evolución de la ProgramaciónAlessandro Viera
 

Similar a Lenguajes de programación (20)

Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Clase 1. lógica de la programación
Clase 1. lógica de la programaciónClase 1. lógica de la programación
Clase 1. lógica de la programación
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Lenguajes de-programacion-clase
Lenguajes de-programacion-claseLenguajes de-programacion-clase
Lenguajes de-programacion-clase
 
Lenguajes de-programacion-clase
Lenguajes de-programacion-claseLenguajes de-programacion-clase
Lenguajes de-programacion-clase
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Cuadro comparativo.
Cuadro comparativo.Cuadro comparativo.
Cuadro comparativo.
 
Cuadro comparativo.
Cuadro comparativo.Cuadro comparativo.
Cuadro comparativo.
 
Cuadro comparativo.
Cuadro comparativo.Cuadro comparativo.
Cuadro comparativo.
 
Lógica de programación - Análisis y Datos
Lógica de programación - Análisis y DatosLógica de programación - Análisis y Datos
Lógica de programación - Análisis y Datos
 
Dennis
DennisDennis
Dennis
 
Introducción a la Gerencia Informática
Introducción a la Gerencia InformáticaIntroducción a la Gerencia Informática
Introducción a la Gerencia Informática
 
lenguajes de programacion
lenguajes de programacionlenguajes de programacion
lenguajes de programacion
 
Arquitectura de Computadoras
Arquitectura de Computadoras Arquitectura de Computadoras
Arquitectura de Computadoras
 
1. que es programacion
1. que es programacion1. que es programacion
1. que es programacion
 
1. Que es programacion
1. Que es programacion1. Que es programacion
1. Que es programacion
 
01. lenguajes de programación autor virtuniversidad
01. lenguajes de programación autor virtuniversidad01. lenguajes de programación autor virtuniversidad
01. lenguajes de programación autor virtuniversidad
 
01. Lenguajes de programación autor Virtuniversidad.pdf
01. Lenguajes de programación autor Virtuniversidad.pdf01. Lenguajes de programación autor Virtuniversidad.pdf
01. Lenguajes de programación autor Virtuniversidad.pdf
 
Evolución de la Programación
Evolución de la ProgramaciónEvolución de la Programación
Evolución de la Programación
 

Lenguajes de programación

  • 2.
  • 3. Evolución de los distintos lenguajes
  • 4. ¿Qué es un lenguaje de programación? Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras.
  • 5. Historia Al comienzo sólo existía el código máquina. Al principio de la historia de los computadores no existían los lenguajes de programación. Los computadores se programaban en el lenguaje que entendía la unidad de procesamiento: el código máquina.
  • 6.
  • 7. Por nivel - Lenguajes de bajo nivel - Lenguajes de alto nivel Por generación -Primera generación -Segunda generación -Tercera generación -Cuarta generación -Quinta generación Por Paradigma Paradigma imperativo Procedimental Paradigma declarativo Funcional Lógico Paradigma híbrido Orientado a objetos
  • 8. Por Área De Aplicación  1. Enseñanza – Basic, Logo, Pascal y Python  2. Aplicaciones científicas – Fortran, Algol, Matlab, R  3. Aplicaciones comerciales – Cobol, RPG, SQL  4. Aplicaciones con interfaces gráficas – Visual Basic, C#  5. Inteligencia artificial y sistemas expertos – Lisp, Prolog, OPS5  6. Programación de sistemas – C, C++  7. Aplicaciones web – JavaScript, PHP.
  • 9. Tipos de lenguaje de maquina Lenguajes de programación de bajo nivel: Son mucho mas fáciles de utilizar que el lenguaje máquina, pero dependen mucho de la máquina o computadora como sucedía con el lenguaje máquina. Lenguajes de programación de alto nivel: Este tipo de lenguajes de programación son independientes de la máquina, lo podemos usar en cualquier computador con muy pocas modificaciones o sin ellas, son muy similares al lenguaje humano, pero precisan de un programa interprete o compilador que traduzca este lenguaje de programación de alto nivel a uno de bajo nivel como el lenguaje de máquina que la computadora pueda entender. Los siguientes lenguaje de programación de alto nivel son: • Lenguajes de programación imperativos: entre ellos tenemos el Cobol, Pascal, C y Ada. • Lenguajes de programación declarativos: el Lisp y el Prolog. • Lenguajes de programación orientados a objetos: el Smalltalk y el C++. • Lenguajes de programación orientados al problema: son aquellos lenguajes específicos para gestión. • Lenguajes de programación naturales: son los nuevos lenguajes que pretender aproximar el diseño y la construcción de programas al lenguaje de las personas. Lenguajes de programación de primera generación: el lenguaje máquina y el ensamblador. Lenguajes de programación de segunda generación: los primeros lenguajes de programación de alto nivel imperativo (FROTRAN, COBOL). Lenguajes de programación de tercera generación: son lenguajes de programación de alto nivel imperativo pero mucho más utilizados y vigentes en la actualidad (ALGOL 8, PL/I, PASCAL, MODULA). Lenguajes de programación de cuarta generación: usados en aplicaciones de gestión y manejo de bases de dados (NATURAL, SQL). Lenguajes de programación de quinta generación: creados para la inteligencia artificial y para el procesamiento de lenguajes naturales (LISP, PROLOG).
  • 10. Intérpretes y Compiladores Existen dos tipos principales de traductores de los lenguajes de programación de alto nivel: Compilador, que analiza el programa fuente y lo traduce a otro equivalente escrito en otro lenguaje (por ejemplo, en el lenguaje de la máquina). Su acción equivale a la de un traductor humano, que toma un libro y produce otro equivalente escrito en otra lengua. Intérprete, que analiza el programa fuente y lo ejecuta directamente, sin generar ningún código equivalente. Su acción equivale a la de un intérprete humano, que traduce las frases que oye sobre la marcha, sin producir ningún escrito permanente.
  • 11. Intérpretes y Compiladores Intérpretes y compiladores tienen diversas ventajas e inconvenientes que los hacen complementarios: Un intérprete facilita la búsqueda de errores, pues la ejecución de un programa puede interrumpirse en cualquier momento para estudiar el entorno (valores de las variables, etc.). Además, el programa puede modificarse sobre la marcha, sin necesidad de volver a comenzar la ejecución. Un compilador suele generar programas más rápidos y eficientes, ya que el análisis del lenguaje fuente se hace una sola vez, durante la generación del programa equivalente. En cambio, un intérprete se ve obligado generalmente a analizar cada instrucción tantas veces como se ejecute (incluso miles o millones de veces). Un intérprete permite utilizar funciones y operadores más potentes, como por ejemplo ejecutar código contenido en una variable en forma de cadenas de caracteres. Usualmente, este tipo de instrucciones es imposible de tratar por medio de compiladores. Los lenguajes que incluyen este tipo de operadores y que, por tanto, exigen un intérprete, se llaman interpretativos. Los lenguajes compilativos, que permiten el uso de un compilador, prescinden de este tipo de operadores.
  • 12. PARADIGMAS DE LA PROGRAMACION Concepto de Paradigma Caso, modelo, patrón, regla que se cita para ilustrar o autorizar un aserto, doctrina o posición. En computación un paradigma procura establecer fronteras entre los fundamentos matemáticos necesarios para cualquier área de la computación y la matemática real y pretende definir nuevas referencias epistemológicas (doctrina que trata de los fundamentos y métodos del conocimiento científico) para la definición de parámetros matemáticos para los cursos del área de informática donde se formarán los profesionales. En ciencias de la computación existen un cierto número de paradigmas que se adaptan a la diversidad de problemas con los que nos enfrentamos, cada paradigma está orientado a resolver un problema determinado, han aparecido distingos paradigmas que ofrecen distintos tipos de funcionalidades y generalmente una filosofía de programación novedosa. Así pues, los paradigmas se clasifican según su grado de abstracción. En esta clasificación, se suele hacer dos grupos, el paradigma declarativo, también conocido por "lenguajes declarativos" y el paradigma imperativo o "lenguajes imperativos".
  • 13.
  • 14. La primera categoría de lenguajes declarativos corresponde a los llamados lenguajes funcionales o paradigma funcional. Los programas bajo el paradigma funcional se basan en funciones, las que son llamadas desde otras funciones. Es importante recordar que cuando se quiere resolver un problema con un lenguaje funcional, no se tiene que construir un algoritmo que exprese cómo se tiene que resolver el problema, sino que describir los elementos (funciones) que van a servir par resolverlo.
  • 15. Un programa bajo el paradigma funcional puede expresarse de la siguiente manera: Programa = Funciones + Estructuras de Datos Las características de estos lenguajes son: • Su base es la recursividad, puesto que las funciones se definen de forma recursiva. • Las funciones son los elementos principales de los programas. • Son lenguajes interpretativos: necesitan de un proceso de interpretación (traducción) para que sea comprensible a la computadora. • Son lenguajes deterministas: en el sentido de que se tienen siempre los mismos resultados del programa para las mismas entradas. Al ser lenguajes con una componente matemática alta su mejor campo de aplicación es el científico, y por su facilidad de búsqueda es el más usado en Inteligencia Artificial. Por tanto, su aceptación y utilización es principalmente en entornos de investigación y docencia. Los lenguajes más representativos dentro de este grupo son: Lisp, FP, Camel, ML, Miranda, Hope, etc.
  • 16. La segunda categoría de lenguajes declarativos corresponde a los llamados lenguajes lógicos o paradigma lógico. Los lenguajes bajo este paradigma están basados en reglas y asertos (afirmaciones). Para obtener resultados de un programa, se hacen preguntas a la computadora, y está, en función de las reglas y afirmaciones que tiene almacenadas, responde. La "inteligencia" de la computadora reside en la manera que tiene de interpretar y encadenar las conclusiones de las reglas. Esto se hace con lo que se denomina motor de inferencia.
  • 17. Un programa bajo el paradigma lógico puede expresarse de la siguiente manera: Programa = Reglas+ Asertos + Estructuras de Datos + Control El control lo proporciona el motor de inferencia, que es el que realmente "razona", y obtiene resultados a partir de las reglas y asertos existentes. Las características de estos lenguajes: Se describe qué problema ha de resolverse, no cómo resolverlo. Son lenguajes conversacionales, es decir, es como si la computadora fuera un persona a la que se le pregunta de acuerdo a un lenguaje de interrogación definido y responde con las conclusiones que obtiene. Son lenguajes recursivos, la definición de las reglas generalmente se realiza, al igual que en los lenguajes funcionales, de forma recursiva. Este tipo de lenguajes son muy utilizados en áreas como la Inteligencia Artificial, puesto que tratan de simular la forma de razonamiento
  • 18. Los lenguajes declarativos, especialmente los modernos, han sido desarrollados principalmente con el fin de ser usados en el proceso de representar el conocimiento humano y reproducir sus capacidades deductivas y cognitivas, de acuerdo al desafío emprendido en el campo de la Inteligencia Artificial. Además, estos lenguajes son especialmente útiles para representar problemas de modelación y simulación en las distintas áreas de la Ingeniería.
  • 19. PARADIGMA IMPERATIVO El paradigma imperativo es el más antiguo y del que más lenguajes existen. Los lenguajes imperativos son los más difundidos y son adecuados para resolver aquellos problemas que tienen soluciones expresables en un algoritmo. Se caracterizan por estar orientados, o permiten la facilidad, de orientar al uso de procedimientos. Además, estos lenguajes permiten manejar explícitamente el flujo de ejecución de las instrucciones del programa. Para este tipo de lenguajes un programa se puede expresar como sigue: Programa = Algoritmo + Estructuras de Datos Es decir, está compuesto de un algoritmo que representa o describe cómo hay que resolver el problema y las estructuras de datos necesarias para almacenar la información. Las características de estos tipos de lenguajes son las siguientes: • Procedimentales: En el sentido de que describen cómo se ha de resolver el problema y no qué problema es. • Deterministas: En el sentido de que se tienen siempre los mismos resultados del programa para las mismas entradas. • Necesitan de la existencia de un proceso que traduzca el código al lenguaje de máquina. • Algorítmicos: Expresan cómo resolver el problema mediante un algoritmo. Ejemplos de lenguajes imperativos van desde el lenguaje de máquina hasta lenguajes de mayor nivel de abstracción, tales como FORTRAN, COBOL, BASIC, PASCAL, C, ADA, etc.
  • 20. PARADIGMA HIBRIDO Debido a algunos inconvenientes producidos por la falta de control de flujo de los lenguajes declarativos, se ha producido híbridos, los que tienen parte de los lenguajes declarativos y parte de los imperativos. La corriente más fuerte al respecto, y siendo una de las formas más usadas en la representación del conocimiento humano, son los lenguajes "ORIENTADOS AL OBJETO". La programación orientada al objeto constituye otra forma de pensar cómo resolver algunos problemas planteados. En ella se examina el universo del problema en términos de "entidades" y de relaciones entre esas "entidades". Estas entidades se eligen porque tienen algún límite físico o conceptual que los separa del resto del problema. Las entidades son representadas como objetos del programa. El objetivo es tener una correspondencia entre entidades en el problema físico y objetos en el programa. Dentro de cada objeto está almacenada toda la información representativa del objeto (variables) y todas las operaciones que se pueden realizar con ese objeto (métodos o funciones). A esta particularidad se le denomina encapsulamiento de datos y funciones dentro de un objeto. La última característica importante dentro de estos lenguajes es la "herencia", concepto análogo al de la Biología, de esta manera se define una jerarquía de herencias que ayudan a describir los problemas. Un fuerte atractivo de los lenguajes orientados a objetos es que ofrecen una mayor reutilización. Se facilita la modificación y reutilización de un programa después de haber sido construido y utilizado.
  • 21. Por tanto, un programa de este tipo puede expresarse como sigue: Programa = Objetos + Mensajes Las características de estos lenguajes son: Están orientados a reutilizar el software que desarrollan, con e l fin de resultar más sencilla la modificación de los programas y sobre todo que sean útiles para ser utilizados completa o parcialmente "a posteriori". Son compilativos, es decir, precisan de un proceso de compilación para poder ser ejecutados. Son objetuales no procedimentales, es decir, se basan en los objetos y no en los procedimientos (algoritmos). A diferencia de los lenguajes imperativos en los que se trataba de encontrar un método (procedimiento o algoritmo) para resolver el problema, aquí se trata de encontrar los objetos necesarios para modelar el problema. Algunos ejemplos de estos lenguajes son Simula 67, Smalltalk, Object Pascal, C++, Flavours, etc.

Notas del editor

  1. fssfsdfs
  2. fssfsdfs