QUE ES UN LENGUAJE DE PROGRAMACION

 

El lenguaje

El lenguaje es nuestro principal medio de comunicación y es el que permite que interactuemos entre humanos, así ha sido siempre. Por ejemplo, para una sociedad humana, el lenguaje contiene los elementos necesarios que permite a las personas comunicarse. Estos elementos pueden ser palabras, señas o sonidos que en sí mismos son abstractos, sin embargo, para las personas que forman parte de la sociedad, tienen un sentido, expresan un significado y señalan objetos o acciones. Así es como se logra la comunicación entre ellos.


Si hacemos una analogía, imagina que esa sociedad es tu computadora y que las personas son las piezas de hardware y software que la conforman. Igual que la sociedad de humanos, esta sociedad hipotética dentro de tu computadora necesita comunicarse entre sí para que ésta funcione como esperas y puedas hacer cálculos, abrir un navegador o crear un documento. Cuando utilizas el ratón o el teclado, estos dispositivos envían instrucciones a los miembros de ésa sociedad en un lenguaje común que pueden interpretar por que han sido programados para ello. Este lenguaje normalmente es representado por un conjunto de bits, unos (1) y ceros (0), cuya combinación crea el significado de las instrucciones. Este conjunto de 1 y 0 es un sistema de codificación conocido como código binario. La traducción del lenguaje de programación en binario se conoce como “compilación”.

Qué es un lenguaje de programación

Un lenguaje de programación, en palabras simples, es el conjunto de instrucciones a través del cual los humanos interactúan con las computadoras. Un lenguaje de programación nos permite comunicarnos con las computadoras a través de algoritmos e instrucciones escritas en una sintaxis que la computadora entiende e interpreta en lenguaje de máquina.


Los lenguajes de programación permiten a las computadoras procesar de forma rápida y eficientemente grandes y complejas cantidades de información. Por ejemplo, si a una persona se le da una lista de números aleatorios que van de uno a diez mil y se le pide que los coloque en orden ascendente, es probable que tome una cantidad considerable de tiempo e incluya algunos errores, mientras que si le das la misma instrucción a una computadora utilizando un lenguaje de programación, podrás obtener la respuesta en unos cuantos segundos y sin errores.

Existen docenas de lenguajes de programación utilizados en la industria hoy en día. Algunos lenguajes de programación populares incluyen C++, C#, Visual Basic, Go, Ruby, JavaScript, Java y Python, por mencionar algunos. Cuando piensas en un lenguaje de programación, tal como en la analogía que hicimos antes, puedes compararlo con los lenguajes que utilizamos para comunicarnos porque comparten muchas características similares.

Características del lenguaje de programación

Para utilizar un lenguaje de programación, de manera efectiva, debemos estudiarlo y comprenderlo desde tres perspectivas:

  • Sintaxis: el conjunto de símbolos y reglas para formar sentencias.
  • Semántica: las reglas para transformar sentencias en instrucciones lógicas.
  • Pragmática: utilizando las construcciones particulares del lenguaje.


En español, las letras forman palabras que forman oraciones. En los lenguajes de programación, los caracteres forman sentencias que en conjunto forman instrucciones.

Sintaxis

La sintaxis es la estructura de una declaración en un lenguaje de programación. Si por ejemplo te preguntas “¿Es difícil la sintaxis de C#?“ básicamente te estarías preguntando si aprender a programar en C# es difícil. Por lo general, cuando pensamos en la sintaxis queremos decir algo que el compilador puede verificar estáticamente.

Para aclarar esto aún más, observa estos 3 ejemplos de sintaxis en distintos lenguajes de programación, todos intentan describir la misma instrucción, es decir, esperan obtener como salida del programa el mismo resultado:

C#

Console.WriteLine(“Hola Mundo!”);

Python

print “Hola Mundo!”

Assembly (en español, lenguaje ensamblador)

;nasm 2.11.08
section .data
    hello:     db 'Hola Mundo!',10    ; 'Hello world!' plus a linefeed character
    helloLen:  equ $-hello             ; Length of the 'Hello world!' string
section .text
    global _start
_start:
    mov eax,4            ; The system call for write (sys_write)
    mov ebx,1            ; File descriptor 1 - standard output
    mov ecx,hello        ; Put the offset of hello in ecx
    mov edx,helloLen     ; helloLen is a constant, so we don't need to say
                         ;  mov edx,[helloLen] to get it's actual value
    int 80h              ; Call the kernel
    mov eax,1            ; The system call for exit (sys_exit)
    mov ebx,0            ; Exit with return code of 0 (no error)
    int 80h;

Código ejemplo tomado de compile nasm online.

Podemos ver en los ejemplos, tres tipos diferentes de sintaxis. La sintaxis de Python, tiene la estructura más corta y fácil de las tres, por eso es considerado uno de los mejores lenguajes de programación para aprender a programar, mientras que la sintaxis de Assembly es la más compleja de las tres, ya que requiere de una mayor cantidad de instrucciones para decirle a la computadora que realice la misma función, imprimir “¡Hola Mundo!”.



Semántica

Por otro lado, la semántica trata sobre el significado de la instrucción. Responde a las preguntas: ¿es válida ésta instrucción? Si es así, ¿qué significa la instrucción? ¿Qué queremos lograr con la instrucción? Veamos el siguiente ejemplo,

x++;                  // incremento
foo(xyz, --b, &qrs);  // call foo

En el ejemplo, las 2 sentencias o instrucciones son sintácticamente válidas en C#. ¿Pero, qué quieren decir? ¿Es incluso válido intentar transformar estas declaraciones en una secuencia ejecutable de instrucciones? Estas son el tipo de preguntas que están en el corazón de la semántica.

Pragmática

La pragmática, en programación, se refiere al modo en que el contexto influye en la forma cómo interpretamos y analizamos los problemas que queremos resolver con un lenguaje de programación. Como vimos en el ejemplo de sintaxis, el mismo problema puede ser resuelto utilizando diferentes lenguajes de programación, incluso existen problemas que pueden ser resueltos aplicando distintas sentencias o instrucciones lógicas usando el mismo lenguaje.

Aplicamos el pragmatismo cuando creamos una solución considerando el contexto y cómo afecta a nuestro problema y a nuestra solución, aunque eso implique utilizar otro lenguaje o herramienta que nos ofrece una mejor oportunidad de resolver el problema. Aprender varios lenguajes y enfoques diferentes, puede ayudarte a ampliar tu pensamiento y te ayuda a evitar que quedes atrapado en una única forma de hacer las cosas. Además, hoy en día ser un programador pragmático y aprender varios lenguajes es mucho más fácil gracias a la gran cantidad de cursos que puedes encontrar aquí en OpenWebinars.

 
A CONTINUACION UN VIDEO DE LENGUAJE DE PROGRAMACION



Link acerca de que es un lenguaje de programación: Qué es un lenguaje de programación | OpenWebinars

Comentarios