SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
1
OBJETIVO GENERAL
“Conocer el proceso de evolución de los lenguajes de programación
con el fin de poder identificarlos y clasificarlos según los datos
obtenidos”
OBJETIVOS ESPECÍFICOS
1. Indagar acerca del proceso de evolución de los lenguajes de
programación.
2. Identificar los lenguajes de programación.
3. Reconocer cuáles son los cambios que han tenido los lenguajes de
programación durante su evolución y clasificarlos según los datos
obtenidos.
4. Definir y ejemplificar el paradigma de la programación orientada a
aspectos.
2
INTRODUCCIÓN
Durante varias décadas, los programadores han tenido que realizar su trabajo
usando un lenguaje muy particular conocido como lenguaje máquina que, como
su nombre lo indica, solamente puede ser interpretado por estas mismas.
Este tipo de lenguaje era bastante propenso a hacer que los programadores
cometieran errores ya que tenía cierto grado de complejidad en cuanto a la
capacidad del entendimiento humano, sin tomar en cuenta que un programa
escrito en tal lenguaje no puede ser ejecutado en otra máquina que no sea en la
que se escribió dicho programa debido a que cada máquina dependía de su
hardware para funcionar y por tanto ejecutar tales programas. Es por esto que al
cabo de unos cuantos años más, se desarrolló un lenguaje conocido como
ensamblador o también llamado lenguaje de nivel medio, el cual era mucho más
fácil de manejar que el lenguaje máquina, evitando así tales errores a la hora de
programar.
Tiempo después surgen lo que se conoce como lenguajes de alto nivel que fue
una innovación en la programación puesto que su sintaxis era bastante similar a
la de los humanos.
Todo este proceso de evolución hizo que los programas escritos sean mucho
más legibles y fáciles de modificar.
Ahora en este punto del tiempo han surgido los paradigmas de programación
que son complementos elementales para los programadores. El paradigma de
programación más utilizado en la actualidad es el Orientado a Objetos.
Algunos de los lenguajes de programación de alto nivel se enfocan en un área
específica, por ejemplo tenemos los empresariales, los de inteligencia artificial,
los que crean aplicaciones para móviles, etc.
Cada uno de estos lenguajes de alto nivel puede ser compilado o interpretado.
3
INDICE
Contenido
INDICE............................................................................................................................................ 3
EVOLUCIÓN Y CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓN..................................... 5
Según su nivel de abstracción................................................................................................... 5
Lenguaje máquina................................................................................................................. 5
Lenguaje ensamblador.......................................................................................................... 6
Lenguaje de alto nivel ........................................................................................................... 6
Según los niveles de programación........................................................................................... 8
Bajo nivel............................................................................................................................... 8
Alto nivel ............................................................................................................................... 8
Según su paradigma de programación.................................................................................... 10
1. Programación Orientada a Objetos................................................................................. 10
2. Programación Estructurada............................................................................................. 10
3. Programación Modular ................................................................................................... 11
5. Programación imperativa................................................................................................ 11
6. Programación Declarativa............................................................................................... 12
7. Programación Orientada a Aspectos............................................................................... 13
Según las generaciones de las computadoras ........................................................................ 14
1. Primera Generación ........................................................................................................ 14
2. Segunda Generación ....................................................................................................... 14
3. Tercera Generación......................................................................................................... 14
4. Cuarta Generación .......................................................................................................... 14
5. Quinta Generación .......................................................................................................... 15
Según su uso............................................................................................................................ 16
Cálculo Numérico ................................................................................................................ 16
Empresariales...................................................................................................................... 16
BASE DE DATOS................................................................................................................... 16
PÁGINAS DE INTERNET........................................................................................................ 16
SISTEMAS............................................................................................................................. 17
DESARROLLO DE APLICACIONES PARA DISPOSITIVOS MÓVILES (celulares):...................... 17
APLICACIONES PARA ESCRITORIO....................................................................................... 17
INTELIGENCIA ARTIFICIAL.................................................................................................... 17
Según su traducción................................................................................................................ 18
1. Lenguajes compilados ..................................................................................................... 18
4
2. Lenguajes interpretados.................................................................................................. 18
5
EVOLUCIÓN Y CLASIFICACIÓN DE LOS LENGUAJES DE
PROGRAMACIÓN
Los lenguajes de programación han sufrido una serie de cambios
durante su proceso de evolución.
En la actualidad los lenguajes de programación se encuentran
clasificados de muchas maneras. En este escrito procederemos a
clasificar y analizar cada uno de los lenguajes de programación más
destacados.
Según su nivel de abstracción
 Lenguaje máquina
 Lenguaje ensamblador
 Lenguaje de alto nivel
En este apartado encontramos que desde los inicios, la programación
ha tenido cierto cambio en cuanto al desarrollo de software. Este
cambio está enfocado en la forma en cómo se realizaba este
procedimiento.
Lenguaje máquina
El primer lenguaje que se empleó para programar fue el lenguaje
máquina, el cual, como sabemos utilizaba el lenguaje binario para
escribir las instrucciones que la computadora debía ejecutar para
realizar su trabajo. Esta forma de programar era bastante lenta y muy
propensa a tener errores, puesto que, este tipo de lenguaje no era
común en el lenguaje humano y su comprensión requería tiempo.
Además, este tipo de programación dependía bastante del hardware
de la máquina con la que se esté trabajando, por ejemplo un
programa escrito en una máquina de cierta marca y modelo no podía
ser ejecutado en otra máquina de diferentes características.
Las ventajas de este tipo de programación es que los programas al
estar escritos directamente en el lenguaje que las computadoras
entienden tienen la capacidad de ejecutarse rápidamente,
aprovechando completamente los recursos de la máquina.
Una desventaja podría ser que debido a que todo programa escrito
en una computadora no puede ser ejecutado en otra, no se tiene la
opción de portabilidad.
6
Lenguaje ensamblador
Luego de haber pasado por muchos inconvenientes debido a la
programación utilizando el lenguaje máquina surge un lenguaje
conocido como ensamblador. Este nuevo lenguaje consistía en
utilizar mnemotécnicos para escribir las instrucciones, lo cual
facilitaba el trabajo del programador.
Las ventajas están en que sus instrucciones eran expresadas en un
lenguaje cercano al que el humano puede entender. Sin embargo, la
tarea de programar sigue teniendo cierto grado de complejidad
debido a que aún es un lenguaje más cercano al que pueden
entender las máquinas que de los humanos. En estos casos el
programador debía conocer las características de la computadora
con la que iba a realizar su trabajo y por tanto había que hacer ciertos
trabajos que dependían de la máquina como: ubicar los registros de
memoria tal y como se lo hacía con el lenguaje máquina.
Para poder ejecutar un programa escrito en lenguaje ensamblador
primero era necesario realizar un proceso de traducción al lenguaje
máquina que, como ya se lo ha dicho es el único lenguaje que
entienden las computadoras. Este procedimiento se lo realiza con la
ayuda de un programa traductor llamado “ensamblador”, igual al
lenguaje con el que se está trabajando. Este programa lo que hace
es traducir el código fuente escrito en lenguaje ensamblador a
lenguaje máquina, convirtiendo una expresión en su equivalente en
lenguaje máquina.
El código escrito directamente en lenguaje ensamblador se denomina
“código fuente” mientras que el programa traducido toma el nombre
de “código objeto”, el cual será ejecutado por la computadora.
Lenguaje de alto nivel
Esta nueva forma de programar fue muy innovadora. Aquí las
instrucciones ya eran más fáciles de manejar por el cerebro humano.
Estas instrucciones que por lo general eran palabras en inglés,
describían los procedimientos que deben ejecutar las computadoras.
Una de las ventajas de esta nueva etapa de programación fue que
los programas escritos ya no dependían del hardware de cada
máquina. Los programas podían ya ejecutarse en cualquier
computadora con muy pocas o incluso ninguna modificación a su
7
código fuente. Los programas en esta etapa ya se caracterizaban por
ser portables.
Una de las desventajas de este tipo de programación era de que
como los programas eran más claros para el lenguaje humano que el
de las máquinas su ejecución era más lenta por el motivo de que no
se aprovechaban completamente los recursos de la computadora.
Además estos programas pesaban mucho más que los programas
escritos en lenguaje máquina y ensamblador por lo que al momento
de su ejecución consumían gran cantidad de memoria.
Para poder ejecutar un lenguaje de alto nivel era necesario pasar por
un procedimiento de traducción.
El programa que se utiliza para traducir este tipo de lenguajes es
conocido como compilador y es el encargado de traducir un lenguaje
de alto nivel a un lenguaje de bajo nivel.
En la actualidad existen muchos lenguajes de programación de alto
nivel y para cada uno de ellos existe un compilador diferente.
8
Según los niveles de programación
Existen dos tipos de niveles por los que ha pasado la programación.
 Bajo nivel
 Alto nivel
Bajo nivel
Los lenguajes de bajo nivel son los que se encuentran un paso más
adelante al lenguaje máquina y brinda sus beneficios a la hora de
programar aunque con ciertos límites como la portabilidad.
El lenguaje ensamblador es clasificado como un lenguaje de bajo
nivel pues es más cercano al lenguaje máquina y cumple
características similares.
Alto nivel
Desde la aparición de FORTRAN, el primer lenguaje de
programación de alto nivel se han venido una serie de cambios en
cuanto a la programación.
Como ya sabemos la programación utilizando los lenguajes de alto
nivel es mucho más fácil que con los lenguajes que se utilizaban
antes (lenguaje máquina y ensamblador) y además de ello se han ido
incorporando paradigmas que facilitan aún más este trabajo.
Actualmente existen muchos lenguajes de alto nivel los cuales
presentaremos a continuación. Entre los más destacados están:
 FORTRAN
 Java
 Ada-95
 Visual Basic.NET
 Euclid
 Lisp
 Borland Delphi
 Pascal
 COBOL
 PHP
 PROLOG
 Phyton
 SmallTalk
 Matlab
9
 Eiffel
 Perl
 Power Builder
 Modula
 BASIC
 SQL
 ALGOL
 C
 C++
 C#
 Entre otros.
10
Según su paradigma de programación
Muchos lenguajes de programación de alto nivel utilizan un
paradigma de programación para un mejor desarrollo de software.
La siguiente lista muestra los paradigmas de programación más
utilizados:
1. Programación Orientada a Objetos
2. Programación Estructurada
3. Programación Modular
4. Programación Dinámica
5. Programación Imperativa
6. Programación Declarativa
6.1. Programación Lógica
6.2. Programación Funcional
7. Programación Orientada a Aspectos
1. Programación Orientada a Objetos
La programación Orientada a Objetos es un paradigma de
programación muy utilizado en la actualidad y es debido a que
permite una representación de las entidades del mundo real a algo
equivalente en lenguaje de programación denominado “objeto”.
 SmallTalk
 Java
 Lisp
 Simula
 PHP
 Ada
 C++
2. Programación Estructurada
La programación estructurada consiste en el desarrollo de software
utilizando subrutinas y tres estructuras de control que son:
1. Secuencial
2. Selectiva
3. Repetición
11
Algunos de los lenguajes que permiten aplicar la programación
estructurada son los siguientes:
 Java
 ALGOL
 Pascal
 PL/1
 Ada
3. Programación Modular
La programación modular es considerada como la evolución de la
programación estructurada y consiste en desarrollar software
dividiendo el problema en problemas más pequeños los cuales
pasarán a ser codificados como módulos independientes. Esto hace
que los programas sean mucho más legibles y por lo tanto fáciles de
manejar.
Algunos de los lenguajes de programación que permiten esto son:
 Java
 Perl
 Ruby
 Modula
5. Programación imperativa
Los lenguajes de programación imperativos son…
 COBOL
 C
 Ada
 BASIC
 Pascal
 FORTRAN
 D
 Perl
 PHP
 Lua
 Java
12
 Phyton
 Go
6. Programación Declarativa
La programación Declarativa se divide en:
 Programación Lógica
 Programación Funcional
 Programación con restricciones
 Programas DSL
6.1. Programación Lógica
La Programación Lógica es un paradigma de programación enfocado
en la parte lógica de los programas y gira en torno al concepto de
predicado.
 PROLOG
6.2. Programación Funcional
Basado en el empleo de funciones aritméticas que no manejan datos
propenso a mutaciones.
Los programas en esta categoría son:
 FORTH
 Scheme
 Haskell
 Miranda
 Rust
 Erlang
 Objective Caml
 Perl
 JavaScript
 Java
 Phyton
 Entre otros
13
7. Programación Orientada a Aspectos
La programación Orientada a Aspectos es una extensión de la
programación Orientada a Objetos, en otras palabras, es un
complemento de esta misma.
Tiene un enfoque estructurado: que son los procedimientos o
también conocidos como acciones.
Además tiene un enfoque orientado a objetos: que son los datos que
se encuentran encapsulados en una determinada clase.
Un aspecto es definido como una unidad modular que vendría a ser
la base de la programación orientada a aspectos y que se disemina
por la estructura de otras unidades funcionales.
Todo aspecto tiene un propósito definido, este es el trabajo que ellos
deben de hacer. El trabajo del cual está encargado un aspecto es
denominado “advice”.
El programa orientado a aspectos está formado por tres bloques
compactos.
1. Funcionabilidad básica
2. Sincronización
3. Distribución
En este caso la sincronización vendría a ser el aspecto 1 mientras
que la distribución, el aspecto 2.
Una de las ventajas de este nuevo paradigma de programación es
que permite un diseño sistemático además de la reutilización de
software.
Una desventaja es que existen conceptos que no pueden
encapsularse dentro de una función debido a que atraviesan todo el
sistema o varias partes de él, como lo son: la sincronización, perfiles
de seguridad o redes, manejo de errores, manejo de memoria, etc
Los lenguajes de programación que soportan este paradigma son:
 AspectJ
14
Según las generaciones de las computadoras
Esta clasificación se la ha realizado de acuerdo a la evolución que
han tenido las computadoras y los lenguajes de programación que se
utilizaban para realizar el proceso de programación.
Las generaciones de las computadoras se dividen en:
1. Primera Generación
2. Segunda Generación
3. Tercera Generación
4. Cuarta Generación
5. Quinta Generación
1. Primera Generación
 Lenguaje máquina
 Lenguaje ensamblador
2. Segunda Generación
Lenguajes de programación de alto nivel. Paradigma de
programación imperativo.
 FORTRAN
 COBOL
3. Tercera Generación
Por lo general son los lenguajes de programación de alto nivel más
utilizados y que utilizan el paradigma de programación imperativo.
 ALGOL
 PL/1
 Pascal
 Modula
4. Cuarta Generación
Son los lenguajes de programación más utilizados en aplicaciones de
gestión (administrar) y el manejo de bases de datos.
 SQL
 NATURAL
15
5. Quinta Generación
Estos lenguajes de programación son aplicados en el manejo de la
inteligencia artificial.
 Lisp
 PROLOG
 OPS5
16
Según su uso
La siguiente clasificación es de acuerdo al uso que se hace de los
lenguajes de programación de alto nivel en las diferentes áreas de
trabajo.
Cálculo Numérico
 FORTRAN
 R
 Matlab
 Mathematicas
 APL
 ALGOL
Empresariales
 COBOL
 Natural
 SQL
 RPG
BASE DE DATOS
 SQL
 CLIPPER
 ACCESS
 Delphi
 Dbase
PÁGINAS DE INTERNET
 Lingo
 Java
 HTML
 JavaScript
 PHP
 ASP
 ASP.NET
 JSP
 Phyton
 Ruby
 Entre otros
17
SISTEMAS
 C
 C++
 Ada
 Ensamblador
DESARROLLO DE APLICACIONES PARA DISPOSITIVOS
MÓVILES (celulares):
 App Inventor
 Java
 Live Code
 JavaScript
 Objetive C
 Phyton
 Ruby
 Basic 4 Android
 HTML 5
 Lua
APLICACIONES PARA ESCRITORIO
INTELIGENCIA ARTIFICIAL
 Lisp
 PROLOG
 OPS5
18
Según su traducción
La clasificación según su traducción se divide en:
1. Lenguajes compilados
2. Lenguajes interpretados
1. Lenguajes compilados
Los lenguajes compilados son aquellos que necesitan un proceso de
traducción previo a la ejecución del programa escrito en un
determinado lenguaje.
Este proceso por lo general traduce un lenguaje de alto nivel a uno
de bajo nivel para que así la máquina pueda entender dichas
instrucciones y poderlas ejecutar sin problemas.
Algunos de los lenguajes que necesitan ser compilados para su
ejecución:
 Pascal
 FORTRAN
 COBOL
 FLOWMATIC
 C
 C++
 Delphi
 Eiffel
 D
 FORTH
 Haskell
 Go
 BASIC
 Java(compilado a bytecode)
 Entre otros
2. Lenguajes interpretados
Los lenguajes interpretes por lo general son traductores de un
lenguaje de alto nivel a uno de bajo nivel y luego de su respectiva
traducción son ejecutados, tal es el caso del lenguaje Java el cual
luego de ser compilado a un lenguaje intermedio, conocido como
bytecode necesita de su máquina virtual para que ese bytecode sea
19
traducido línea a línea según se vaya ejecutando el programa en
tiempo real.
Algunos de los lenguajes interpretados son:
 BASIC
 Logo
 Java
 SHORT CODE
 Phyton
 APL
 J
 ECMAScript
 JavaScript
 Matlab
 FORTH
 Perl
 PHP
 PostScript
 Ruby
 REXX
 Lisp
 Entre otros

Más contenido relacionado

La actualidad más candente

Lenguajes De Programacion
Lenguajes De ProgramacionLenguajes De Programacion
Lenguajes De Programacion
carlos
 
Tabla comparativa de paradigmas de programacion
Tabla comparativa de paradigmas de programacionTabla comparativa de paradigmas de programacion
Tabla comparativa de paradigmas de programacion
MarioS1093
 
Trabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraTrabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandra
AlexandraMolinaSanchez
 
Comparacion de Gestores de Base de Datos
Comparacion de Gestores de Base de DatosComparacion de Gestores de Base de Datos
Comparacion de Gestores de Base de Datos
Victor Zevallos
 

La actualidad más candente (20)

Lenguajes de alto nivel
Lenguajes de alto nivelLenguajes de alto nivel
Lenguajes de alto nivel
 
Lenguajes De Programacion
Lenguajes De ProgramacionLenguajes De Programacion
Lenguajes De Programacion
 
Tabla comparativa de paradigmas de programacion
Tabla comparativa de paradigmas de programacionTabla comparativa de paradigmas de programacion
Tabla comparativa de paradigmas de programacion
 
Gramática Libre de Contexto
Gramática Libre de ContextoGramática Libre de Contexto
Gramática Libre de Contexto
 
PARADIGMA FUNCIONAL
PARADIGMA FUNCIONALPARADIGMA FUNCIONAL
PARADIGMA FUNCIONAL
 
Unidad1 2 Lenguajes y automatas
Unidad1 2  Lenguajes y automatasUnidad1 2  Lenguajes y automatas
Unidad1 2 Lenguajes y automatas
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Kernel o núcleo
Kernel o núcleoKernel o núcleo
Kernel o núcleo
 
Compilador e interpretador
Compilador e interpretadorCompilador e interpretador
Compilador e interpretador
 
Procesadores de Lenguajes I
Procesadores de Lenguajes IProcesadores de Lenguajes I
Procesadores de Lenguajes I
 
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
 
Trabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraTrabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandra
 
Generaciones de los sistemas operativos
Generaciones de los sistemas operativosGeneraciones de los sistemas operativos
Generaciones de los sistemas operativos
 
Lenguajes de programación detrás de las redes sociales
Lenguajes de programación detrás de las redes socialesLenguajes de programación detrás de las redes sociales
Lenguajes de programación detrás de las redes sociales
 
Presentacion kali linux
Presentacion kali linuxPresentacion kali linux
Presentacion kali linux
 
Linea del tiempo_programacion
Linea del tiempo_programacionLinea del tiempo_programacion
Linea del tiempo_programacion
 
ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARES
 
Lenguajes de programación.ppt
Lenguajes de programación.pptLenguajes de programación.ppt
Lenguajes de programación.ppt
 
Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacion
 
Comparacion de Gestores de Base de Datos
Comparacion de Gestores de Base de DatosComparacion de Gestores de Base de Datos
Comparacion de Gestores de Base de Datos
 

Destacado

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
d3m3nt3
 
Evolucion de los lenguajes de programación
Evolucion de los lenguajes de programaciónEvolucion de los lenguajes de programación
Evolucion de los lenguajes de programación
fercho-nava
 
Linea del tiempo
Linea del tiempoLinea del tiempo
Linea del tiempo
Libertad25
 
1.1. historia del lenguaje de programacion
1.1. historia del lenguaje de programacion1.1. historia del lenguaje de programacion
1.1. historia del lenguaje de programacion
Alejandro Sanchez Jose
 
Lenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonLenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolon
alejandritasalva
 
Entidad relacion extendido resumen
Entidad relacion extendido resumenEntidad relacion extendido resumen
Entidad relacion extendido resumen
15e1a
 
Objetivos de la programación
Objetivos de la programaciónObjetivos de la programación
Objetivos de la programación
Dayse Romero
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
Leydi Hernandez
 
Java ventajas y caracteristicas
Java ventajas y caracteristicasJava ventajas y caracteristicas
Java ventajas y caracteristicas
bat1820
 
Plan didáctico anual de Informatica
Plan didáctico anual de InformaticaPlan didáctico anual de Informatica
Plan didáctico anual de Informatica
Liliana Masabanda
 
Clasificación de lenguajes
Clasificación de lenguajesClasificación de lenguajes
Clasificación de lenguajes
mafer3388
 
Lenguaje De Programacion
Lenguaje De ProgramacionLenguaje De Programacion
Lenguaje De Programacion
milko09
 
Programación Orientada a Objeto y Java
Programación Orientada a Objeto y JavaProgramación Orientada a Objeto y Java
Programación Orientada a Objeto y Java
Ingeniería Nica
 

Destacado (20)

Clasificacion Lenguajes de Programacion por Su Generacion
Clasificacion Lenguajes de Programacion por Su GeneracionClasificacion Lenguajes de Programacion por Su Generacion
Clasificacion Lenguajes de Programacion por Su Generacion
 
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
 
Evolucion de los lenguajes de programación
Evolucion de los lenguajes de programaciónEvolucion de los lenguajes de programación
Evolucion de los lenguajes de programación
 
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
 
Linea del tiempo
Linea del tiempoLinea del tiempo
Linea del tiempo
 
Resumen Capitulo 1 - Sebesta
Resumen Capitulo 1 - Sebesta Resumen Capitulo 1 - Sebesta
Resumen Capitulo 1 - Sebesta
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Practica1 lenguajes de programacion. clasificacion.
Practica1 lenguajes de programacion. clasificacion.Practica1 lenguajes de programacion. clasificacion.
Practica1 lenguajes de programacion. clasificacion.
 
1.1. historia del lenguaje de programacion
1.1. historia del lenguaje de programacion1.1. historia del lenguaje de programacion
1.1. historia del lenguaje de programacion
 
Lenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonLenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolon
 
Entidad relacion extendido resumen
Entidad relacion extendido resumenEntidad relacion extendido resumen
Entidad relacion extendido resumen
 
Perspectivas tecnológicas: Educación Superior en Iberoamérica 2012-2017
Perspectivas tecnológicas: Educación Superior en Iberoamérica 2012-2017Perspectivas tecnológicas: Educación Superior en Iberoamérica 2012-2017
Perspectivas tecnológicas: Educación Superior en Iberoamérica 2012-2017
 
Objetivos de la programación
Objetivos de la programaciónObjetivos de la programación
Objetivos de la programación
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Java ventajas y caracteristicas
Java ventajas y caracteristicasJava ventajas y caracteristicas
Java ventajas y caracteristicas
 
Plan didáctico anual de Informatica
Plan didáctico anual de InformaticaPlan didáctico anual de Informatica
Plan didáctico anual de Informatica
 
Clasificación de lenguajes
Clasificación de lenguajesClasificación de lenguajes
Clasificación de lenguajes
 
Lenguaje De Programacion
Lenguaje De ProgramacionLenguaje De Programacion
Lenguaje De Programacion
 
Programación Orientada a Objeto y Java
Programación Orientada a Objeto y JavaProgramación Orientada a Objeto y Java
Programación Orientada a Objeto y Java
 

Similar a Evolución y clasificación de los lenguajes de programación

Programación
ProgramaciónProgramación
Programación
dahir84
 
Introducción a la programación
Introducción a la programaciónIntroducción a la programación
Introducción a la programación
Cati Oliver
 
Unidad 05 la tecnología
Unidad 05   la tecnologíaUnidad 05   la tecnología
Unidad 05 la tecnología
Lorenzo Alejo
 

Similar a Evolución y clasificación de los lenguajes de programación (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
 
Herramientas
HerramientasHerramientas
Herramientas
 
Herramientas
HerramientasHerramientas
Herramientas
 
LENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACION
 
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
 
Programación
ProgramaciónProgramación
Programación
 
Clasificacion
ClasificacionClasificacion
Clasificacion
 
Introducción a la programación
Introducción a la programaciónIntroducción a la programación
Introducción a la programación
 
Ts101924450
Ts101924450Ts101924450
Ts101924450
 
BRANDON VELASQUEZ
BRANDON VELASQUEZBRANDON VELASQUEZ
BRANDON VELASQUEZ
 
Ts101924450
Ts101924450Ts101924450
Ts101924450
 
Taller saberes previos
Taller saberes previosTaller saberes previos
Taller saberes previos
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Programacion
ProgramacionProgramacion
Programacion
 
QUE ES PROGRAMACION DE SISTEMAS
QUE ES PROGRAMACION DE SISTEMASQUE ES PROGRAMACION DE SISTEMAS
QUE ES PROGRAMACION DE SISTEMAS
 
Programación (Informática) - Qué es, información, lenguajes.pdf
Programación (Informática) - Qué es, información, lenguajes.pdfProgramación (Informática) - Qué es, información, lenguajes.pdf
Programación (Informática) - Qué es, información, lenguajes.pdf
 
Unidad 05 la tecnología
Unidad 05   la tecnologíaUnidad 05   la tecnología
Unidad 05 la tecnología
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 

Último (6)

La busqueda de la relevancia en la economia (Harberger).pptx
La busqueda de la relevancia en la economia (Harberger).pptxLa busqueda de la relevancia en la economia (Harberger).pptx
La busqueda de la relevancia en la economia (Harberger).pptx
 
LAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdf
LAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdfLAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdf
LAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdf
 
477407774-EMBRIOLOGIA-DEL-SISTEMA-NERVIOSO.pptx
477407774-EMBRIOLOGIA-DEL-SISTEMA-NERVIOSO.pptx477407774-EMBRIOLOGIA-DEL-SISTEMA-NERVIOSO.pptx
477407774-EMBRIOLOGIA-DEL-SISTEMA-NERVIOSO.pptx
 
Vision de asignatura ESTRUCTURA DE DATOS.pptx
Vision de asignatura ESTRUCTURA DE DATOS.pptxVision de asignatura ESTRUCTURA DE DATOS.pptx
Vision de asignatura ESTRUCTURA DE DATOS.pptx
 
Mapa conceptual de el hardware y software
Mapa conceptual de el hardware y softwareMapa conceptual de el hardware y software
Mapa conceptual de el hardware y software
 
PRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdf
PRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdfPRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdf
PRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdf
 

Evolución y clasificación de los lenguajes de programación

  • 1. 1 OBJETIVO GENERAL “Conocer el proceso de evolución de los lenguajes de programación con el fin de poder identificarlos y clasificarlos según los datos obtenidos” OBJETIVOS ESPECÍFICOS 1. Indagar acerca del proceso de evolución de los lenguajes de programación. 2. Identificar los lenguajes de programación. 3. Reconocer cuáles son los cambios que han tenido los lenguajes de programación durante su evolución y clasificarlos según los datos obtenidos. 4. Definir y ejemplificar el paradigma de la programación orientada a aspectos.
  • 2. 2 INTRODUCCIÓN Durante varias décadas, los programadores han tenido que realizar su trabajo usando un lenguaje muy particular conocido como lenguaje máquina que, como su nombre lo indica, solamente puede ser interpretado por estas mismas. Este tipo de lenguaje era bastante propenso a hacer que los programadores cometieran errores ya que tenía cierto grado de complejidad en cuanto a la capacidad del entendimiento humano, sin tomar en cuenta que un programa escrito en tal lenguaje no puede ser ejecutado en otra máquina que no sea en la que se escribió dicho programa debido a que cada máquina dependía de su hardware para funcionar y por tanto ejecutar tales programas. Es por esto que al cabo de unos cuantos años más, se desarrolló un lenguaje conocido como ensamblador o también llamado lenguaje de nivel medio, el cual era mucho más fácil de manejar que el lenguaje máquina, evitando así tales errores a la hora de programar. Tiempo después surgen lo que se conoce como lenguajes de alto nivel que fue una innovación en la programación puesto que su sintaxis era bastante similar a la de los humanos. Todo este proceso de evolución hizo que los programas escritos sean mucho más legibles y fáciles de modificar. Ahora en este punto del tiempo han surgido los paradigmas de programación que son complementos elementales para los programadores. El paradigma de programación más utilizado en la actualidad es el Orientado a Objetos. Algunos de los lenguajes de programación de alto nivel se enfocan en un área específica, por ejemplo tenemos los empresariales, los de inteligencia artificial, los que crean aplicaciones para móviles, etc. Cada uno de estos lenguajes de alto nivel puede ser compilado o interpretado.
  • 3. 3 INDICE Contenido INDICE............................................................................................................................................ 3 EVOLUCIÓN Y CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓN..................................... 5 Según su nivel de abstracción................................................................................................... 5 Lenguaje máquina................................................................................................................. 5 Lenguaje ensamblador.......................................................................................................... 6 Lenguaje de alto nivel ........................................................................................................... 6 Según los niveles de programación........................................................................................... 8 Bajo nivel............................................................................................................................... 8 Alto nivel ............................................................................................................................... 8 Según su paradigma de programación.................................................................................... 10 1. Programación Orientada a Objetos................................................................................. 10 2. Programación Estructurada............................................................................................. 10 3. Programación Modular ................................................................................................... 11 5. Programación imperativa................................................................................................ 11 6. Programación Declarativa............................................................................................... 12 7. Programación Orientada a Aspectos............................................................................... 13 Según las generaciones de las computadoras ........................................................................ 14 1. Primera Generación ........................................................................................................ 14 2. Segunda Generación ....................................................................................................... 14 3. Tercera Generación......................................................................................................... 14 4. Cuarta Generación .......................................................................................................... 14 5. Quinta Generación .......................................................................................................... 15 Según su uso............................................................................................................................ 16 Cálculo Numérico ................................................................................................................ 16 Empresariales...................................................................................................................... 16 BASE DE DATOS................................................................................................................... 16 PÁGINAS DE INTERNET........................................................................................................ 16 SISTEMAS............................................................................................................................. 17 DESARROLLO DE APLICACIONES PARA DISPOSITIVOS MÓVILES (celulares):...................... 17 APLICACIONES PARA ESCRITORIO....................................................................................... 17 INTELIGENCIA ARTIFICIAL.................................................................................................... 17 Según su traducción................................................................................................................ 18 1. Lenguajes compilados ..................................................................................................... 18
  • 5. 5 EVOLUCIÓN Y CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓN Los lenguajes de programación han sufrido una serie de cambios durante su proceso de evolución. En la actualidad los lenguajes de programación se encuentran clasificados de muchas maneras. En este escrito procederemos a clasificar y analizar cada uno de los lenguajes de programación más destacados. Según su nivel de abstracción  Lenguaje máquina  Lenguaje ensamblador  Lenguaje de alto nivel En este apartado encontramos que desde los inicios, la programación ha tenido cierto cambio en cuanto al desarrollo de software. Este cambio está enfocado en la forma en cómo se realizaba este procedimiento. Lenguaje máquina El primer lenguaje que se empleó para programar fue el lenguaje máquina, el cual, como sabemos utilizaba el lenguaje binario para escribir las instrucciones que la computadora debía ejecutar para realizar su trabajo. Esta forma de programar era bastante lenta y muy propensa a tener errores, puesto que, este tipo de lenguaje no era común en el lenguaje humano y su comprensión requería tiempo. Además, este tipo de programación dependía bastante del hardware de la máquina con la que se esté trabajando, por ejemplo un programa escrito en una máquina de cierta marca y modelo no podía ser ejecutado en otra máquina de diferentes características. Las ventajas de este tipo de programación es que los programas al estar escritos directamente en el lenguaje que las computadoras entienden tienen la capacidad de ejecutarse rápidamente, aprovechando completamente los recursos de la máquina. Una desventaja podría ser que debido a que todo programa escrito en una computadora no puede ser ejecutado en otra, no se tiene la opción de portabilidad.
  • 6. 6 Lenguaje ensamblador Luego de haber pasado por muchos inconvenientes debido a la programación utilizando el lenguaje máquina surge un lenguaje conocido como ensamblador. Este nuevo lenguaje consistía en utilizar mnemotécnicos para escribir las instrucciones, lo cual facilitaba el trabajo del programador. Las ventajas están en que sus instrucciones eran expresadas en un lenguaje cercano al que el humano puede entender. Sin embargo, la tarea de programar sigue teniendo cierto grado de complejidad debido a que aún es un lenguaje más cercano al que pueden entender las máquinas que de los humanos. En estos casos el programador debía conocer las características de la computadora con la que iba a realizar su trabajo y por tanto había que hacer ciertos trabajos que dependían de la máquina como: ubicar los registros de memoria tal y como se lo hacía con el lenguaje máquina. Para poder ejecutar un programa escrito en lenguaje ensamblador primero era necesario realizar un proceso de traducción al lenguaje máquina que, como ya se lo ha dicho es el único lenguaje que entienden las computadoras. Este procedimiento se lo realiza con la ayuda de un programa traductor llamado “ensamblador”, igual al lenguaje con el que se está trabajando. Este programa lo que hace es traducir el código fuente escrito en lenguaje ensamblador a lenguaje máquina, convirtiendo una expresión en su equivalente en lenguaje máquina. El código escrito directamente en lenguaje ensamblador se denomina “código fuente” mientras que el programa traducido toma el nombre de “código objeto”, el cual será ejecutado por la computadora. Lenguaje de alto nivel Esta nueva forma de programar fue muy innovadora. Aquí las instrucciones ya eran más fáciles de manejar por el cerebro humano. Estas instrucciones que por lo general eran palabras en inglés, describían los procedimientos que deben ejecutar las computadoras. Una de las ventajas de esta nueva etapa de programación fue que los programas escritos ya no dependían del hardware de cada máquina. Los programas podían ya ejecutarse en cualquier computadora con muy pocas o incluso ninguna modificación a su
  • 7. 7 código fuente. Los programas en esta etapa ya se caracterizaban por ser portables. Una de las desventajas de este tipo de programación era de que como los programas eran más claros para el lenguaje humano que el de las máquinas su ejecución era más lenta por el motivo de que no se aprovechaban completamente los recursos de la computadora. Además estos programas pesaban mucho más que los programas escritos en lenguaje máquina y ensamblador por lo que al momento de su ejecución consumían gran cantidad de memoria. Para poder ejecutar un lenguaje de alto nivel era necesario pasar por un procedimiento de traducción. El programa que se utiliza para traducir este tipo de lenguajes es conocido como compilador y es el encargado de traducir un lenguaje de alto nivel a un lenguaje de bajo nivel. En la actualidad existen muchos lenguajes de programación de alto nivel y para cada uno de ellos existe un compilador diferente.
  • 8. 8 Según los niveles de programación Existen dos tipos de niveles por los que ha pasado la programación.  Bajo nivel  Alto nivel Bajo nivel Los lenguajes de bajo nivel son los que se encuentran un paso más adelante al lenguaje máquina y brinda sus beneficios a la hora de programar aunque con ciertos límites como la portabilidad. El lenguaje ensamblador es clasificado como un lenguaje de bajo nivel pues es más cercano al lenguaje máquina y cumple características similares. Alto nivel Desde la aparición de FORTRAN, el primer lenguaje de programación de alto nivel se han venido una serie de cambios en cuanto a la programación. Como ya sabemos la programación utilizando los lenguajes de alto nivel es mucho más fácil que con los lenguajes que se utilizaban antes (lenguaje máquina y ensamblador) y además de ello se han ido incorporando paradigmas que facilitan aún más este trabajo. Actualmente existen muchos lenguajes de alto nivel los cuales presentaremos a continuación. Entre los más destacados están:  FORTRAN  Java  Ada-95  Visual Basic.NET  Euclid  Lisp  Borland Delphi  Pascal  COBOL  PHP  PROLOG  Phyton  SmallTalk  Matlab
  • 9. 9  Eiffel  Perl  Power Builder  Modula  BASIC  SQL  ALGOL  C  C++  C#  Entre otros.
  • 10. 10 Según su paradigma de programación Muchos lenguajes de programación de alto nivel utilizan un paradigma de programación para un mejor desarrollo de software. La siguiente lista muestra los paradigmas de programación más utilizados: 1. Programación Orientada a Objetos 2. Programación Estructurada 3. Programación Modular 4. Programación Dinámica 5. Programación Imperativa 6. Programación Declarativa 6.1. Programación Lógica 6.2. Programación Funcional 7. Programación Orientada a Aspectos 1. Programación Orientada a Objetos La programación Orientada a Objetos es un paradigma de programación muy utilizado en la actualidad y es debido a que permite una representación de las entidades del mundo real a algo equivalente en lenguaje de programación denominado “objeto”.  SmallTalk  Java  Lisp  Simula  PHP  Ada  C++ 2. Programación Estructurada La programación estructurada consiste en el desarrollo de software utilizando subrutinas y tres estructuras de control que son: 1. Secuencial 2. Selectiva 3. Repetición
  • 11. 11 Algunos de los lenguajes que permiten aplicar la programación estructurada son los siguientes:  Java  ALGOL  Pascal  PL/1  Ada 3. Programación Modular La programación modular es considerada como la evolución de la programación estructurada y consiste en desarrollar software dividiendo el problema en problemas más pequeños los cuales pasarán a ser codificados como módulos independientes. Esto hace que los programas sean mucho más legibles y por lo tanto fáciles de manejar. Algunos de los lenguajes de programación que permiten esto son:  Java  Perl  Ruby  Modula 5. Programación imperativa Los lenguajes de programación imperativos son…  COBOL  C  Ada  BASIC  Pascal  FORTRAN  D  Perl  PHP  Lua  Java
  • 12. 12  Phyton  Go 6. Programación Declarativa La programación Declarativa se divide en:  Programación Lógica  Programación Funcional  Programación con restricciones  Programas DSL 6.1. Programación Lógica La Programación Lógica es un paradigma de programación enfocado en la parte lógica de los programas y gira en torno al concepto de predicado.  PROLOG 6.2. Programación Funcional Basado en el empleo de funciones aritméticas que no manejan datos propenso a mutaciones. Los programas en esta categoría son:  FORTH  Scheme  Haskell  Miranda  Rust  Erlang  Objective Caml  Perl  JavaScript  Java  Phyton  Entre otros
  • 13. 13 7. Programación Orientada a Aspectos La programación Orientada a Aspectos es una extensión de la programación Orientada a Objetos, en otras palabras, es un complemento de esta misma. Tiene un enfoque estructurado: que son los procedimientos o también conocidos como acciones. Además tiene un enfoque orientado a objetos: que son los datos que se encuentran encapsulados en una determinada clase. Un aspecto es definido como una unidad modular que vendría a ser la base de la programación orientada a aspectos y que se disemina por la estructura de otras unidades funcionales. Todo aspecto tiene un propósito definido, este es el trabajo que ellos deben de hacer. El trabajo del cual está encargado un aspecto es denominado “advice”. El programa orientado a aspectos está formado por tres bloques compactos. 1. Funcionabilidad básica 2. Sincronización 3. Distribución En este caso la sincronización vendría a ser el aspecto 1 mientras que la distribución, el aspecto 2. Una de las ventajas de este nuevo paradigma de programación es que permite un diseño sistemático además de la reutilización de software. Una desventaja es que existen conceptos que no pueden encapsularse dentro de una función debido a que atraviesan todo el sistema o varias partes de él, como lo son: la sincronización, perfiles de seguridad o redes, manejo de errores, manejo de memoria, etc Los lenguajes de programación que soportan este paradigma son:  AspectJ
  • 14. 14 Según las generaciones de las computadoras Esta clasificación se la ha realizado de acuerdo a la evolución que han tenido las computadoras y los lenguajes de programación que se utilizaban para realizar el proceso de programación. Las generaciones de las computadoras se dividen en: 1. Primera Generación 2. Segunda Generación 3. Tercera Generación 4. Cuarta Generación 5. Quinta Generación 1. Primera Generación  Lenguaje máquina  Lenguaje ensamblador 2. Segunda Generación Lenguajes de programación de alto nivel. Paradigma de programación imperativo.  FORTRAN  COBOL 3. Tercera Generación Por lo general son los lenguajes de programación de alto nivel más utilizados y que utilizan el paradigma de programación imperativo.  ALGOL  PL/1  Pascal  Modula 4. Cuarta Generación Son los lenguajes de programación más utilizados en aplicaciones de gestión (administrar) y el manejo de bases de datos.  SQL  NATURAL
  • 15. 15 5. Quinta Generación Estos lenguajes de programación son aplicados en el manejo de la inteligencia artificial.  Lisp  PROLOG  OPS5
  • 16. 16 Según su uso La siguiente clasificación es de acuerdo al uso que se hace de los lenguajes de programación de alto nivel en las diferentes áreas de trabajo. Cálculo Numérico  FORTRAN  R  Matlab  Mathematicas  APL  ALGOL Empresariales  COBOL  Natural  SQL  RPG BASE DE DATOS  SQL  CLIPPER  ACCESS  Delphi  Dbase PÁGINAS DE INTERNET  Lingo  Java  HTML  JavaScript  PHP  ASP  ASP.NET  JSP  Phyton  Ruby  Entre otros
  • 17. 17 SISTEMAS  C  C++  Ada  Ensamblador DESARROLLO DE APLICACIONES PARA DISPOSITIVOS MÓVILES (celulares):  App Inventor  Java  Live Code  JavaScript  Objetive C  Phyton  Ruby  Basic 4 Android  HTML 5  Lua APLICACIONES PARA ESCRITORIO INTELIGENCIA ARTIFICIAL  Lisp  PROLOG  OPS5
  • 18. 18 Según su traducción La clasificación según su traducción se divide en: 1. Lenguajes compilados 2. Lenguajes interpretados 1. Lenguajes compilados Los lenguajes compilados son aquellos que necesitan un proceso de traducción previo a la ejecución del programa escrito en un determinado lenguaje. Este proceso por lo general traduce un lenguaje de alto nivel a uno de bajo nivel para que así la máquina pueda entender dichas instrucciones y poderlas ejecutar sin problemas. Algunos de los lenguajes que necesitan ser compilados para su ejecución:  Pascal  FORTRAN  COBOL  FLOWMATIC  C  C++  Delphi  Eiffel  D  FORTH  Haskell  Go  BASIC  Java(compilado a bytecode)  Entre otros 2. Lenguajes interpretados Los lenguajes interpretes por lo general son traductores de un lenguaje de alto nivel a uno de bajo nivel y luego de su respectiva traducción son ejecutados, tal es el caso del lenguaje Java el cual luego de ser compilado a un lenguaje intermedio, conocido como bytecode necesita de su máquina virtual para que ese bytecode sea
  • 19. 19 traducido línea a línea según se vaya ejecutando el programa en tiempo real. Algunos de los lenguajes interpretados son:  BASIC  Logo  Java  SHORT CODE  Phyton  APL  J  ECMAScript  JavaScript  Matlab  FORTH  Perl  PHP  PostScript  Ruby  REXX  Lisp  Entre otros