Home
Main website
Display Sidebar
Hide Ads
Recent Changes
View Source:
C
Edit
PageHistory
Diff
Info
LikePages
One of the most widely recognised [ProgrammingLanguage]s in the world. 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. 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. From fortune(6): * C, n.:: 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. -- Ray Simard * "The C Programming Language -- A language which combines the flexibility of AssemblyLanguage with the power of AssemblyLanguage." [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]. See the [C History | http://cm.bell-labs.com/cm/cs/who/dmr/chist.html]. 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. ---- 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> <verbatim> /* * Program to compute an approximation of pi * by Brian Westley, 1988 */ #define _ -F<00||--F-OO--; int F=00,OO=00; main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO() { _-_-_-_ _-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_ _-_-_-_ } </verbatim> (As seen in JargonFile:Obfuscated-C-Contest) ---- Various snippets of information about [C] in the wiki: * CastingPointerToFunction ---- __Standardization__ 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. This standard was picked up by [ISO] the following year as ISO/IEC 9899:1990, also known as “C90”. 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. ----- CategoryProgrammingLanguages, CategoryImperativeProgrammingLanguages, CategoryMachineOrientedProgrammingLanguages, CategorySystemsProgrammingLanguages
112 pages link to
C
:
ANSI
PolyGlot
UndefinedSemantics
a.out
JavaAndC++
Compiler
CC
PortabilityNotes
CastingPointerToFunction
ClamAV
InLining
Backronym
Bison
ECMA
AdvancedUserTips
DennisRitchie
mod_perl
ptrdiff_t
BCPL
DeCompiler
K&R
LinuxFudDispelled
LinuxExpert
Lint
PolymorphicTypes
NullPointer
Forth
OpCodes
WaikatoCourseDescriptions
Pointer
Java
Pascal
ScriptKiddie
Shell
CompilingHowto
BjarneStroustrup
BellLabs
awk(1)
apropos(1)
GoTo
GeoffCant
AssemblyLanguage
HZ
KnowYourSysadmin
gcc(1)
TurboPascal
SourceCode
SymbolicManipulation
CshProgrammingConsideredHarmful
VisualC++
NULL
DonaldKnuth
NetworkProgramming
ENODATA
MarkupLanguage
TimCareySmith
ReligiousWar
mcheck
NameSpace
NetworkProgrammingOld
JavaDebuggingHints
RandomNumberGenerator
MakeWhatIs
ToolKit
KenThompson
LinkedList
GimpToolKit
amd64
Lua
CarlWyles
GeneralPublicLicense
HigherOrderFunctions
Algol
Function
GLib
SCons
MALLOC_CHECK_
GCC
Variable
LazyEvaluation
Modula2
CraigMckenna
Synchronisation
Dillo
StaticallyTyped
Library
BufferOverflow
StrictEvaluation
SamMcKoy
C++
Kate
Flex
Brainf*ck
Endianness
Valgrind
Linux
SIGSEGV
StuffToCode
DeBugging
WhyIHatePerl
Carbon
AlgolWCompiler
ISO
MakeToSCons
KernelDevelopmentDebugging
GerwinVanDeSteeg
WlugLibrary
ProgrammingLanguage
POSIX
HelloWorld
-Wall
GianPerrone