Sintaxis y semántica
Escribir un programa es como componer una obra: no basta con tener buenas ideas, también hay que saber plasmarlas de manera que la máquina pueda entenderlas. Cada instrucción, cada símbolo y cada estructura forman parte de un lenguaje con reglas propias, y dominar estas reglas marca la diferencia entre un código que funciona y otro que genera caos. Entre todas estas reglas, dos conceptos clave gobiernan cómo se construye y se interpreta un programa: la sintaxis y la semántica.
Sintaxis
La sintaxis de un lenguaje de programación (syntax) es el conjunto de reglas y estructuras que determinan cómo deben ser escritos los programas en un determinado lenguaje.
Estas reglas especifican la forma correcta de organizar y combinar palabras, símbolos y otros elementos léxicos para crear instrucciones válidas que un compilador o intérprete pueda entender y procesar. La sintaxis define la forma externa del código, sin entrar en su significado (que es tratado por la semántica).
La sintaxis se centra en la estructura y forma del código.
Por ejemplo, en el lenguaje C:
- Sintaxis correcta:
int x = 5; - Sintaxis incorrecta:
int x 5;. Falta el=y el;.
Semántica
La semántica de un lenguaje de programación (semantics) se refiere al significado de las instrucciones escritas en el lenguaje. Mientras que la sintaxis se encarga de la estructura y la forma correcta de escribir el código, la semántica describe lo que hace ese código cuando es ejecutado. La semántica define el comportamiento del programa, los efectos de las instrucciones y las relaciones entre diferentes elementos del código.
Por ejemplo, en el lenguaje C:
- Sintaxis:
int x = 5 / 0;cumple la sintaxis (no contiene errores de gramática) - Semántica: divide 5 entre 0, lo cual es problemático porque dividir entre cero no tiene un resultado definido.
Por ejemplo, en el lenguaje Python:
- Sintaxis:
print("Hola")está escrito de forma válida. - Semántica: el ordenador muestra en pantalla el texto
Hola.