about C Language
In
computing,
C (
//, as in
the letter C) is a general-purpose
programming language initially developed by
Dennis Ritchie between 1969 and 1973 at
AT&T Bell Labs.
[5][6] Like most
imperative languages in the
ALGOL tradition, C has facilities for
structured programming and allows
lexical variable scope and
recursion, while a
static type system prevents many unintended operations. Its design provides constructs that map efficiently to typical
machine instructions, and therefore it has found lasting use in applications that had formerly been coded in
assembly language, most notably
system software like the
Unix computer
operating system.
[7]
C is one of the most widely used programming languages of all time,
[8][9] and C compilers are available for the majority of available
computer architectures and
operating systems.
Many later languages have borrowed directly or indirectly from C, including
D,
Go,
Rust,
Java,
JavaScript,
Limbo,
LPC,
C#,
Objective-C,
Perl,
PHP,
Python,
Verilog (hardware description language),
[4] and Unix's
C shell. These languages have drawn many of their
control structures and other basic features from C. Most of them (with Python being the most dramatic exception) are also very
syntactically similar to C in general, and they tend to combine the recognizable expression and statement
syntax of C with underlying type systems, data models, and semantics that can be radically different.
C++ and Objective-C started as compilers that generated C code; C++ is currently
nearly a superset of C,
[10] while
Objective-C is a
strict superset of C.
[11]
Before there was an official standard for C, many users and implementors relied on an informal specification contained in a book by
Dennis Ritchie and
Brian Kernighan; that version is generally referred to as "K&R" C. In 1989 the
American National Standards Institute published a standard for C (generally called "
ANSI C" or "C89"). The next year, the same specification was approved by the
International Organization for Standardization as an international standard (generally called "C90"). ISO later released an extension to the
internationalization support of the standard in 1995, and a revised standard (known as "
C99") in 1999. The current version of the standard (now known as "
C11") was approved in December 2011.
[12]