Link til SuperUsers hjemmeside. Link til kursusinformation - herunder beskrivelser, instruktører, datoer, priser, certificering, forløb, praktiske oplysninger og kørselsvejledning. Link til oplysninger om certificering - generelt og specifikt. Link til konsulent- og udviklingsydelser - generelt og specifikt. Link til artikler Link til hvem, hvad, hvor ... om SuperUsers. Link til kontaktinformation og formular til bestilling af materialer. Link til tilmeldingsformularer samt kursusdatoer og -priser. Link til søgning i SuperUsers' website.

Til Oversigt over Artikler

Artikler
Hvad er C
 

 
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.

 
© SuperUsers a/s
SJÆLLAND: Karlebogaard * Karlebovej 91 * DK-3400 Hillerød * Telefax  (+45) 48280705
JYLLAND:
Kampehøjgaard * Krajbjergvej 3 * DK-8541 Skødstrup* Telefax  (+45) 87490705
Telefon (+45) 48280706  *  Email super@superusers.dk  *  URL www.superusers.dk
---
Fejl/Kommentarer vedr. dette website bedes rapporteret til: webmaster@superusers.dk