| Ethvert programmeringssprog har det som rigtige sprog - sprog der ikke bliver brugt, syner hen - dem der bruges, overlever trods alle odds. Sproget C er et af de
sprog, der har overlevet tidens tand og har bidt sig fast og betegnes gerne som edb-folks andet modersmål, i alt fald hvad angår programmeringssprog. Dette skal ses i lyset
af at C sproget oprindeligt blev udviklet fra sproget BCPL - et obskurt sprog som få edb-folk i dag overhovedet kender til - med det primære formål at få et bedre værktøj til
at programmere operativsystemet UNIX. Der var behov for et mere strukturet sprog end ren assembler - og som samtidigt lå på et højere abstraktionsniveau end assembler. C sproget
var igennem mange år udelukkende og ubrydeligt knyttet sammen med UNIX. Med de fleste UNIX'er medfølger stadig en C-compiler, og alle dagens UNIX-versioner er ligeledes stadig
programmeret i C; til nød med lidt C++ hjælp. I dag fås C udviklingsmiljøer til ethvert operativsystem og til enhver tænkelig hardware. C er uden tvivl verdens mest porterede
programmeringssprog og blev i øvrigt uden problemer ANSI-godkendt i 1987. Sproget kommer ud af skolen omkring Algol og Pascal - og minder på sine punkter også om disse sprog, men
har sin egen unikke "flavour". Sproget er således struktureret og giver fx. programmøren mulighed for opdeling af funktionaliteten i navngivne kode-blokke (funktioner)
men giver samtidig mulighed for råt bit-trilleri af værste skuffe (C er ved lejlighed blevet kaldt verdens mest avancerede assembler!). C sprogets grammatik er utroligt lille
i forhold til brødrene PASCAL og ALGOL, hvilket illustrerer en af pointerne ved C-effektivitet. |
Typisk giver C mulighed for f.eks.
- Løkke og selektion (for, while, if osv)
- Funktioner og funktions-abstraktion
- Et simpelt begreb
- Pointere til variable, arrays og funktioner
- Snesevis af hjælpe-biblioteker (I/O, proces-styring, grafik, o.s.v.)
C har få konstruktioner (32 reserverede ord), men dem der er udnyttes optimalt. Således kan man ikke bruge C fornuftigt, hvis man lider af berøringsangst overfor pointere -
disse bruges næsten overalt. Denne kompakthed og ortogonalitet af sprogets instruktionssæt giver mulighed for at lave geniale, men komplet ulæselige løsninger. At man laver
"giftig" programmering, er imidlertid ikke oversætterens problem (man kan sagtens tvinge en maskine i knæ med få linier C kode !). C er maksimal frihed under maksimalt
ansvar ! Hvis man ønsker at se eksempler, kan man på Internettet finde oplysninger om fænomæner "the Obfuscated C Code Contest" som vindes af den, der for en given
algoritme kan skrive det mest totalt uforståelige stykke korrekte C kode, der implementerer algoritmen. (godt råd: lad være ... tekster på øst-tibetansk er langt lettere at
forstå !) C har været inspirator for en hel ny generation af sprog, alt fra fortolkede sprog som AWK, PERL, PHP og JavaScript og over til moderne objekt orienterede sprog som
C++, Java og mange flere. Fælles for alle disse sprog er, at alle de grundlæggende kode-begreber stammer direkte fra C. At kende C er en stor fordel når verdens nyere sprog skal
læres. En stor tak til Brian Kernighan og Dennis Ritchie for i 1972 at have tænkt enkle, simple og rene tanker. Den slags design holder beviseligt igennem årene, i
modsætning til store indviklede konstruktioner; som hurtigt ældes og forsvinder. |