Paul Korsgaard Datalogiske interesser

Tilbage

Nogle af mine interesser indenfor EDB (IT):

 

Mine interesser inden for datalogi, er kendetegnet ved at være ligesom mine andre interesser, jeg interesserer mig for den langhårede ende. Det der er svært at lave, det ikke ret mange kan. Jeg har aldrig interesseret mig for hardware, men har dog af og til været nødt til at sætte mig ind i det, f.eks. i relation til indlejret programmering (embeddet programming), protokoller og styring/regulering. Her de vigtigste punkter:

 

Abstrakt datalogi:

Det at kunne se et system helt ovenfra og overskue hvad der er af datalogi i det og de dermed forbundne farer. Én af mine kæpheste her er begreber som redundans og konsistens, ligeså at vurdere på systemet. Det kan være behov for maskinkraft (O), lager, transmissionskapacitet, antal simultane brugere osv.

 

Systemanalyse:


Dette er et af mine rigtige stærke felter. Jeg bruger typisk gamle teknologier som vandfaldsmodellen, trinvis raffeniment (stepvise refinement) og prototyping.  Jeg har læst megen OOA, OOD og OOP på universitetet og også lavet projekter i det, undervist meget i det og skrevet en bog om det, men det er ikke min favoritmodel. Jeg er og bliver procedural orienteret, det var det jeg startede min karriere med. Jeg kan faktisk stadig godt finde på at tegne et rutediagram (flowchart).  Engang var OO det store "buzzword", midt halvfemserne, i dag fornemmer jeg at holdningen til det er mere moderat.

 

Parallel programmering og parallelle systemer:

 

Parallel teknologi har altid interesseret mig, fordi det er svært, og fordi kun et fåtal af de der ikke er dataloger, kan det. For øvrigt er det heller ej alle dataloger der kan det. Vi kunne da heller ej i dag forestille os et operativsystem, der ikke kunne afvikle parallelt, endsige ikke have tråde implementeret. Jeg har brugt det i mange forskellige sammenhænge, ikke mindst til indlejret programmering (Embeddet Programming). Jeg har sågar taget en videregående forelæsning på DTU hvor vi brugte ML, tro det eller lad være. ML er beregnet til funktionsprogrammering. ML står for Modular Language og bruges ikke kommercielt, men en del i forskermiljøer. Jeg er ikke til ML, eller for den sags skyld funktionsprogrammering. Men jeg har set et program der kunne stå på en side, der kunne differentiere et vilkårligt udtryk indenfor de kendte regneoperatorer, potensopløftning og transendente funktioner. Fantastisk, ren rekursivitet. 

 

I prioritetsorden programmerer jeg i.:

Tilbage

BjarneJeg er ingen ørn til C++, men har ”programmeret” i det i 2 x ½ år. Jeg mener, som så mange andre, at skal man være en god C programmør skal man være datalog og have skrevet speciale i sproget. Skal man være en god C++ programmør skal man have skrevet Ph.D. i det. Det er naturligvis en generalisering, men den holder meget godt. I hele min karriere har jeg haft én ansat der kunne programmere C++, Jesper, én af de fantastiske jeg har mødt, ligesom Anders Hejlsberg, er Bjarne Stoustrup (billedet). Bjarne har "opfundet" sproget, og det kan vi være stolte af i Danmark Jeg har også haft den store glæde at arbejde sammen med Morten hos Nokia, han kunne det også. For øvrigt er både Jesper og Morten civilingeniører, men har medfødt talent. Morten er ham der engang konstruerede spillet Hugo, der var populært og blev blev vist på TV. Morten var dengang teenager. Efterhånden er C blevet det sprog jeg har programmeret mest i, med start i 1981, hvor det var ukendt. Det var da begyndt at komme frem, grundet UNIX, der jo er skrevet i C.

Det er mærkeligt stadig at kunne møde programmører, der mener de kan programmere i C++, fordi de anvender en C++ oversætter til at oversætte C programmer.

Rekursion:

Jeg har altid fundet rekursive algoritmer spændende, lige siden jeg i 1981 begyndte på Pascal, hvor begrebet anvendes tidligt i ”Bibelen”: Pascal users manual and report af Nikulaus Wirth (billedet, i ældre "version") og Kathaleen Jansen, 1973, værket har jeg har slidt flere op af. Jeg har altid brugt rekursion, og lærte det for alvor i 1986 på Danmarks Tekniske Universitet, hvor en professor fra numerisk Institut, forelæste i avanceret datalogi. Jeg kan lide konventionel rekursion, gensidig rekursion og rekursion med ”Backtracking”. Et eksempel på sidstnævnte, er opgaven med de otte dronninger (The eight queens problem), en algoritme der er ligeså klassisk som ”Bublesort”, fakultetsfunktion som rekursion eller ”Sieve” til at finde primtal.

 

Datastrukturer og Database konstruktion:

 

Jeg kan godt lide at arbejde med datastrukturer, men også med SQL (Structured Query Language) i form af at opsætte SQL sætninger, og endnu mere at reducere disse med boolsk algebra. Ud over dette, er jeg virkelig interesseret i at arbejde med dynamiske datastrukturer, altså pointere på én eller anden form, hvor de konventionelle og klassiske er: Hægtede lister, binære træer og B+ træer. Et godt eksempel på en hægtet liste er jo et filsystem.

Tilbage

Af systemer jeg blandt andet har udviklet, vil jeg nævne:  

 

Tilbage