Tipus | llenguatge de programació imperatiu, llenguatge de programació procedural, llenguatge de programació estructurada, Llenguatge de programació compilat, llenguatge de programació i terme de ciències de la computació |
---|---|
Data de creació | 1972[1] |
Disseny | Dennis Ritchie |
Desenvolupador | Kenneth L. Thompson, Dennis Ritchie & Bell Labs (creadors); ANSI X3J11 (ANSI C) ISO/IEC JTC1/SC22/WG14 (ISO C) |
Paradigma de programació | llenguatge imperatiu, programació estructurada i programació procedimental |
Darrera versió estable | C11 /desembre de 2011 |
Tipus de dades | estàtic, feble, manifest i nominal |
Majors implementacions | múltiples, per exemple GCC, Intel C |
Dialectes | Cyclone |
Influenciat per | B (BCPL, CPL), ALGOL 68,[1] Assemblador, PL/I, FORTRAN |
Ha influenciat | AMPL, AWK, csh, C++, C--, C#, Objective-C, BitC, D, Go, Rust, Java, JavaScript, Limbo, LPC, Perl, PHP, Pike, Processing, Seed7, Verilog (HDL)[2] |
Sistema operatiu | multiplataforma |
Extensió dels fitxers | .c ,.h |
Etiqueta d'Stack Exchange | Etiqueta |
Pàgina web | iso.org… |
El llenguatge de programació C, llenguatge C o llenguatge de programació de sistemes, va ser creat per Dennis Ritchie i Ken Thompson als Laboratoris Bell d'AT&T, a principis de la dècada dels 70. C està basat en un llenguatge que havia creat Ken Thompson anomenat llenguatge B el 1970. El llenguatge C es va crear per la necessitat de tenir-ne un que fos més flexible que l'assemblador a l'hora de programar, però que mantingués la característica de ser un llenguatge proper a la màquina. En la seva absència, el llenguatge C es va fer per a poder crear el sistema operatiu Unix. Actualment, C és el llenguatge més utilitzat per a desenvolupar sistemes operatius i altres tipus de programari bàsic, i també per aplicacions en general. El llenguatge C++ es va desenvolupar a partir de C.
C és apreciat per l'eficiència del codi que produeix i és el llenguatge de programació més popular per crear programari de sistemes, tot i que també s'utilitza per crear aplicacions.
Es tracta d'un llenguatge dèbilment tipat de mig nivell però amb moltes característiques de baix nivell. Disposa de les estructures típiques dels llenguatges d'alt nivell però, també disposa de construccions del llenguatge que permeten un control a molt baix nivell. Els compiladors solen oferir extensions al llenguatge que possibiliten barrejar codi en assemblador amb codi C o accedir directament a memòria o a dispositius perifèrics. Algunes de les seves instruccions són molt semblants a altres llenguatges, incloent sentències com if, else, for, do, while...[3]
La primera estandardització del llenguatge C fou en ANSI, amb l'estàndard X3.159-1989. El llenguatge que defineix aquest estàndard fou conegut vulgarment com a ANSI C. Posteriorment, el 1990, fou ratificat com a estàndard ISO (ISO/IEC 9899:1990). L'adopció d'aquest estàndard és molt àmplia, així que, si els programes creats el segueixen, el codi és portable entre plataformes i/o arquitectures. En la pràctica, els programadors solen utilitzar elements no-portables dependents del compilador o del sistema operatiu.