CLASIFICACION DE LOS LENGUAJES DE PROGRAMACION


Hay varias formas de clasificar los lenguajes de programación, y una de ellas sería por la cercanía o lejanía a la máquina.

De este modo podemos distinguir tres tipos de lenguajes:

- Lenguajes de bajo nivel:
Son aquellos que se encuentran mas cerca de la máquina que del hombre. Esto significa que se acercan al lenguaje usado por el ordenador, ceros y unos. Por ejemplo: Ensamblador, Código máquina, etc...

- Lenguajes de medio nivel:
Se encuentran a medio camino de la máquina y el hombre. Aglutinan las instrucciones complejas a etiquetas o nombres y que están compuestas por instrucciones sencillas.

- Lenguajes de alto nivel:
La abstracción es mucho mayor, las instrucciones son muy complejas, estando mas cerca del entendimiento humano que de la máquina, y a diferencia del medio y bajo nivel son independientes de la plataforma.


Otra forma sería por su potencia:

-Primera Generación:
Lenguaje máquina, no requiere traducción alguna, el compilador es capaz de leerlo directamente.

- Segunda Generación:
Lenguaje ensamblador dependiente de la máquina, que requiere de una traducción, aunque esta es muy simple porque cada instrucción corresponde a un código solamente.

- Tercera Generación:
Lenguajes de alto nivel, están diseñados para ser usados por unos programadores profesionales y requieren especificaciones, con todas las posibles funciones, de cómo realizar una tarea. Estos requieren de un número grande de instrucciones con códigos que pueden ser difíciles de leer, entender, mantener y depurar. Están originalmente desarrollados para operaciones por lote y orientados a archivos. Requieren de traducción y cada instrucción es convertida a varias instrucciones de máquina. Con ellos el programador solo debe trabajar con el código fuente desarrollado por el y no al código objeto resultante.

- Cuarta Generación:
Lenguajes, más avanzados que los de alto nivel, que requieren la especificación de la tarea a realizar y es el mismo sistema el que determina cómo efectuarla. Ofrecen opciones predeterminadas que ya no se tienen que especificar lo que facilita que el programador no se enfrente a ningún código ya que siempre usa la interface. Requieren de traducción y cada instrucción es convertida en muchas instrucciones en lenguaje máquina. Los errores son fáciles de localizar.


También se podrían clasificar mediante su orientación:

- Programación orientada a eventos:
programación de aplicación que responde a las entradas del usuario (seleccionando menús, botones, formularios, etc...) o de otras aplicaciones a tiempos regulares.

- Programación orientada a procedimientos:
Método de programación que requiere de una disciplina como FORTRAN, COBOL, BASIC; C, Pascal y Xbase,. El programador escribe el código en cierto orden para resolver el problema, basado en sus conocimientos del proceso y de la programación. La aplicación resultante fuerza al usuario a seguir un camino predefinido desde el paso A al paso B. Un ejemplo típico es el ingreso de datos.

- Lenguaje orientado a problemas:
Lenguaje de computación diseñado para manejar un problema particular. Ejemplos: FORTRAN fue diseñado para ingeniería, COBOL para negocios y GPSS para simulaciones.

- Programación visual:
Programas basados en herramientas visuales como menús, botones, y cualquier elemento gráfico, que se puede seleccionar de una paleta, se arrastra y se suelta donde se desea sobre la pantalla. Esto también puede referirse a poder conseguir el código fuente interactuando con diagramas de flujo y gráficos lógicos asociados a códigos. Ej.: Visual BASIC, Visual FoxPRO, Visual C++...

- Programación Orientada a Objetos (POO):
Su objetivo es el aumentar la productividad del programador incrementando la extensibilidad y reutilizando el software, controlando la complejidad y el costo de mantenimiento. Ejemplos: C++, Turbo PASCAL, Power Builder...


y por último los podríamos clasificar por su aplicación:

- Científicos:
Son aquellos cuya aplicación mas inmediata es resolver problemas de cálculo. Históricamente son los primeros lenguajes evolucionados ya que la formulación matemática permite una fácil formación del lenguaje. Los primeros fueron el SHORT CODE, creado por el Dr. Mandy en 1949, para UNIVAC y el SPEED CODING desarrollado en 1953 por Backus y Saldon para IBM. Los mas usados: FORTRAN, PASCAL, BASIC, LOGO, y APL, pero antes de llegar ellos aparecieron otras como: MATH MATIC, UNICODE, IT, GAT y FORTRANSIT.

- De gestión:
Son lenguajes orientados a la solución de problemas de tratamiento de datos para la gestión, por lo que predominan las instrucciones dedicadas a procesar instrucciones de entrada y salida. El primero fue el FLOW-MATIC desarrollado en 1955 por el Dr. Hopper para UNIVAC. El lenguaje mas característico de entre los de gestión es el COBOL, seguido por el RPG-II.

- Polivalentes o aplicación general:
Son el resultado de intentar obtener un lenguaje que cubriera el área científica y la de gestión de forma equilibrada. El primero fue JOVIAL, desarrollado por la Strategic Air Control System. El mas conocido de estos lenguajes es el PL/1 creado en 1964. No obstante es obligatorio apuntar en esta parte que casi la totalidad de los lenguajes científicos han evolucionado hacia la gestión incluyendo entre sus estructuras otras extraídas de los lenguajes clásicos de gestión. De este modo, lenguajes como FORTRAN, PASCAL o BASIC pueden resolver cualquiera de los problemas de gestión, en principio vedados a estos lenguajes.

- Especiales:
Son lenguajes con algún propósito muy especifico, como lenguajes para expresiones algebraicas formales, lenguajes para manejo de archivos y bancos de datos o lenguajes para el control de maquinaria, equipos y herramientas.