Conoce los diferentes tipos de lenguajes de programación, su historia, ejemplos y algunos de los más populares utilizados por los desarrolladores.

Desde su aparición, estos lenguajes han servido para programar los chips de computadora, los teléfonos móviles y diferentes dispositivos electrónicos.

Sin embargo, escribir código que pueda ser entendido por el procesador (código máquina) no siempre fue fácil.

No sería hasta la llegada de los lenguajes de alto nivel (comprensibles por los humanos) en que ya no era necesario escribir en binario para darle instrucciones al ordenador.

Historia

En 1936, el alemán Konrad Zuse empezó la construcción de la Z1, la primera computadora programable del mundo. Esto lo llevó a crear, entre 1942 y 1945, el primer lenguaje de programación de alto nivel: Plankalkül, diseñado exclusivamente para la Z1. Sin embargo, este no fue publicado hasta 1992.

Por ello, desde la aparición de las primeras computadoras comerciales entre 1950 y 1957, se utilizó los códigos binarios (lenguaje de primera generación) para su configuración/programación. El problema era que la configuración de una computadora no servía para otra.

Una de las mejoras para este código máquina (binario), fue la creación del lenguaje ensamblador. Sin embargo, pese a que evitaba tener que recordar códigos numéricos, seguía siendo igual de complicado de escribir.

Grace Hopper

Grace Hopper, creadora de Flow-Matic

Fue entre 1952 y 1955, que la ex oficial de la Armada de Estados Unidos, Grace Hopper, comenzó a trabajar en una forma más fácil de configurar computadoras, proponiendo el lenguaje Flow-Matic. Considerado como el primer lenguaje de procesamiento de datos, Flow-Matic permitía escribir código mucho más rápido y los programas resultantes podían ejecutarse en diferentes máquinas.

Pero no sería hasta 1957 que IBM y un equipo liderado por John Backus desarrollaron el primer lenguaje de programación comercial: FORTRAN. Este lenguaje contaba con un compilador que convertía las líneas de FORTRAN en código Asembler, incluso mucho mejor que el que se podía escribir a mano.

Más tarde, en 1959, un consorcio de empresas y el gobierno de los Estados Unidos desarrollaran COBOL. Basado en Flow-Matic, COBOL tenía como objetivo ser un lenguaje de programación universal compatible con cualquier computadora.

Después de esto, empezaron a crearse los demás lenguajes de alto nivel. Lisp, para el procesamiento de listas; SnoBol, para el procesamiento de cadenas; Algol, que influyó en la creación de lenguajes como C y Pascal; Basic, creado originalmente como una herramienta de enseñanza; y más tarde Java, uno de los más populares a día de hoy.

¿Qué es un lenguaje de programación?

Básicamente, un lenguaje de programación es el medio para darle instrucciones a la computadora y hacer que haga aquello que tú quieras.

Los ordenadores tienen millones de interruptores que están encendidos (1) o bien apagados (0). Así, puedes darle instrucciones al computador por medio de bits (cadenas de 0s y 1s). Sin embargo, esto resulta demasiado complejo.

Mira también:  21 gestores y lenguajes de base de datos más usados en la actualidad

Por ello se crearon los lenguajes de programación, para escribir código legible que será traducido al lenguaje máquina (binario). Es decir, para que sean intermediarios entre los desarrolladores y el hardware.

Lenguajes de programación

Lenguajes de Programación – Imagen: Hr.hanafi, lenguaje de programación, CC BY-SA 3.0

De esta manera, mientras que para comunicarte con las personas utilizas idiomas como el inglés o español, para comunicarte con las máquinas utilizas los lenguajes de programación (de tipo humano).

A diferencia del lenguaje natural que tiene muchas ambigüedades, los lenguajes de programación son concisos y claros, con propiedades matemáticas y significados bien definidos.

Tipos de lenguajes de programación

Existen diferentes lenguajes de programación, los cuales están clasificados según su proximidad al hardware o al usuario.

Tipos de lenguajes de programación

Tipos de lenguajes de programación

En ese sentido, y aunque no hay una clasificación exacta, existen dos tipos de lenguajes de programación: bajo nivel y alto nivel. Aunque, para algunos, existe también el lenguaje de medio nivel.

Lenguaje de bajo nivelLenguaje de alto nivel
Gestión de memoria directa.Necesitan ser interpretados o compilados.
Dependen del hardware.Son independientes del hardware.
Ejecución más rápida.Menor rendimiento.
Excelente rendimiento pero difícil de escribir.Sintaxis flexible y fácil de leer.
Poco apoyo y difíciles de aprender.Gran comunidad detrás.

1. Lenguajes de bajo nivel

Los lenguajes de bajo nivel son aquellos que están más próximos al lenguaje de máquina (de ceros y unos). Es decir, tienen un control directo sobre el hardware.

A diferencia de los lenguajes de alto nivel, no necesitan compiladores. Se ejecutan directamente en el procesador y dependen de la arquitectura del hardware.

Los programas que se crean con estos lenguajes de bajo nivel dependen totalmente del hardware. Por esta razón, no se pueden migrar o utilizar en otras máquinas.

Además, pese a que aprovechan mejor las características del hardware, son los tipos de lenguajes más difíciles de entender y aprender.

Existen dos tipos de lenguajes de bajo nivel: máquina y ensamblador.

Lenguaje de máquina

Es aquel que es interpretado directamente por el procesador, por lo que su ejecución es mucho más rápida.

El lenguaje máquina consta de cadenas de números binarios (0s y 1s), razón por la que programar en este lenguaje es una tarea bastante tediosa que requiere una mayor cantidad de tiempo.

Los programas escritos en este lenguaje no necesitan ser traducidos, pues es el único que el procesador entiende directamente.

Además, pese a que hacen un uso eficiente de la memoria, encontrar un fallo en el lenguaje de máquina es una tarea casi imposible.

Lenguaje de máquina

Lenguaje de máquina

Lenguaje ensamblador

El lenguaje ensamblador (assembler o asm) no es más que códigos mnemotécnicos (abreviaturas de letras y números) de las instrucciones máquina (binario). Por tanto, los programas escritos en ensamblador se traducen a código máquina de forma inmediata.

Este lenguaje de bajo nivel depende estrictamente del tipo de procesador utilizado. Por tanto, programar en ensamblador requiere conocer, en forma detallada, las especificaciones del hardware.

De igual forma, el software escrito en este lenguaje resulta ser poco o nada portable. Aunque, como ventaja, ocupa menos memoria, es más fácil de depurar y su código fuente resulta ser más corto.

Lenguaje ensamblador

Lenguaje ensamblador – Imagen: Android Authority

2. Lenguajes de alto nivel

Los lenguajes de alto nivel están más próximos al lenguaje humano y más alejados de la máquina. Por tanto, resultan más fáciles de entender y son más flexibles a la hora de programar.

Mira también:  Los 7 mejores IDE para programar en Java

Este tipo de lenguaje de programación es traducido al lenguaje máquina mediante un intérprete o compilador.

Al ser independientes del hardware, los programas escritos en estos lenguajes de alto nivel pueden ejecutarse en diferentes plataformas (Windows, Linux, etc.).

A diferencia de los lenguajes de bajo nivel, permiten utilizar paradigmas de programación, suelen usar tipos de datos, toman menos tiempo para escribir y los errores son más fáciles de encontrar y corregir.

Además, tienen la ventaja de generar código más sencillo (palabras reservadas generalmente en inglés) y comprensible para diversas máquinas y sistemas operativos.

Lenguajes de alto nivel

Lenguajes de alto nivel – Imagen: makeitreal.camp

Al haber una gran cantidad de lenguajes de alto nivel, su clasificación es muy diversa. Aquí vamos a señalar dos tipos de lenguajes de alto nivel: lenguajes compilados e interpretados.

Compilados

Los lenguajes compilados son aquellos que son traducidos al lenguaje de máquina (cadenas de bits) de una sola vez. Por tanto, cada modificación que realices en el código fuente requiere volver a compilar (traducir a código máquina) todo.

Sin embargo, hay algunos lenguajes como Java que primero compilan a bytecode (un código intermedio) y luego es interpretado a máquina.

En contraste con los lenguajes interpretados, los programas escritos en un lenguaje compilado tienen un rendimiento ligeramente superior y están optimizados para su ejecución.

Ejemplos: C, C++, Ada, ALGOL, Delphi, Fortran, Java, Lisp, Pascal, Perl, Go, Scala, Swift, Rust, entre otros.

Lenguajes compilados

Lenguajes compilados – Imagen: overiq.com

Interpretados

Los lenguajes interpretados son traducidos, instrucción por instrucción, al lenguaje máquina. Es decir, empieza por la primera línea de código, pasa a la siguiente y así hasta traducir todo el código.

Este tipo de lenguaje de alto nivel facilita las cosas al programador, ya que el código es convertido a máquina a medida que es ejecutado. Sin embargo, son más lentos que los lenguaje compilados.

La ventaja es que no dependen de la máquina donde se ejecuta el intérprete.

Ejemplos: Ruby, Python, JavaScript, PHP, VBScript, etc.

Lenguajes interpretados

Lenguajes interpretados – Imagen: overiq.com

Ejemplos de lenguajes de programación

Existen varios lenguajes de programación, creados para distintos fines. Incluso, empresas como Facebook y Google han creado sus propios lenguajes.

Aquí veremos algunos ejemplos de lenguajes de programación y sus características, tanto de propósito general como de propósito específico.

Los ejemplos mostrados a continuación imprimen el mensaje “Hello World” al ejecutarse.

Máquina:

Se trata del lenguaje de bajo nivel que entiende el procesador y que consta de cadenas de bits.

Código máquina

“Hello world” en código máquina

Ensamblador:

Es el lenguaje legible por los humanos pero tan difícil de escribir como el lenguaje máquina. Se encuentra en sistemas operativos y motores de juegos 3D.

código ensamblador

“Hello World” en código ensamblador

ALGOL:

Desarrollado por científicos informáticos en la década de 1950, ALGOL (lenguaje algorítmico) es contemporáneo de otros lenguajes como FORTRAN, Lisp y COBOL. Su sintaxis y estructura influyó en la creación de otros lenguajes como C, Pascal y Ada.

ALGOL

“Hello World” en ALGOL

Bash (Unix Shell):

Mira también:  Los 7 mejores IDE para programar en Java

Este lenguaje de scripting es utilizado para administrar sistemas Linux y Unix mediante línea de comandos.

Hola mundo en bash

“Hello World” en Bash

Java:

Creado a principios de los 90, Java es una lenguaje orientado a objetos que puede ejecutarse en cualquier sistema operativo. Es también el lenguaje utilizado para crear aplicaciones de Android.

Hola mundo en Java

“Hello World” en Java

C:

C es un lenguaje estructurado que puede ser compilado en múltiples plataformas. Es el lenguaje utilizado para la construcción de los sistemas operativos Windows, Mac OS X, iOS y Android.

Lenguaje C

“Hello World” en C

C++:

C++ encapsula las características del lenguaje de alto y bajo nivel. Es utilizado para construir todo tipo de aplicaciones y es muy similar a C.

C++

“Hello World” en C++

C#:

Se trata de un lenguaje de programación multipropósito desarrollado por Microsoft para utilizarse en sus plataformas. Destaca por su facilidad de uso, rapidez y fácil de mantener.

Ejemplo de C#

“Hello World” en C#

Go:

Creado por Google, Go es un lenguaje de código abierto sencillo, confiable y eficiente. A pesar de ser un lenguaje compilado, se siente como un lenguaje interpretado de forma dinámica.

Lenguaje Go

“Hello World” en Go

Javascript:

Javascript es el lenguaje de programación web utilizado para crear sitios web interactivos. Es también el lenguaje más utilizado por los desarrolladores en GitHub y presente en la mayoría de sitios web como Facebook o Twitter.

Javascript ejemplo

“Hello World” en Javascript

PHP:

PHP es un lenguaje interpretado que se ejecuta del lado del servidor. Es utilizado para construir el backend de sitios web, desde blogs hasta los sitios más populares del mundo.

Hola mundo en PHP

“Hello World” en PHP

Python:

Este lenguaje interpretado, creado a principios de 1990, permite la creación de todo tipo de aplicaciones. Python destaca por su sintaxis simple, de allí que sea uno de los lenguajes ideales para aprender programación.

código Python

“Hello World” en Python

Swift:

Se trata del lenguaje de programación creado por Apple y que busca reemplazar a Objective-C. Con una sintaxis concisa pero expresiva, Swift es un lenguaje de programación rápido, seguro e interactivo.

código swift

“Hello World” en Swift

Ruby:

Ruby es un lenguaje muy popular para crear sitios web, siendo utilizado por empresas como Twitch y Airbnb. Con una sintaxis fácil de leer y escribir, Ruby puede ejecutarse en una variedad de plataformas como Windows, Mac OS y UNIX.

código ruby

“Hello World” en Ruby

Scratch:

Scratch es un lenguaje de programación visual utilizado en las escuelas para introducir a los niños en la programación. A diferencia de otros lenguajes, no necesitas escribir código; el código se genera conforme arrastras y sueltas bloques.

código scratch

“Hello World” en Scratch

Lenguajes más utilizados

Las tendencias con respecto a los lenguajes de programación han ido cambiado. Si antes era Java el lenguaje más utilizado, ahora lo es Javascript.

Esta es una lista de los lenguajes de programación más usados en la plataforma Github:

  1. JavaScript: el lenguaje para la web utilizado junto con HTML.
  2. Python: uno de los lenguajes de programación que usan los hackers, utiliza para crear aplicaciones web y scripts.
  3. Java: uno de los lenguajes más conocidos orientado a objetos que necesita de la JVM para su ejecución.
  4. Ruby: de código abierto, Ruby está enfocado en la simplicidad y productividad.
  5. Go: el lenguaje de Google inspirado en la sintaxis de C.
  6. PHP: orientado al desarrollo web.
  7. C++: una extensión de C, pero con características más avanzadas.
  8. C: lenguaje de programación de propósito general con acceso de bajo nivel a la memoria.
  9. TypeScript: desarrollado por Microsoft, TypeScript es un lenguaje que se compila a un JavaScript simple.
  10. C#: otro lenguaje de Microsoft que forma parte de su plataforma .NET.

Fuentes: Universidad Estatal de IowaTyroCity, ExcelwithBusiness, Educba