Clasificación de los lenguajes de programación
Clasificación según el estilo de programación
De acuerdo con el estilo de programación, podemos clasificar los lenguajes en las siguientes categorÃas:
- Imperativos: Son aquellos lenguajes, que basan su funcionamiento en un conjunto de instrucciones secuenciales, las cuales, al ejecutarse, van alterando las regiones de memoria donde residen todos los valores de las variables involucradas en el problema que se plantea resolver. Es decir, se cambia progresivamente el estado del sistema, hasta alcanzar la solución del problema.
Como un ejemplo ilustrativo vamos a escribir un programa en un lenguaje de este tipo para calcular el factorial de un número positivo x.
READ(x); fac := 1 ; for i = 1 to x do { fac := fac * i ; } WRITELN(fac); |
- Declarativos: En este paradigma, más que el ¿cómo? desarrollar paso a paso un proceso, nos interesa el ¿qué? deseamos obtener a través del programa. Quizás el lenguaje declarativo que nos sea más familiar, es SQL, el cual es utilizado para interactuar con la información de bases de datos, concentrándose (como se podrá observar en el siguiente ejemplo), sólo en los resultados que van a ser obtenidos, dejándole al traductor la tarea de cómo llegar a ellos y presentárnoslos
SELECT * FROM alumnos WHERE sexo = "M" ORDER BY edad |
- Orientados a Objetos: Este último paradigma, como se puede observar en la figura 1, algunas veces se mezcla con alguno de los otros 2 modelos, sin embargo mantiene caracterÃsticas propias, que lo diferencian claramente. Los programas de este tipo, se concentran en los objetos que van a manipular, y no en la lógica requerida para manipularlos. Ejemplos de objetos pueden ser: estudiantes, coches, casas etc, cada uno de los cuales tendrá ciertas funciones (métodos) y ciertos valores que los identifican, teniendo además, la facultad de comunicarse entre ellos a través del paso de mensajes. Cabe mencionar con más detalle los elementos fundamentales que deben de poseer este tipo de lenguajes:
- Abstracción: Determinación de las caracterÃsticas de los objetos, que sirven para identificarlos y hacerlos diferentes a los demás.
- Encapsulamiento: Es el proceso que agrupa y almacena los elementos que definen la estructura y el comportamiento de una abstracción, en un mismo lugar.
- Modularidad: Es la propiedad de agrupar las abstracciones que guardan cierta relación lógica, y a la vez minimizar la interdependencia entre las diversas agrupaciones.
- JerarquÃa: Consiste en establecer un orden o una clasificación de las abstracciones.
Clasificación según el modo de traducción
Ahora bien, si tomamos como referencia las herramientas usadas en el proceso de traducción y ejecución de los programas - Programa Fuente : Escrito por el Programador
- Traductor : Programa que Logra el Entendimiento
- Programa Objeto : Es el que Entiende la Máquina
vamos a tener la siguiente clasificación de lenguajes:
- Lenguajes Ensamblados: Se refieren al lenguaje ensamblador, que viene a ser una representación simbólica de las instrucciones correspondientes al lenguaje ensamblador de alguna arquitectura especÃfica, con lo que, casi siempre, la correspondencia entre las instrucciones de este lenguaje, y las del lenguaje máquina son de 1 a 1, si bien existen algunas excepciones, que dan lugar a lo que se conoce como lenguajes macro-ensambladores.
- Lenguajes Compilados: Son aquellos, que son traducidos de un lenguaje de alto nivel (como FORTRAN o PASCAL) a lenguaje máquina o bien a lenguaje ensamblador, produciendo un programa objeto permanente.
- Lenguajes Interpretados: Estos lenguajes, tienen la particularidad, de que no producen código objeto, sino que cada instrucción es analizada y ejecutada a la vez, lo que ofrece mucha interacción con los usuarios, pero a la vez resultan ineficientes, cuando se desea ejecutar repetitivamente un programa.
- Lenguajes Preprocesados: Son lenguajes que son traducidos primeramente a un lenguaje intermedio de más bajo nivel, para posteriormente volverlos a traducir y producir el programa objeto. Este tipo de lenguajes fueron creados, con la idea de proporcionar un lenguaje más potente que el lenguaje intermedio, mediante la implementación de algunas macroinstrucciones.
Clasificación según el entorno de programación
Finalmente, existen otros conceptos tomados en cuenta para agrupar los lenguajes, que dan origen a diversas clasificaciones, entre los que destacan las siguientes:
- Lenguajes de cuarta generación 4GL: Estos lenguajes se distinguen por formar parte de un entorno de desarrollo, que comprende el manejador de una base de datos, y todo lo que de esto se deriva, como la administración de un diccionario de datos, el control de accesos, el manejo de la consistencia de la información y otras caracterÃsticas enfocadas a facilitar los programas de acceso y explotación de la información. Como ejemplos podemos citar a los 4 grandes: POSTGRE, SYSBASE, INFORMIX, y ORACLE.
- Lenguajes Visuales. Se les llama de esta manera a los lenguajes que forman parte de una aplicación dotada de una Interfase gráfica, la cual por medio de iconos y otras herramientas visuales y simbólicas, pretenden facilitar las tareas rutinarias de los programadores, como son el diseño y desarrollo de formularios e informes. Los ejemplos más comerciales de estos lenguajes son: VISUAL BASIC, VISUAL CAFE, VISUAL FOX, etc.
- Metalenguajes: Son lenguajes como XML, SGML y HTML que sirven para definir otros lenguajes, cuyo objetivo es llevar a cabo la estructuración de textos mediante un conjunto de etiquetas, de manera tal, que puedan ser entendidos por los humanos y también procesado por los ordenadores. Estos lenguajes están teniendo un gran auge sobre la plataforma de Internet, en la cual son usados para la creación de documentos, y el intercambio o transferencia de información.
- Lenguajes de propósito especÃfico: Son aquellos lenguajes desarrollados con la finalidad de resolver problemas de una naturaleza muy determinada, tal como SPSS para problemas estadÃsticos, MATLAB para cálculos cientÃficos y de ingenierÃa, CAD/CAM para el diseño de piezas y programación de máquinas de control numérico, como tornos y fresadoras, GPSS para simulación de sistemas, CORBA para el manejo de interfaces en ambientes cliente-servidor, etc.
- Lenguajes Script: Son lenguajes como JAVASCRIPT, VBSCRIPT o PHP, que se utilizan en ambientes clientes servidor, mediante la incrustación de código en las páginas HTML, y asà permitir la programación del lado del cliente, buscando fundamentalmente, hacer más atractivos los interfaces gráficos de las páginas.
Esta gran cantidad de lenguajes, señala de manera clara que existe un esfuerzo continuo en la creación, y mejora de los lenguajes de programación, en aras, de hacer más fácil la tarea del programador y/o hacer un uso más eficiente de los recursos computacionales. La búsqueda de los objetivos antes mencionados, asà como la guerra mercantil de las compañÃas dedicadas a la producción de herramientas de software, han diversificado las opciones que los programadores pueden elegir. Sin embargo, hasta nuestros dÃas, podemos decir que realmente no existe ningún lenguaje, o grupo de ellos, que destaque en la totalidad de las aplicaciones informáticas que se desarrollan actualmente, ya que cada uno, tiene cualidades que lo hacen más convenientes para algunos propósitos, pero al mismo tiempo, cuentan con inconvenientes para otros.
Referencia: [liga a="http://www.iesromerovargas.net/"]http://www.iesromerovargas.net
|