Definición de lenguaje de programación
Un lenguaje de programación es un conjunto de órdenes y algoritmos escritos en forma de líneas de código las cuales le permiten al programador controlar física y lógicamente el comportamiento de un ordenador. Se le denomina programación a la creación de un programa de ordenador. Un programa consiste en una cadena de estas instrucciones más un conjunto de datos sobre el cual se trabaja¿Cuáles son los tipos de lenguaje de programación que existen?
Lenguajes de programación de bajo nivel
¿Que es un lenguaje de bajo nivel?
Los lenguajes de bajo nivel (1950-1960) son aquellos que trabajan más cerca del hardware del equipo y son la evolución del lenguaje máquina. Son mucho más intuitivos, pero todavía sigue siendo complicado desenvolverse en ellos.Los lenguajes de bajo nivel son diseñados para unas características hardware específicas, por lo que es imposible llevarlas a otro ordenador con características físicas distintas sin hacer una previa modificación (generalmente el código tiene que ser reescrito completamente).
De menor a mayor podemos clasificar los lenguajes de bajo nivel según la proximidad que tengan con el hardware de la siguiente manera.
Tipos de lenguajes de bajo nivel
El lenguaje máquina fue el predecesor del resto de lenguajes de programación y es el que entiende directamente el ordenador. Este lenguaje se basa en la codificación binaria, el 0 y 1. el codificar en lenguaje de maquina es tremendamente complicado puesto que es muy poco intuitivo.
Lenguaje ensamblador
El lenguaje ensamblador: El lenguaje máquina evolucionó y surgió el lenguaje ensamblador. Las principales ventajas del lenguaje ensamblador son las siguientes:
Su código es más entendible que el del lenguaje máquina, puesto que utiliza palabras abreviadas en inglés (JMP= JUMP, MUL=MULTIPLY,etc).
Gracias a la anterior ventaja y a que no debe cargar librerías y otros recursos adicionales, estos programas no ocupan apenas memoria RAM y, por lo tanto, también se ejecutan más rápido.
Tanto el lenguaje ensamblador con el lenguaje máquina, al ser de bajo nivel, permiten hacer tareas que en los lenguajes de alto nivel no podrías hacer, o podrías hacerlo con algunas limitaciones.
Lenguajes de programación de alto nivel
¿Que es un lenguaje de alto nivel?
Los lenguajes de programación de alto nivel son mucho más fáciles de programar, puesto que se utiliza un lenguaje mucho más fácil de comprender y el programador no tiene que preocuparse por la parte física. Sin embargo, al mismo tiempo, los lenguajes de alto nivel limitan mucho al programador, puesto que no pueden explotar el equipo al completo.Otra ventaja del lenguaje de alto nivel es que puede adaptarse para llegar a funcionar en otros equipos, a diferencia de los lenguaje de programación de bajo nivel, los cuales son diseñados para las características de un equipo concreto.
Tipos de lenguajes de programación de alto nivel
Los lenguajes imperativos son aquellos que son capaces de crear programas cuyas instrucciones son ejecutadas por el ordenador una por una excepto con estructuras de control, como estructuras condicionales y bucles. La programación imperativa suele tener un código fácilmente comprensible, pero requieren una gran cantidad de lineas de código y no son para nada flexibles debido a la ya antes mencionada secuencialidad.
Ejemplos de lenguajes de programación imperativos
Fortran (1957): Este nombre proviene de FORmula TRANslator y fue el primer lenguaje de programación de alto nivel en dar a luz. Actualmente se encuentra en la versión FORTRAN 90 y hoy en día sigue siendo ampliamente utilizado en campos como la ingeniería.
ALGOL (ALGorithmic Oriented Language): Este lenguaje nació a finales de 1950 y fue desarrollado con la interponiendo de ser un lenguaje autónomo a la máquina y que fuese capaz de corregir errores del ya antes mencionado Fortrán. No triunfó tanto como otros lenguajes de la época, pero fue muy estudiado en los 60s en las universidades.
ALGOL fue el primer le lenguaje de programación que utilizó los parámetros BEGIN y END para delimitar los bloques de declaraciones entre parentesis.
Hay tres estándares de este lenguaje de programación de alto nivel:
ALGOL 58 (conocida como la IAL, International Language Algorithmic)
ALGOL 60
ALGOL 68.
El ALGOL dio lugar a otros lenguajes de programación como Pascal, C y ADA.
C (entre 1969 y 1972): El lenguaje de programación C a sido el protagonista de muchos sistemas operativos, compiladores, bases de datos, etc. a lo largo de su existencia. Los tipos de datos en la programación de C son los números enteros (int), los caracteres (char) y los números reales o en coma flotante (float o double).
C fue diseñado para ser lo más ligero posible, pero sin dejar de ser eficiente. Otra de sus características es su un conjunto reducido de palabras clave necesarios para trabajar con C.
Lenguajes declarativos
Los lenguajes declarativos, a diferencia de los lenguajes imperativos, se centran más en los cálculos aritméticos y lógicos. En este tipo de lenguajes el código no trata de resolver un problema, sino que describe el problema que hay que resolver.
El lenguaje declarativo se divide en tres paradigmas: lenguajes lógicos, lenguaje algebraico y lenguaje funcional.
Lenguajes lógicos: Los lenguajes de programación lógicas son aquellas que plantean el problema a solucionar mediante la lógica y la deducción, de manera que la respuesta se pueda obtener de manera automática.
De esta manera, el software creado puede “razonar”.
Ejemplos de lenguajes de programación lógicos
Prolog (1972): Prolog fue el primer lenguaje lógico en ser creado. Se implementó a principios de los años setenta y consistia en declarar y definir reglas sobre objetos y relaciones para posteriormente hacer consultas.
Este lenguaje está compuesto principalmente por hechos (algo verdadero) y reglas (algo que es verdadero si se cumplen ciertas condiciones).
Algunas características de Prolog que lo distingue de otros lenguajes de programación, es que este lenguaje permite crear variables sin nombres , que no hay bucles y que las variables unicamente pueden tener un valor mientras se procede a lograr el objetivo.
Gödel: Gödel es un lenguaje de programación declarativo, de propósito general, adherido al paradigma de la programación lógica.
Se basa principalmente en módulos (con una gran cantidad de librerías predefinidas) y en tipos de datos enteros, racionales y número en coma flotante.
Lenguajes funcionales: Como su propio nombre indica, el lenguaje funcional es aquel en el que se utilizan principalmente funciones aritméticas. En este tipo de lenguaje de programación predominan los datos inmutables, es decir, en los que las variables no cambian.
Ejemplos de lenguajes de programación funcionales
Haskell (1990): Haskell es un lenguaje que empezó a ser estable en 1998.
La característica principal de este lenguaje de programación es que fue creado con intención de unificar las principales características de los lenguajes funcionales, como la evaluación perezosa, (la evaluación perezosa consiste en retrasar el cálculo de un fragmento de código hasta que sea necesaria su ejecución).
Haskell es capaz de trabajar tanto en aplicaciones numéricas como simbólicas.
Miranda (1985 – 1986): Miranda fue desarrollado entre los años 1985 y 1986 y fue el primer lenguaje con características no estrictas y puramente funcional en estar destinado a la comercialización.
Miranda comparte características muy similares a Haskell (como lazy evaluation, evaluación perezosa).
Los únicos tipos de datos que se utilizan en este lenguaje de programacion funcional son char, num, bool o nada. Los datos que aparecen en otros lenguajes son derivados de los ya antes mencionados (por ejemplo, una cadena de caracteres es un conjunto de variables char).
Lenguajes de programación orientada a objetos (POO)
El ultimo tipo de lenguaje de programación de alto nivel son los POO. Los lenguajes orientados a objetos son aquellos que crean programas mediante un conjunto de objetos los cuales cooperan entre ellos para realizar diferentes acciones. Dichos objetos contienen la información necesaria para combinarse entre ellos y hacer posible el objetivo a lograr.
Una característica que diferencia a los lenguajes de programación orientados a objetos son las clases. Las clases es un conjunto de variables, métodos y eventos que definen los datos comportamiento de un tipo.
Ejemplos de lenguajes orientados a objetos
ADA (1970) : Ada es un lenguaje de programación furtemente tipado de forma estática, multipropósito, orientado a objetos y concurrente. Entre sus compiladores más usados podemos encontrar GNAT.
Fue diseñado especialmente para ser un lenguaje seguro y reductor de errores, por ello tiene un tipado muy fuerte. Ada es especialmente utilizado en entornos donde se necesita mucha seguridad y fiabilidad.
Algunas de las características de Ada son:
Al ser un lenguaje case-insensitive (no sensible a las mayúsculas), da igual si utilizamos mayúsculas o minúsculas en identificadores y palabras clave.
Se utiliza END para terminar sentencias
Existen dos conceptos importantes en Ada. Los procedimientos son subrutinas que pueden modificar sus parámetros y las funciones son subrutinas que devuelven un determinado valor.
Python (1991): Python es un lenguaje multiparadigrama, ya que es un lenguaje POO, imperativo y también sirve para la programación funcional.
Otro objetivo de la programación en Python fue que se pretendió en todo momento que el codigo fuese lo más entendible posible. Esto permite que programar en python no sea muy difícil en comparación con otros lenguajes con una sintaxis menos legibles. Otro objetivo del lenguaje Python es proporcionar una facilidad de extensión.
Python es uno de los lenguajes de programación más usados en el desarrollo web
Espero que este artículo os haya dejado claro todos los conceptos que he tratado sobre los lenguajes de programación. Gracias por vuestra atención.
Este articulo es un contenido originial de Angel Acedo