General-purpose programming language
Not to be confused with
C++ or
C# .
C Paradigm Multi-paradigm : imperative (procedural ), structured Designed by Dennis Ritchie Developer ANSI X3J11 (ANSI C ); ISO/IEC JTC 1 (Joint Technical Committee 1) / SC 22 (Subcommittee 22) / WG 14 (Working Group 14) (ISO C) First appeared 1972; 53 years ago (1972 ) [ 2] Stable release C23
/ October 31, 2024
; 5 months ago (2024-10-31 ) Preview release C2y (N3220)
/ February 21, 2024
; 13 months ago (2024-02-21 ) [ 3]
Typing discipline Static , weak , manifest , nominal OS Cross-platform Filename extensions .c, .h Website www .c-language .org www .iso .org /standard /82075 .html www .open-std .org /jtc1 /sc22 /wg14 / pcc , GCC , Clang , Intel C , C++Builder , Microsoft Visual C++ , Watcom C Cyclone , Unified Parallel C , Split-C , Cilk , C* B (BCPL , CPL ), ALGOL 68 ,[ 4] PL/I , FORTRAN Numerous : AMPL , AWK , csh , C++ , C-- , C# , Objective-C , D , Go , Java , JavaScript , JS++ , Julia , Limbo , LPC , Perl , PHP , Pike , Processing , Python , Rust , Seed7 , V (Vlang) , Vala , Verilog (HDL),[ 5] Nim , Zig
C (pronounced – like the letter c )[ 6] is a general-purpose programming language . It was created in the 1970s by Dennis Ritchie and remains very widely used and influential. By design, C's features cleanly reflect the capabilities of the targeted CPUs . It has found lasting use in operating systems code (especially in kernels [ 7] ), device drivers , and protocol stacks , but its use in application software has been decreasing.[ 8] C is commonly used on computer architectures that range from the largest supercomputers to the smallest microcontrollers and embedded systems .
A successor to the programming language B , C was originally developed at Bell Labs by Ritchie between 1972 and 1973 to construct utilities running on Unix . It was applied to re-implementing the kernel of the Unix operating system.[ 9] During the 1980s, C gradually gained popularity. It has become one of the most widely used programming languages ,[ 10] [ 11] with C compilers available for practically all modern computer architectures and operating systems . The book The C Programming Language , co-authored by the original language designer, served for many years as the de facto standard for the language.[ 12] [ 1] C has been standardized since 1989 by the American National Standards Institute (ANSI) and, subsequently, jointly by the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC).
C is an imperative procedural language, supporting structured programming , lexical variable scope , and recursion , with a static type system . It was designed to be compiled to provide low-level access to memory and language constructs that map efficiently to machine instructions , all with minimal runtime support . Despite its low-level capabilities, the language was designed to encourage cross-platform programming. A standards -compliant C program written with portability in mind can be compiled for a wide variety of computer platforms and operating systems with few changes to its source code.
Since 2000, C has consistently ranked among the top four languages in the TIOBE index , a measure of the popularity of programming languages.[ 13]
^ a b Prinz, Peter; Crawford, Tony (December 16, 2005). C in a Nutshell . O'Reilly Media, Inc. p. 3. ISBN 9780596550714 .
^ Ritchie (1993) : "Thompson had made a brief attempt to produce a system coded in an early version of C—before structures—in 1972, but gave up the effort."
^ "N3221 – Editor's Report, Post January 2024 Strasbourg France Meeting" . ISO/IEC JTC1/SC22/WG14 . Open Standards. February 21, 2024. Retrieved May 24, 2024 .
^ Ritchie (1993) : "The scheme of type composition adopted by C owes considerable debt to Algol 68, although it did not, perhaps, emerge in a form that Algol's adherents would approve of."
^ "Verilog HDL (and C)" (PDF) . The Research School of Computer Science at the Australian National University. June 3, 2010. Archived from the original (PDF) on November 6, 2013. Retrieved August 19, 2013 . 1980s: Verilog first introduced; Verilog inspired by the C programming language
^ "The name is based on, and pronounced like the letter C in the English alphabet" . the c programming language sound . English Chinese Dictionary. Archived from the original on November 17, 2022. Retrieved November 17, 2022 .
^ Munoz, Daniel. "After All These Years, the World is Still Powered by C Programming | Toptal" . Toptal Engineering Blog . Retrieved June 15, 2024 .
^ "C Language Drops to Lowest Popularity Rating" . Developer.com . August 9, 2016. Archived from the original on August 22, 2022. Retrieved August 1, 2022 .
^ Cite error: The named reference sigplan
was invoked but never defined (see the help page ).
^ "Programming Language Popularity" . 2009. Archived from the original on January 16, 2009. Retrieved January 16, 2009 .
^ "TIOBE Programming Community Index" . 2009. Archived from the original on May 4, 2009. Retrieved May 6, 2009 .
^ Ward, Terry A. (August 1983). "Annotated C / A Bibliography of the C Language" . Byte . p. 268. Retrieved January 31, 2015 .
^ "TIOBE Index for September 2024" . Archived from the original on September 18, 2024. Retrieved September 20, 2024 .