Home
Main website
Display Sidebar
Hide Ads
Recent Changes
View Source:
C
Edit
PageHistory
Diff
Info
LikePages
You are viewing an old revision of this page.
View the current version
.
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 SystemsProgrammingLanguage to write their portable [Unix] OperatingSystem in. It was originally derived from [BCPL] but evolved radically. [C] is a great SystemsProgrammingLanguage, 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 [ANSI-C] and the remainder of [Lint]'s job merged into that of the compilers. 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 and ;: "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, clean [object oriented|ObjectOrientation] language, 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 OperatingSystems, 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 __gcc -traditional-cpp -o pi pi.c__). If you want a better approximation, increase the program's source code area :). /* * 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() { _-_-_-_ _-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_ _-_-_-_ } (As seen in JargonFile:Obfuscated-C-Contest) ---- Various snippets of information about [C] in the wiki: * CastingPointerToFunction ----- 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