¿Cuáles son las funciones que no se utilizan en la práctica del lenguaje C?
En 1967, Martin Richards de la Universidad de Cambridge simplificó el lenguaje CPL, dando origen así al lenguaje BCPL (Lenguaje de programación combinacional básico).
En la década de 1960, Ken Thompson, investigador de los laboratorios AT&T Bell, no tenía nada que hacer y quería jugar a "Space Travel", un juego que él mismo había escrito y que simulaba navegar por el sistema solar. A espaldas de su jefe, encontró una máquina de repuesto, la PDP-7, pero esta máquina no tenía sistema operativo y el juego tenía que utilizar algunas funciones del sistema operativo, por lo que comenzó a desarrollar un sistema operativo para la PDP. -7. Posteriormente, este sistema operativo recibió el nombre de UNIX.
En 1970, Ken Thompson de Bell Labs diseñó un lenguaje B muy simple y cercano al hardware (tome las iniciales de BCPL) basado en el lenguaje BCPL. Escribió el primer sistema operativo UNIX en lenguaje B.
En 1971, Dennis M. Ritchie, que también era un entusiasta de los viajes espaciales, se unió al plan de desarrollo de Thompson y trabajó en el desarrollo de UNIX para poder jugar antes. El trabajo principal es modificar el lenguaje B al. hacerlo más maduro.
En 1972, D.M. Ritchie de Bell Labs finalmente diseñó un nuevo lenguaje basado en el lenguaje B. Usó la segunda letra de BCPL como nombre de este lenguaje, que es el lenguaje C.
A principios de 1973, cuando se completó la parte principal del lenguaje C, Thompson y Ritchie no podían esperar para comenzar una reescritura integral de UNIX en lenguaje C. En este momento, el placer de programar les ha hecho olvidarse de todo lo relacionado con los viajes espaciales y dedicarse al lenguaje UNIX y C. A medida que UNIX ha evolucionado, también lo ha hecho el propio lenguaje C. Hasta el día de hoy, varias versiones del kernel de UNIX y herramientas periféricas todavía usan C como lenguaje de desarrollo principal, muchas de las cuales heredan el código de Thompson y Ritchie.
Durante el proceso de desarrollo, también consideraron migrar UNIX a otros tipos de computadoras, y la fuerte portabilidad del lenguaje C se hizo obvia aquí. El lenguaje de máquina y el lenguaje ensamblador no son portátiles y los programas desarrollados para x86 no pueden ejecutarse en máquinas Alpha, SPARC y ARM. Un programa C se puede utilizar en cualquier procesador de cualquier arquitectura, siempre que el procesador de esa arquitectura tenga un compilador y una biblioteca de C, y luego el código fuente de C se compila y se vincula a un archivo binario de destino que se puede ejecutar.
En 1977, Dennis M. Ritchie publicó el "Portable C Compiler", un texto compilado en C independiente de la máquina.
El lenguaje C continúa desarrollándose. En 1982, muchas personas perspicaces y el Instituto Nacional Estadounidense de Estándares decidieron establecer el Comité de Estándares del Lenguaje C para formular estándares para el lenguaje C para mantener el desarrollo saludable del lenguaje C. idioma. El comité está compuesto por proveedores de hardware, compiladores y otros fabricantes de herramientas de software, diseñadores de software, consultores, académicos, autores de lenguaje C y programadores de aplicaciones. En 1989, ANSI lanzó el primer estándar completo de lenguaje C: ANSI X3.159-1989, denominado "C89", pero la gente también está acostumbrada a llamarlo "ANSI C". C89 fue adoptado por la Organización Internacional de Normalización (ISO) en 1990. En 1990, C89 fue adoptado palabra por palabra por la Organización Internacional de Normalización (ISO), y su nombre oficial es ISO/IEC 9899, por lo que ISO/IEC 9899:1990. Por lo tanto, a menudo se hace referencia a ISO/IEC 9899:1990 simplemente. como "C90". En 1999, después de realizar algunas correcciones y mejoras necesarias, la Organización Internacional de Normalización publicó un nuevo estándar C.
En 1999, después de algunas revisiones y mejoras necesarias, ISO lanzó un nuevo estándar de lenguaje C denominado ISO/IEC 9899:1999, denominado "C99". El 8 de diciembre de 2011, la Organización Internacional de Normalización publicó un nuevo estándar llamado ISO/IEC 9899:2011, denominado "C11".