Programa y lenguajes de programación¶
Un programa es una secuencia de instrucciones que un ordenador ejecuta para realizar alguna tarea. Parece una idea bastante simple, pero para que el ordenador pueda hacer uso de las instrucciones, deben estar escritas de forma que las pueda usar. Esto significa que los programas deben estar escritos en lenguajes de programación.
Los lenguajes de programación se diferencian de los lenguajes humanos ordinarios en que son completamente inequívocos y muy estrictos sobre lo que está y no está permitido en un programa. Las reglas que determinan lo que está permitido se denominan sintaxis del lenguaje. Las reglas de sintaxis especifican el vocabulario básico del lenguaje y cómo se pueden construir los programas.

Características¶
Los lenguajes de programación, o lenguajes de alto nivel, están específicamente diseñados para programar computadores. Tiene las siguientes características fundamentales:
- Son independientes de la arquitectura del computador.
- Normalmente, una sentencia en un lenguaje de alto nivel requiere de varias instrucciones en lenguaje máquina.
- Utilizan notaciones cercanas a las habituales en el ámbito en que se usan.
Como consecuencia de este alejamiento de la máquina y acercamiento a las personas, los programas escritos en lenguajes de programación no pueden ser directamente interpretados por el computador, siendo necesario realizar previamente su traducción a lenguaje máquina.
El proceso de traducción¶
Como el computador puede interpretar y ejecutar únicamente código máquina, existen traductores que traducen programas escritos en lenguajes de programación a lenguaje máquina. El programa inicial se denomina programa fuente y el programa obtenido, programa objeto.
La traducción por un compilador (la compilación) consta de dos etapas fundamentales: la etapa de análisis del programa y la etapa de síntesis del programa objeto. El análisis del texto fuente implica la realización de un análisis del léxico, de la sintaxis y de la semántica. La síntesis del programa objeto conduce a la generación de código y su optimización.
Compiladores e intérpretes¶
Un compilador traduce un programa fuente, escrito en un lenguaje de alto nivel, a un programa objeto, escrito en lenguaje ensamblador o máquina. Un intérprete hace que un programa fuente escrito en un lenguaje vaya, sentencia a sentencia, traduciéndose y ejecutándose directamente por el computador.
Tipos de lenguajes de programación¶
