LENGUAJES DE PROGRAMACIÓN

¿Que son lenguajes de programación?

Un lenguaje de programación es un lenguaje formal (o artificial, es decir, un lenguaje con reglas gramaticales bien definidas) que le proporciona a una persona, en este caso el programador, la capacidad de escribir (o programar) una serie de instrucciones o secuencias de órdenes en forma de algoritmos con el fin de controlar el comportamiento físico o lógico de una computadora, de manera que se puedan obtener diversas clases de datos o ejecutar determinadas tareas. A todo este conjunto de órdenes escritas mediante un lenguaje de programación se le denomina programa.

¿Cómo funciona el lenguaje de programación?

La función principal de los lenguajes de programación es escribir programas que permiten la comunicación usuario-máquina. Unos programas especiales (compiladores o intérpretes) convierten las instrucciones escritas en código fuente, en instrucciones escritas en lenguaje máquina (0 y 1).

¿Dónde se utiliza el lenguaje de programación?

Se les utiliza en dispositivos móviles, televisores, fotocopiadoras y computadoras de escritorio. Está asociado al Java Script, que es otro tipo de lenguaje que crea pequeños programas encargados de realizar acciones dentro de sitios web, como crear movimientos y efectos que mejoran la interactividad con el usuario.

Clasificación de los lenguajes de programación Editar

Los lenguajes de programación han sido históricamente clasificados atendiendo a distintos criterios:


Clasificación histórica

A medida que surgian nuevos lenguajes que permitían nuevos estilos de programación más expresiva, se distinguieron dichos estilos en una serie de generaciones, cada una representando lenguajes de programación surgidos en una época similar y con características genéricas comunes.

Lenguajes de alto y de bajo nivel

Los lenguajes de programación se suelen clasificar dentro de dos amplias categorías que se refieren a su "nivel de abstracción", es decir, en cuanto a lo específico o general que es respecto a la arquitectura de computación inherente al sistema que se está utilizando.

Clasificación por paradigmas

Los paradigmas de programación distinguen distintos modelos de cómputo y de estilos de estructurar y organizar las tareas que debe realizar un programa. Un lenguaje de programación puede ofrecer soporte a uno o varios paradigmas de programación, total o parcialmente.

Clasificación por propósito

Se distinguen los lenguajes de programación de propósito general de aquellos de propósito específico.

Clasificación histórica o por generaciones 

Los equipos de ordenador (el hardware) han pasado por cuatro generaciones, de las que las tres primeras (ordenadores con válvulas, transistores y circuitos integrados) están muy claras, la cuarta (circuitos integrados a gran escala) es más discutible.


Algo parecido ha ocurrido con la programación de los ordenadores (el software), que se realiza en lenguajes que suelen clasificarse en cinco generaciones, de las que las tres primeras son evidentes, mientras no todo el mundo está de acuerdo en las otras dos. Estas generaciones no coincidieron exactamente en el tiempo con las de hardware, pero sí de forma aproximada, y son las siguientes:


Primera generación: los primeros ordenadores se programaban directamente en código de máquina (basado en sistema binario), que puede representarse mediante secuencias de 0 y 1. No obstante, cada modelo de ordenador tiene su propia estructura interna a la hora de programarse. A estos lenguajes se les denominaba Lenguaje de bajo nivel, porque sus instrucciones ejercen un control directo sobre el hardware y están condicionados por la estructura física de las computadoras que lo soportan. Dado que este tipo de lenguaje se acerca mucho más a la lógica de la máquina que a la humana, es mucho más complicado programar con él. El uso de la palabra bajo en su denominación no implica que el lenguaje sea menos potente que un lenguaje de alto nivel, sino que se refiere a la reducida abstracción entre el lenguaje y el hardware. Por ejemplo, se utiliza este tipo de lenguajes para programar tareas críticas de los sistemas operativos, de aplicaciones en tiempo real o controladores de dispositivos. Otra limitación de estos lenguajes es que se requiere de ciertos conocimientos de programación para realizar las secuencias de instrucciones lógicas.

Segunda generación: los lenguajes simbólicos, asimismo propios de la máquina, simplifican la escritura de las instrucciones y las hacen más legibles. Se refiere al lenguaje ensamblador ensamblado a través de un macroensamblador. Es el lenguaje de máquina combinado con una serie de poderosas macros que permiten declarar estructuras de datos y de control complejas.

Tercera generación: los lenguajes de alto nivel sustituyen las instrucciones simbólicas por códigos independientes de la máquina, parecidas al lenguaje humano o al de las Matemáticas. Se crearon para que el usuario común pudiese solucionar un problema de procesamiento de datos de una manera más fácil y rápida. Son usados en ámbitos computacionales donde se logra un alto rendimiento con respecto a lenguajes de generaciones anteriores. Entre ellos se encuentran C, Fortran, Smalltalk, Ada, C++, C#, Cobol, Delphi, Java y PHP, entre otros. Algunos de estos lenguajes pueden ser de propósito general, es decir, que el lenguaje no está enfocado a una única especialidad, sino que puede usarse para crear todo tipo de programas. Para ciertas tareas más comunes, existen bibliotecas para facilitar la programación que permiten la reutilización de código.

Cuarta generación: se ha dado este nombre a ciertas herramientas que permiten construir aplicaciones sencillas combinando piezas prefabricadas. Hoy se piensa que estas herramientas no son, propiamente hablando, lenguajes. Cabe mencionar que, algunos proponen reservar el nombre de cuarta generación para la programación orientada a objetos. Estos últimos tienen una estructura muy parecida al idioma inglés. Algunas de sus características son: acceso a base de datos, capacidades gráficas, generación de código automáticamente, así como poder programar visualmente (como por ejemplo Visual Basic o SQL). Entre sus ventajas se cuenta una mayor productividad y menor agotamiento del programador, así como menor concentración por su parte, ya que las herramientas proporcionadas incluyen secuencias de instrucciones. El nivel de concentración que se requiere es menor, ya que algunas instrucciones, que le son dadas a las herramientas, a su vez, engloban secuencias de instrucciones a otro nivel dentro de la herramienta. Cuando hay que dar mantenimiento a los programas previamente elaborados, es menos complicado por requerir menor nivel de concentración. Por otro lado, sus desventajas consisten en que estas herramientas prefabricadas son generalmente menos flexibles que las instrucciones directas en los lenguajes de bajo nivel. Además, se suelen crear dependencias con uno o varios proveedores externos, lo que se traduce en pérdida de autonomía. Asimismo, es frecuente que dichas herramientas prefabricadas contengan librerías de otros proveedores, que conlleva instalar opciones adicionales que son consideradas opcionales. A menos que existan acuerdos con otros proveedores, son programas que se ejecutan únicamente con el lenguaje que lo creó. Tampoco suelen cumplir con los estándares internacionales ISO y ANSI, lo cual conlleva un riesgo futuro por desconocerse su tiempo de permanencia en el mercado. Algunos ejemplos son: NATURAL y PL/SQL.

Quinta generación: en ocasiones se llama así a los lenguajes de inteligencia artificial, aunque con el fracaso del proyecto japonés de la quinta generación esta denominación ha caído en desuso.
















Comentarios

Entradas más populares de este blog