Poul-Henning Kamp: Ungdommen kan ikke programmere til et moderne OS

Tags:    it-nyheder

<< < 12 > >>
Den lynhurtige webcache Varnish blev udviklet for at demonstrere, hvor effektivt en moderne operativsystemkerne kan bruges. Det lærer man stadig ikke på udvikler-uddannelser, lyder det fra Poul-Henning Kamp, der står bag Varnish.

Læs hele nyheden her: http://www.udvikleren.dk/Redirect.aspx?mode=version2&id=3858&cst=4



Bliver godt nok en smule rystet over hvor kort nogle af jer kigger ud over jeres egen næse.

Brian Hvarregaard du siger godt nok at datamatikere er bedre end dataloger i din branche, men du kan altså ikke skære alle dataloger over en kam fordi du har mødt 1-3 af slagsen.
Når du sidder og føler dig overlegen fordi du kan kode XXX skal du huske på det operativ system og hele din udviklingsplatform er lavet af en hær af dataloger og phd'er.
Hvorfor tror du så de har brugt så mange ressourcer på netop at lave noget så stort og kompliceret som .NET platformen? Ja det er netop fordi man derved har skabt et abstraktionsniveau, så andre kan komme i gang med at programmere med en lille kort uddannelse.

Tænk over det næste gang du booter pc'en og starter dit udviklingsmiljø.
Grunden til du ikke har memory leaks kan du også takke datalogerne for :P



Snakker PHK ikke om dem der allerede læser til "bitskubbere" ikke får nok ballast med?
Jeg kan nu godt se at man skal uddanne bredt og man så derefter kan den uddannede selv tage stilling til hvad man vil dykke ned i.



Robert, jeg tror egentlig bare at Brian forsøger at argumentere for at man ikke nødvendigvis bliver et hit i den virkelige verden, fordi man kan presse 2% ydelse mere ud af sin CPU. Jeg tror ikke at der er nogen af os der er i tvivl om at der er brug for dataloger og den mere teoretiske tilgang til programmering, men det betyder jo altså ikke at det er det _eneste_ der er brug for :)

Mvh.

Kasper (TSW)



Robert, jeg tror egentlig bare at Brian forsøger at argumentere for at man ikke nødvendigvis bliver et hit i den virkelige verden, fordi man kan presse 2% ydelse mere ud af sin CPU. Jeg tror ikke at der er nogen af os der er i tvivl om at der er brug for dataloger og den mere teoretiske tilgang til programmering, men det betyder jo altså ikke at det er det _eneste_ der er brug for :)

Problemet er at artiklen handler om, at dataloger ikke lærer nok af det som dataloger bør lære - Brian siger at de lærer for meget af den slags, og at dataloger dermed burde være mere som datamatikere. Som argument herfor fremhæver han at "erhvervslivet" ikke har brug for "bitskubbere".

Det er vi nogle der mener er en ret indsnævret synsvinkel.

Selvfølgelig skal dataloger da lære om at kode opad et moderne operativsystem med alle de resourcer og værktøjer det bringer med sig. Der er ingen grund til at lære dem de dogmer man brugte på ZX Spectrum når vi lever i multikernel-virtualiserings-cloud-computing tidsalderen.



Jeg er nok lidt uening det med at mange steder lærer man ikke om trådning. Selv på datamatikerstudiet hvor jeg går skal vi lære om trådning. Nok ikke så dybt som han måske kan tænke sig, men vi har det.


Jeg gik også på datamatikerstudiet og vi havde en hel masse om tråde, men det har jeg så erfaret senerehen, at det var lige til at lukke op og skide i.

PHK er én af de dygtigste udviklere, jeg kender, og jeg var til FOSS, da han gav en talk om effektiv programmering. I kan (og bør) downloade en video af hans talk her: http://mirrors.dotsrc.org/blivklogere/foss_aalborg/2008/efficient_programming_for_modern_computers--Poul-Henning_Kamp--danish--FOSS_Aalborg.mp4



For øvrigt kan jeg huske, at mindst tre fjerdedele af de datamatikere, jeg blev uddannet til ikke havde hjerne til at skrive et hallo world program.

Det duer altså bare ikke, at programmører i dag ikke har ordentlig forståelse for virtual memory, tråde, IO og den slags, og det har alt for mange ikke.

Når jeg køber en dyr og hurtig maskine, forventer jeg, at den yder godt...ikke at den kompenserer for elendige programmører.




Jeg gik også på datamatikerstudiet og vi havde en hel masse om tråde, men det har jeg så erfaret senerehen, at det var lige til at lukke op og skide i.


Det kan jeg så ikke udtale mig om da vi endnu ikke er kommet så langt. Indtil videre synes jeg at vores lærer virker kompetente, men det ser jeg til den tid. :)




Jeg gik også på datamatikerstudiet og vi havde en hel masse om tråde, men det har jeg så erfaret senerehen, at det var lige til at lukke op og skide i.


Det kan jeg så ikke udtale mig om da vi endnu ikke er kommet så langt. Indtil videre synes jeg at vores lærer virker kompetente, men det ser jeg til den tid. :)


Jeg synes også at mine lærere var kompetente, men i særdeleshed trådhåndtering blev ikke dækket ordentligt...eller i hvert fald, vi fik ikke de guldkorn, som findes, til at løse trådrelaterede problemer. Vi fik at vide, at vi skulle synkronisere os ud af deadlocks og race conditions osv., men det kan jeg så sige her snart 10 år efter at jeg stoppede, at synkronisering skal begrænses til et absolut minimum, men så er tråde sgi heller ikke så svære at arbejde med...men hvordan man håndterer dem, det var jeg selv nødt til at finde ud af, og det tog et par år.



Jeg går på datamatikerstudiet, og jeg ved at vi kun har skrabet overfladen. Vores lærer har fortalt meget godt, men han bruger konsekvent sætningen "I den virkelige verden", og når de ord kommer, så ved vi at det vi lærer her er en løsning, men at man i den virkelige verden måske vil bruge noget andet og mere effektivt. Han ved godt at størstedelen af klassen aldrig har rørt programmering før og derfor mangler en forståelse for hvad det er der sker, før man snakker om guldkorn.




Jeg går på datamatikerstudiet, og jeg ved at vi kun har skrabet overfladen. Vores lærer har fortalt meget godt, men han bruger konsekvent sætningen "I den virkelige verden", og når de ord kommer, så ved vi at det vi lærer her er en løsning, men at man i den virkelige verden måske vil bruge noget andet og mere effektivt. Han ved godt at størstedelen af klassen aldrig har rørt programmering før og derfor mangler en forståelse for hvad det er der sker, før man snakker om guldkorn.


Problemet med undervisningen var, at de løsninger der blev foreslået bare ikke har chancen for at fungere i moderne programmering, hvor du ikke ved i hvilken kontekst din kode eksekverer. Måske fra en GUI's event handler, måske fra en tråd du selv har startet eller noget helt tredje. At synkronisere alle vegne giver dårlig performance og stor sandsynlighed for deadlocks. Men det behøver slet ikke at være så svært.

Dining philosophers problemet burde (efter min mening) løses, ved at én filosof blev udnævnt til at servere og finde pladser for de andre. Så er der kun én som kan gå hen til bordet, og han kan så finde en plads til de andre. Super simpelt, og det er den løsning jeg selv har implementeret i CEGO's spil udviklings framework (www.komogvind.dk) og vi har ikke haft trådrelaterede problemer i snart fem år...og vi tænker slet ikke over tråd problematikker.



<< < 12 > >>
t