¿Qué es un lenguaje de programación? 

Un lenguaje de programación es un sistema de escritura que los programadores usan para indicar instrucciones de tal manera que una computadora pueda entenderlas y ejecutarlas. 

Un lenguaje de programación no solo es escribir las instrucciones y ya, para que una computadora pueda entender el lenguaje, este necesita tener ciertas características que lo ayudan desde la escritura hasta la ejecución en la computadora. 

Características de un lenguaje de programación 

Sintaxis

Es un conjunto de reglas que definen la estructura de la escritura, palabras reservadas, el uso de punto y coma ( ; ), indentación, ortografía, etc. Cada lenguaje tiene sus propias normas que seguir para su correcto funcionamiento. 

Semántica

Se refiere al comportamiento de la escritura del código, aunque la sintaxis sea correcta, la estructura en el proceso de ejecución del código tiene que ser claro. 

Tipado

El manejo de los datos en la ejecución del programa, es la forma en que se le indica a una variable cuál es el tipo de dato que va a manejar. 

Cuando un lenguaje es fuertemente tipado no permite conversiones entre diferentes tipos, un tipado débil si permite este tipo de conversiones. 

Un lenguaje con tipado estático verifica el tipo de dato en la compilación mientras que un tipado dinámico lo hace en tiempo de ejecución. 

Paradigma de programación

Se puede clasificar en diferentes paradigmas como el Imperativo, el Orientado a Objetos, Funcional, Estructurado, etc. 

Portabilidad

La posibilidad de que el programa pueda ejecutarse en diferentes plataformas con pocas o ninguna modificacion como windows, android, web, ios, etc. 

Eficiencia

Es la velocidad conla que puede ejecutarse el codigo del lenguaje, por ejemplo los lenguajes como ensamblador de bajo nivel son mas eficientes respecto a los recursos, pero los lenguajes de alto nivel sacrifican algo de eficiencia a cambio de la facilidad y desarrollo mas rapidos. 

Abstracción

Permite a los programadores trabajar con conceptos de alto nivel como variables, objetos,funciones, etc.  

Librerias y Frameworks

Los lenguajes cuentan con librerias y frameworks con tareas comunes para facilitar su uso y no tener que escribirlas desde cero 

Herramientas de desarrollo

Los lenguajes de programación suelen estar acompañados de herramientas y entornos de desarrollo integrados (IDEs) que facilitan tareas como la compilacion, la depuracion, uso de control de versiones y el desarrollo en si, generalmente son los lenguajes compilados que generan un archivo de instalcion los que son acompañados por su propio IDE, otros lenguajes que son interpretados pueden escribirse practicamente en cualquier editor de texto. 

Compilacion

En realidad existen los lenguajes compilados , lenguajes interpretados y lenguajes semi-compilados 

  • Lenguajes compilados: el codigo se traduce completamente al lenguaje máquina antes de ejecutarse. 
  • Lenguajes interpretados:  el codigo se interpreta linea por linea mediante un interprete
  • Lenguaje semi-compilado: combinan ambas caracteristicas 

Comunidad y Soporte:

otra cosa a tener en cuenta cuando se elige un lenguaje de programación es la disponibilidad de recursos, documentacion y soporte de la comunidad que hay disponible, existen lenguajes con grandes cantidades de recursos en donde buscar, pero tambien hay otros que tienen muy poca documentacion haciendo dificil la curva de aprendizaje. 

    Loading