Geek Electrónica

Explicaciones, tutoriales y noticias sobre electrónica y tecnología en general

Programación

¿QUÉ ES UN LENGUAJE DE PROGRAMACIÓN?

Un lenguaje de programación es básicamente un lenguaje estructurado que tiene como fin el desarrollo de programas informáticos para controlar procesos físicos o lógicos de una computadora.

Sin embargo, de acuerdo a esta definición ahora se presenta otra pregunta:

¿Qué es un lenguaje?

Un lenguaje se entiende como un sistema de comunicación entre dos partes, que está compuesto por símbolos y reglas que estructuran y garantizan que el proceso de comunicación se lleve a cabo de una forma eficaz y eficiente.

Dentro de las tantas reglas que componen y estructuran a los lenguajes, se encuentran la semántica y la sintaxis, entendiendo a cada una de ellas de la siguiente forma:

Semántica: se refiere al significado que tienen los símbolos o palabras que conforman al lenguaje que se está utilizando.

Sintaxis: se refiere al orden que tienen o en el que se deben expresar los elementos del lenguaje.

Para llevar a cabo un proceso de comunicación efectivo  eficiente en cualquier lenguaje, es necesario cumplir con las reglas básicas de semántica y sintaxis.

Pero, ¿Qué tienen que ver la semántica y la sintaxis con la programación?

Al igual que los diferentes lenguajes que son utilizados a diario para llevar a cabo procesos de comunicación entre personas. En los lenguajes de programación, donde se lleva a cabo un proceso de comunicación entre una persona (programador) y una máquina, también se encuentran presentes la semántica y la sintaxis.

Cada palabra que se utiliza para dar una instrucción en un lenguaje de programación, tiene un significado, una función, una razón de uso, esto es SEMÁNTICA.

Por otra parte las instrucciones que el programador le da a la maquina por medio de los códigos de programación, tienen una forma específica de ser escrita, tienen que ser escritas en un orden adecuado o de lo contrario la instrucción no podrá ser llevada a cabo, esto es SINTAXIS.

¿Qué tipos de lenguaje de programación existen?

En la actualidad existen más de cien lenguajes de programación, muchos de ellos en desuso, sin embargo la cantidad es grandísima, por lo cual se hace necesario clasificarlos. Existen diferentes formas de clasificar lenguajes de programación entre las cuales se encuentran:

Clasificación por nivel de programación:

Algunos lenguajes de programación se encuentran más cercanos al nivel de la máquina, a la forma en la que llevan a cabo los procesos y otros se encuentran más cercanos al entendimiento de la máquina, teniendo en cuenta esto se presentan los lenguajes de programación de bajo nivel y los de alto nivel.

Lenguajes de bajo nivel: Estos lenguajes están más cercanos a la forma en la que la maquina lleva a cabo los procesos, en ellos se suele describir de forma detallada el recorrido que debe llevar el dato a través de los registros del procesador, por decirlo de alguna forma, estos lenguajes están orientados a que la maquina “entienda” más fácil (es claro que las maquinas no entienden, procesan información).

Ejemplo de estos tipos de lenguaje son los distintos lenguajes ensamblador (Assembler).

Lenguajes de alto nivel: Para el caso de los lenguajes de programación de alto nivel, su semántica y sintaxis están orientadas al fácil entendimiento por parte del programador, estos lenguajes procuran que su estructura sea lo más parecida a un lenguaje natural y a la forma en la que el programador lleva a cabo los procesos en la vida cotidiana.

Ejemplo de estos tipos de lenguaje de programación son C, C++, C#, Java, PHP, Python, entre otros. La mayoría de lenguajes de programación desarrollados en los últimos años son lenguajes de alto nivel.

Clasificación por paradigma de programación:

Si se entiende un paradigma de programación como una forma o un conjunto de reglas utilizadas para llevar a cabo ciertos procesos, en el área de programación existen distintos paradigmas de programación (distintas formas de programar), teniendo en cuenta los distintos paradigmas existentes también se pueden clasificar los lenguajes de programación.

Programación estructurada: En esta categoría se encuentran los distintos lenguajes de programación utilizados para programar por medio del paradigma de programación estructurada. Dentro de estos lenguajes se encuentra C, C++, C#, Java, Python, entre otros.

Programación orientada a objetos: La POO o programación orientada a objetos, es otro paradigma de programación. Este  es uno de los paradigmas más utilizados en la actualidad, dentro de los lenguajes con los que se pueden programar utilizando la POO, se encuentran C++, C#, Java, Python, entre otros.

Programación gráfica: Otra forma de programar es mediante instrucciones gráficas, en este paradigma la cantidad de código escrito por parte del programador es nula o prácticamente nula en la mayoría de los casos, lo cual puede llegar a representar una simplificación en las tareas del programador. Este tipo de programación se encuentra disponible generalmente dentro de entornos de programación entre los cuales se podrían mencionar LabView, App Inventor, Scratch, entre otros.

Descripción de hardware: Estos tipos de lenguajes de programación buscan describir la estructura o el comportamiento lógico de un hardware en específico, por lo tanto son utilizados para su implementación directo en hardware, generalmente en dispositivos electrónicos como las FPGA. Algunos ejemplos de este tipo de lenguajes son Verilog y VHDL.

Para terminar es importante aclarar que como ya se mencionó, existe una gran cantidad de lenguajes de programación y distintas formas de clasificarlos, sin embargo en la actualidad existen lenguajes que son más utilizados que otros. Por esta razón, en Geek Electrónica se van a presentar una serie de cursos de diferentes lenguajes de programación que irán avanzando poco a poco.

El primer curso básico de programación que empezara en nuestras próximas publicaciones es el de lenguaje C++, espero que sea del agrado de todos ustedes.

Iván Cuadros Acosta

Licenciado en Electrónica y Master en desarrollo de aplicaciones móviles con experiencia en docencia universitaria. Apasionado por la electrónica y la programación.