Informatisk julekalender: Luke 19


søndag 19. desember 2010 Julekalender Spill

russel

Steve "Slug" Russell er en programmerer og informatiker som er kjent for to svært ulike bidrag til faget. Det overlates til mine lesere å avgjøre hva som var det viktigste…

Spacewar!

I 1961 lagde Russel ett av de aller første dataspillene, nemlig Spacewar!. Hvilket spill som var det aller første er et uavklart sprøsmål, men Spacewar! var uten tvil det første som ble populært, og i alle fall det første spillket i "shoot-'em' up" sjangeren.

Bildet nedenfor viser den siste, gjenværende PDP-1 computeren, som er den typen maskin spillet orginalt ble utviklet for. Det befinner seg på Computer History Museum i California, og som du ser fungerer det å spille Spacewar! på den fortsatt.

800px-Spacewar!-PDP-1-20070512

Spillet består av to romskip, “the needle” og “the wedge”, som forsøker å skyte hverandre mens de navigerer i gravitasjonsfeltet til en stjerne.  Hyperspace-funskjonen kunne benyttes som en siste mulighet for å unnslippe fiendens raketter, men det var helt random hvor man dukket opp igjen. Spacewar! inspirerte utviklingen av mange lignende spill, og det finnes et utall kloner.

Lisp og continuation

Steve Russell kodet de to første implementasjonene av programmeirngsspråket Lisp for IBM 704-maskinen. Han var også den første som implementerte en tolker (interpreter) for språket – tidligere Lisp-implementasjoner hadde fokusert på kompilering.

Han oppfant også det vi kaller for en continuation. Continuations er en ekstremt kraftig, men også ganske farlig, teknikk man har tilgjengelig i enkelte programmeringsspråk. Her er en kort beskrivelse fra LandOfLisp.com:

Basically, continuations let you put "time travel" into your code. This allows you to do things like run programs backwards, sideways, or in other crazy ways.”

“For instance, it's great for implementing advanced programming techniques, such as nondeterministic programming. In nondeterministic programming, you write code that offers the computer multiple choices for what to do next. If one choice isn't satisfactory, the computer can "roll back time" with continuations to try a different path.”

Det er mye å si om dette temaet, men jeg tror det er noe jeg må komme tilbake til ved en senere anledning. De som vil vite mer kan jo begynne på wikipedia


comments powered by Disqus