Enlace del documento ISO/IEC 9899:2017 C N2176: https://files.lhmouse.com/standards/ISO%20C%20N2176.pdf
Hay muchas fuentes en la red mundial que dicen que hay 32 palabras clave en lenguaje C, pero este documento (creo que es una versión borrador, pero no hay muchos cambios en comparación con la versión anterior, ¿verdad?) tiene 44 palabras. que se definen a las palabras clave del lenguaje C.
Por favor explique esto.
================================================== ==========
Enlace a las fuentes que dicen que hay 32 palabras clave en lenguaje C:
Nota: algunos de estos sitios son útiles para que los principiantes aprendan conceptos básicos y terminologías de C.
Históricamente, cuando se introdujo C, la gente quedó impresionada por su sintaxis minimalista y cómo el diseño del lenguaje cosificó todo de manera efectiva al implementar la funcionalidad como funciones de biblioteca en lugar de funciones de lenguaje, que es lo que mantiene a C simple y ayuda a mitigar los temores de los diseñadores de cada lenguaje sobre el avance de las funciones .
En comparación, los primeros contemporáneos de C, como COBOL, optaron por implementar la funcionalidad en sus propios lenguajes como características de primera clase, razón por la cual COBOL tiene más de 300 palabras clave ; por lo tanto, admito que usar la marcada diferencia en el recuento de palabras clave sirve como un indicador de la complejidad del lenguaje y, por extensión, una forma de cuantificar casi un buen diseño . Pero usarlo como base para comparar lenguajes hoy en 2021 tiene una utilidad limitada, ya que los lenguajes de programación más relevantes hoy en día 1 ya están inspirados en C o se derivan de él de alguna manera, y todos comparten la decisión de C de hacer cosas en la biblioteca. del idioma, por lo que todos esos idiomas tienen un recuento de palabras clave bajo en comparación con COBOL, SQL y otros, y es por eso que el recuento de palabras clave de C ya no es interesante.
1: Lenguajes inspirados en C o derivados de C que se usan actualmente : C++, Objective-C, Java, Groovy, Swift, C#, JavaScript, TypeScript, Go, PHP, Perl. Otros lenguajes populares que no están modelados en C (como Haskell, OCaml, etc. ) comparten la filosofía de biblioteca primero de C, pero no puedo decir si C lo originó o no, pero siento que los lenguajes optan por diseños de biblioteca primero. es inevitable: el costo de implementar funciones de lenguaje es fácilmente diez veces mayor que el de implementar funciones de biblioteca.