C (programming language)

Text in light blue serif capital letters on white background and very large light blue sans-serif letter C.
The C Programming Language[1] (often referred to as K&R), the seminal book on C
ParadigmMulti-paradigm: imperative (procedural), structured
Designed byDennis Ritchie
DeveloperDennis Ritchie & Bell Labs (creators); ANSI X3J11 (ANSI C); ISO/IEC JTC1/SC22/WG14 (ISO C)
First appeared1972 (1972)[2]
Stable release
C17 / June 2018 (2018-06)
Preview release
C2x (N2731) / October 18, 2021 (2021-10-18)[3]
Typing disciplineStatic, weak, manifest, nominal
Filename extensions.c, .h
Major implementations
K&R C, GCC, Clang, Intel C, C++Builder, Microsoft Visual C++, Watcom C
Cyclone, Unified Parallel C, Split-C, Cilk, C*
Influenced by
B (BCPL, CPL), ALGOL 68,[4] assembly, PL/I, FORTRAN
Numerous: AMPL, AWK, csh, C++, C--, C#, Objective-C, D, Go, Java, JavaScript, Julia, Limbo, LPC, Perl, PHP, Pike, Processing, Python, Rust, Seed7, Vala, Verilog (HDL),[5] Nim, Zig

C (/ˈs/, as in the letter c) is a general-purpose, procedural computer programming language supporting structured programming, lexical variable scope, and recursion, with a static type system. By design, C provides constructs that map efficiently to typical machine instructions. It has found lasting use in applications previously coded in assembly language. Such applications include operating systems and various application software for computer architectures that range from supercomputers to PLCs and embedded systems.

A successor to the programming language B, C was originally developed at Bell Labs by Dennis Ritchie between 1972 and 1973 to construct utilities running on Unix. It was applied to re-implementing the kernel of the Unix operating system.[6] During the 1980s, C gradually gained popularity. It has become one of the most widely used programming languages,[7][8] with C compilers from various vendors available for the majority of existing computer architectures and operating systems. C has been standardized by ANSI since 1989 (ANSI C) and by the International Organization for Standardization (ISO).

C is an imperative procedural language. 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.[9]

Since 2000, C has consistently ranked among the top two languages in the TIOBE index, a measure of the popularity of programming languages.[10]

  1. ^ Kernighan, Brian W.; Ritchie, Dennis M. (February 1978). The C Programming Language (1st ed.). Englewood Cliffs, NJ: Prentice Hall. ISBN 978-0-13-110163-0.
  2. ^ 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."
  3. ^ Fruderica (December 13, 2020). "History of C". The cppreference.com. Archived from the original on October 24, 2020. Retrieved October 24, 2020.
  4. ^ 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."
  5. ^ "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
  6. ^ Cite error: The named reference sigplan was invoked but never defined (see the help page).
  7. ^ "Programming Language Popularity". 2009. Archived from the original on January 16, 2009. Retrieved January 16, 2009.
  8. ^ "TIOBE Programming Community Index". 2009. Archived from the original on May 4, 2009. Retrieved May 6, 2009.
  9. ^ Cite error: The named reference cppreference was invoked but never defined (see the help page).
  10. ^ "TIOBE Index for October 2021". Retrieved October 7, 2021.

Powered by 654 easy search