Palabras clave tienen un significado especial en un lenguaje, y forman parte de la sintaxis.
Las palabras reservadas son palabras que no se pueden usar como identificadores (variables, funciones, etc.), ya que están reservadas por el idioma.
En la práctica, la mayoría de las palabras clave son palabras reservadas y viceversa. Pero debido a que son dos cosas diferentes, puede suceder que una palabra clave no sea una palabra reservada (por ejemplo, una palabra clave solo tiene significado en un contexto especial y puede usarse como un identificador) o una palabra reservada no es una palabra clave (por ejemplo, porque está reservado para uso futuro).
Actualización: Algunos ejemplos dados por otros que ilustran la distinción:
- En Java,
goto
es una palabra reservada, pero no una palabra clave (como consecuencia, no se puede utilizar en absoluto)
- Fortran tiene no palabras reservadas, todas las palabras clave (si, a continuación, etc.) se pueden utilizar como identificadores
@Piotr Tenga en cuenta que es una mala idea aceptar una respuesta hasta que algunas personas hayan tenido la oportunidad de responder. Recomiendo esperar al menos 12 horas. –
@Neil Es realmente una muy buena respuesta que fue aceptada :) –
@Piotr No estoy criticando la respuesta. Pero si usted sabe que de alguna manera es "bueno" sin compararlo con otras respuestas posiblemente diametralmente opuestas, ¿por qué hizo la pregunta en primer lugar? –