Informatisk julekalender: Lille Julaften

thompson_ritchie

Jeg har funnet frem et par skikkelige skjegg-nisser til å representere lille julaften. Siden utviklingen av de aller første datamaskinene er det er få, om i det hele tatt noen, som har hatt så stor påvirkning på utviklingen av programmeringsindustrien som det Ken Thompson og Dennis MacAlistair Ritchie hadde gjennom sitt arbeide med operativsystemet Unix og programmeringsspråket C på 70-tallet.

På 60-tallet jobbet Ken og Dennis sammen med å utvikle operativsystemet Multics, og samtidig utviklet Ken et programmeringsspråk han kalte Bon. Da Bell Labs trakk seg ut av dette prosjektet i 1969 brukte duoen erfaringen sin til å utvikle et nytt operativsystem som fikk navnet UNIX. Thompson bestemte også at OS’et behøvde sitt eget språk, og designet programmeringsspråket B, forløperen til C, som ble utviklet av Dennis. C er som de fleste vet fortsatt mye brukt i dag, og har influert de fleste, moderne programmeringsspråk. Unix har også vært betydningsfullt, og i tillegg til å direkte føre til utviklingen av Linux etablert det konsepter og prinsipper som nå er standard innen utvikling av operativsystemer.

Ken Thompson er også kjent for å ha utviklet UTF-8 encodingen, jobbet mye med både hardware og software for sjakk, og for å ha poularisert regulære uttrykk gjennom flittig bruk i ulike verktøy på Unix som editoren ed og tekstprosesseringsverktøyet grep. Av Kens nyere prestasjoner bør jeg også nevne at han er en av designerne bak Google’s programmeringsspråk Go.

Ken har mange litt spesielle holdninger til programmering, og det er inspirerende å høre på hva han har å si. Han er ekstremt produktiv, og har blant annet sagt:

“You can’t trust code that you did not totally create yourself.”

Som et eksempel på litt C-kode har jeg plukket ut implementasjonen av GCD, Greatest Common Devisor, fra kildekoden til Linux. Er du interessert finner du all koden på github.

 1 #include <linux/kernel.h>
 2 #include <linux/gcd.h>
 3 #include <linux/module.h>
 4 
 5 /* Greatest common divisor */
 6 unsigned long gcd(unsigned long a, unsigned long b)
 7 {
 8   unsigned long r;
 9 
10   if (a < b)
11     swap(a, b);
12   while ((r = a % b) != 0) {
13     a = b;
14     b = r;
15   }
16   return b;
17 }
18 EXPORT_SYMBOL_GPL(gcd);

C har fått mye pepper, og beskyldes for å ha ødelagt mye for utviklingen og bruken av høyerenivå-språk. Dennis sier det selv på denne måten: “C is quirky, flawed, and an enormous success.”

Kategorier: Julekalender.
RSS feed for kommentarene. Tilbaketråkk.

Én kommentar til “Informatisk julekalender: Lille Julaften”

  1. Rest in Peace Says:

    [...] skrev om Dennis i julekalenderen min i [...]

Skriv en kommentar

Tillatte tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Alf Kåre Lefdal: Distributed Podcast er også ganske interessant. De tar opp tema som fx. ...

Stian: +1 for 6er til This Developer's Life! Min definitive favoritt. Jeg trengte også...

Torbjørn: Takk for flere tips, Vegard. Deep Fried Bytes ligger på oversikten min fra 2009...

Vegar: Og glemte helt ios: Nsbrief og ideveloper live. Har du hørt på deep fried byt...

Vegar: Mye kjekt her. TDL, hanselminutes og .net rocks ligger i en klasse for seg. Suv...

Torbjørn: Helt enig, arkivet til Software Engineering Radio er en gullgruve om man vet hva...

Einar W. Høst: Jeg synes at det kuleste med se-radio er backloggen av intervjuer... det er noen...

arnab: fantastisk :)...

Olav: Glimrende blogg ! Modellen av hjernens arbeid passer ikke bare på nyskaping: ...

Torbjørn: Ja, flydesign trekkes ofte frem som et eksempel på dette fenomenet. Design av b...

Mulig relaterte linker

 Hold deg oppdatert

Søk i bloggen

Ferske innlegg

  • NodeJS vs. ASP.NET
  • Pulten min..
  • No ifs and buts
  • Community-fiskebolle på ROOTS 2012
  • Kategorier

  • .net ninja (37)
  • Bøker (18)
  • Diverse prosjekter (37)
  • DSL (10)
  • Erlang (10)
  • F# (5)
  • Hardware (1)
  • Jobb (78)
  • Julekalender (51)
  • kjempekjekt.com (23)
  • LISP/Clojure (34)
  • NDC (4)
  • NNUG / community (63)
  • O/RM & databaser (10)
  • Off topic (118)
  • OO-design/clean code (31)
  • Podcasts (15)
  • Polyglot (82)
  • Ruby (29)
  • Silverlight / RIA (3)
  • Software/verktøy (20)
  • Softwareutvikling (24)
  • Testing / TDD (30)
  • the contiki strip (13)
  • User experience (3)
  • WCF (3)
  • Webutvikling (34)
  • WPF (9)
  • WTF (13)
  • Last ned Wallpaper

    Programmeringsbloggens tøffe skrivebordsbakgrunn med snippets fra ulike språk laster du ned her!

    Abonner via epost

    Om du vil kan du få alle nye blogposter tilsendt til din epost. Abonner nå, det er kjempeenkelt!

    Meta