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

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

  • 1.
    1 OBJETIVO GENERAL “Conocer elproceso 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 YCLASIFICACIÓ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.
  • 5.
    5 EVOLUCIÓN Y CLASIFICACIÓNDE 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 dehaber 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. Losprogramas 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 nivelesde 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 paradigmade 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 loslenguajes 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 Orientadaa 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 generacionesde 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 Estoslenguajes de programación son aplicados en el manejo de la inteligencia artificial.  Lisp  PROLOG  OPS5
  • 16.
    16 Según su uso Lasiguiente 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 Laclasificació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 alí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