From WikiChip
Editing c
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
This page supports semantic in-text annotations (e.g. "[[Is specified as::World Heritage Site]]") to build structured and queryable content provided by Semantic MediaWiki. For a comprehensive description on how to use annotations or the #ask parser function, please have a look at the getting started, in-text annotation, or inline queries help pages.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
− | + | '''C''' is a [[general-purpose programming language|general-purpose]], [[procedural programming paradigm|procedural]], [[imperative programming paradigm|imperative]], [[high-level programming language|high-level]] [[programming language]] developed by [[Dennis Ritchie]] at AT&T Bell Labs between 1969 and 1973. | |
− | '''C''' is a [[general-purpose programming language|general-purpose]], [[procedural programming paradigm|procedural]], [[programming language]] | ||
== History == | == History == | ||
− | |||
− | C | + | The C programming language was developed at AT&T Bell Labs between 1969 and 1973 by Dennis Ritchie. It was named "C" due to it's influence from the "B" programming language, another language developed at Bell Labs by Ken Thompson and Dennis Ritchie, as well as the BCPL programming language. |
− | B was heavily influenced by another system programming language called BCPL | + | C is actually a by-product of an operating system called UNIX which was developed at AT&T Bell Labs at that time as well. The operating system ran on a DEC PDP-7 machine. UNIX was originally written in assembly language like most programs of the time. Debugging was difficult and slow. Ken Thompson, the author of UNIX, decided a high-level was more appropriate. |
+ | |||
+ | A small language by the name of B was designed. B was heavily influenced by another system programming language called BCPL which was developed in the mid 60s. In the early 70s, a DEC PDP-11 machine was acquired for the UNIX project. Large protions of UNIX were ported to B with the help of Ritchie. By 71 it became clear that B did not serve well for the PDP-11 as it did for the PDP-7. Constant modification of the B language, lead to a development of a new language that eventually became to be known as C. By 1973 C was complete enough that UNIX could be entirely written in C. By writing UNIX in C, all they had to do is have a compiler for a specific machine and be able to run UNIX on it. | ||
== Standards == | == Standards == | ||
− | |||
− | + | For many years, the only authoritative reference on C was the first edition of [[The C Programming Language]]. In 1983, the [[American National Standards Institute]] (ANSI) established a committee to formally describe the C language. In 1989, the C standard was ratified as [[ANSI X3.159-1989]]. That version is largely referred to as [[ANSI C]] or '''[[C89]]'''. In 1990, the ANSI C standard was adopted by the International Organization for Standardization (ISO) as ISO/IEC 9899:1990. That version is called C90. Both C89 and C90 refer to the same exact language. | |
− | + | ||
− | + | In 1995 Normative Addendum 1 was published to support international character sets. The term C94 or '''[[C95]]''' are used to refer to the [[Normative Addendum 1|C89 plus Amendment 1]]. | |
− | + | ||
− | + | In 1999 A new standard was published known as ISO/IEC 9899:1999. This standard is often referred to as '''[[C99]]'''. | |
+ | |||
+ | In 2004 the WG14 group published the first technical report for [[Embedded C]]. The second revision of the technical report was published in 2008. | ||
+ | |||
+ | In 2011 ISO published a new standard known as ISO/IEC 9899:2011. This standard is the current standard of the C language and is referred to as '''[[C11]]'''. | ||
== Standard library == | == Standard library == | ||
− | {{main|standard library | + | {{main|C standard library}} |
− | The C language provides a set of functions for performing common tasks | + | The C language provides a set of functions for performing common tasks such as string handling, threading managements, memory management, and I/O processing called the '''[[C standard library]]'''. The library is broken down into 29 headers, 3 of which are optional. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Category:C programming language]] | [[Category:C programming language]] |