Penguin
Annotated edit history of C version 22, including all changes. View license author blame.
Rev Author # Line
15 StuartYeates 1 One of the most widely recognised [ProgrammingLanguage]s in the world.
2
19 AristotlePagaltzis 3 It was designed by DennisRitchie at [BellLabs]/[AT&T] (along with other famous people such as KenThompson and BrianKernighan) as the systems ProgrammingLanguage to write their portable [Unix] OperatingSystem in. It was originally derived from [BCPL] but evolved radically. [C] is a great systems ProgrammingLanguage, but blamed for many problems with applications which many complain it is unsuited for.
15 StuartYeates 4
20 AristotlePagaltzis 5 The original version of [C] made many assumptions and led to [Lint] being written to check whether these assumptions were likely to be unsafe. Many of these assumptions were removed by the [ANSI] [C] standard and the remainder of [Lint]'s job merged into that of the [Compiler]s.
15 StuartYeates 6
7 From fortune(6):
8
20 AristotlePagaltzis 9 * C, n.::
10 A ProgrammingLanguage that is sort of like [Pascal] except more like AssemblyLanguage except that it isn't very much like either one, or anything else. It is either the best language available to the art today, or it isn't.
15 StuartYeates 11
20 AristotlePagaltzis 12 -- Ray Simard
15 StuartYeates 13
20 AristotlePagaltzis 14 * "The C Programming Language -- A language which combines the flexibility of AssemblyLanguage with the power of AssemblyLanguage."
15 StuartYeates 15
20 AristotlePagaltzis 16 [C] has inspired an entire class of languages, including [C++] which some say fixes many problems with [C], while others debate is just a horrible mess. [Java] has decended from [C++] as a portable language with clean ObjectOrientation, itself in turn the inspiration for MicrosoftCorporation's new language called [CSharp].
15 StuartYeates 17
20 AristotlePagaltzis 18 See the [C History | http://cm.bell-labs.com/cm/cs/who/dmr/chist.html].
15 StuartYeates 19
20 AristotlePagaltzis 20 I recommend you learn [C], and use it for writing OperatingSystem~s, and understanding how things actually are implemented, but then code in some other ProgrammingLanguage if you are going to write applications, especially networking programs.
15 StuartYeates 21
22 ----
23
21 AristotlePagaltzis 24 The following example is a program to approximate the value of pi. Compile it with <tt>gcc -traditional-cpp -o pi pi.c</tt>. If you want a better approximation, increase the program's source code area. <tt>:)</tt>
15 StuartYeates 25
20 AristotlePagaltzis 26 <verbatim>
27 /*
28 * Program to compute an approximation of pi
29 * by Brian Westley, 1988
30 */
31
32 #define _ -F<00||--F-OO--;
33 int F=00,OO=00;
34 main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO()
35 {
36 _-_-_-_
37 _-_-_-_-_-_-_-_-_
38 _-_-_-_-_-_-_-_-_-_-_-_
39 _-_-_-_-_-_-_-_-_-_-_-_-_-_
40 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
41 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
42 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
43 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
44 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
45 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
46 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
47 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
48 _-_-_-_-_-_-_-_-_-_-_-_-_-_
49 _-_-_-_-_-_-_-_-_-_-_-_
50 _-_-_-_-_-_-_-_
51 _-_-_-_
52 }
53 </verbatim>
15 StuartYeates 54
55 (As seen in JargonFile:Obfuscated-C-Contest)
20 AristotlePagaltzis 56
15 StuartYeates 57 ----
58
59 Various snippets of information about [C] in the wiki:
60 * CastingPointerToFunction
22 LawrenceDoliveiro 61
62 ----
63
64 __Standardization__
65
66 The first official standard for the language was “ANSI X3.159-1989” or [ANSI C|http://en.wikipedia.org/wiki/ANSI_C], also known as “C89” because it was completed in 1989.
67
68 This standard was picked up by [ISO] the following year as ISO/IEC 9899:1990, also known as “C90”.
69
70 In 1999, a revised standard, ISO/IEC 9899:1999, a.k.a. [C99|http://en.wikipedia.org/wiki/C99], was ratified. A decade later, I don’t think any widely-available compiler yet fully supports all its features, though [GCC] comes close.
15 StuartYeates 71
72 -----
73 CategoryProgrammingLanguages, CategoryImperativeProgrammingLanguages, CategoryMachineOrientedProgrammingLanguages, CategorySystemsProgrammingLanguages

PHP Warning

lib/blame.php:177: Warning: Invalid argument supplied for foreach()