Godt nok ?

Jeg skal igang med en opgave der giver mig sved på panden, ikke meget sved, men lidt sved, for hvis det går galt på den forkerte måde, så er forsiden i alle danske aviser garanteret. Den tekniske side af sagen er der ikke nogen ben i, det skal bare gøres ordentligt.

Den Henrivende Redacteur havde inviteret til efterrationalisering i slyngelstuen i tordags og der kom vi til at snakke lidt om den slags opgaver og jeg nævnte i forbifarten, at programmører sjældent var stolte af deres værker.

Jeg vil tro at håndværkere er i stand til a bygge et hus, hvor de bagefter med klar røst kan sige: "Det er perfekt bygget, der er ikke et eneste bøjet søm i det hus", men som programmør er det en utrolig sjælden oplevelse.

Der er altid noget man ikke helt kan få sig selv til at være tilfreds med. Kode der er for komplekst, men man kan ikke se en simplere måde, kode der burde være mere kompleks end tiden tillod, kode der burde køre hurtigere og kode der er lige lovlig hurtig.

Eller, hvad der nok er det helt normale, der dukker uventede problemer op (eller som min ven degnen siger det: "Der kommer altid en mand med en hundeslæde på tværs.") hardware der næsten gør som der står i databladet, regler der kun er retningslinier, undtagelser til undtagelsernes regler og så videre.

Verden er ikke så simpel og todimensional som rutediagrammerne.

Når det kan lykkes for håndværkeren at liste et perfekt byggeri igennem i ny og næ, så er det fordi der sjældent er mere end nogle tusinde stumper i et dansk byggeri, selv hvis man tæller alle søm og skruer enkeltvis.

Man skal bruge ca. 1 mio stumper hvis man skal bygge et moderne hangarskib som CVN 76 Ronald Reagan, men mange af dem er ens, to atomreaktorer, fem tusinde senge.

Men inden min laptop når til et single-user prompt har der allerede været omkring end 1 mio linier kode involveret. Når jeg har fået startet X11, firefox og openoffice, så er der sejlet mange gange en mio linier kode forbi.

Almindelig god kode har omkring en fejl per 1000 linier, så mens jeg skriver det her, ligger titusinde skarpladte fejl på lur på min computer.

Burde vi være tilfredse og stolte over, at der ikke er flere ?

Som degnen siger: "Det skal jo heller ikke være en altertavle."

phk

Kommentarer (6)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Thøger Eskildsen

Jeg har endnu ikke set et perfekt byggeri, og det som er udført af de håndværkere jeg selv har haft hyret, kandiderer bestemt heller ikke.

Men du har da fat i et interessant emne, som jeg blot ville krydre med følgende: Jeg læste et perifert sted om en Mac-OS version, der var HURTIGERE på samme hardware end dens forgænger. Det står for mig som helt fænomenalt, med mindre at den gamle kode naturligvis var specielt dårlig, eller den nye udnyttede hardware-fordele forgængeren ikke havde adgang til.

Tænk hvis dette var sandt for flere nye distributioner!

  • 0
  • 0
Dennis Krøger

Mon ikke tabet af hastighed (og/eller større brug af resourcer) kommer med UI og applikationer?

Ofte vil man jo gerne benytte de hurtigere/større maskiner til flere features og mere bling (Nogengange er det en god idé, nogengange en forfærdelig idé).

  • 0
  • 0
Thøger Eskildsen

Der er grunde nok til at det burde være langsommere - det gør det så meget mere flot, når det faktisk ikke er tilfældet. Jeg må prøve FreeBSD.

Indlæg er i øvrigt interessant når det kædes sammen med det tidligere indlæg om strømforbrug. Alt andet lige vil en CPU, der kører en tung ineffektiv kode, vel bruge mere strøm end en, der køre mindre - men bedre kode.

Måske kan rigtig god kode blive Svanemærket ;-)

  • 0
  • 0
Thomas Hansen

Jeg tror nu at det for rigtige håndværkere er nogenlunde det samme.. Der er altid lige den der ting man godt ville have gjort anderledes, men budgetter, deadlines, eller kundes ønsker, gjorde at man blev nødt til at gøre det på en måde man ikke lige syntes var den mest optimale.

Problemet for vores slags (hvilket sådan set også gør sig gældende for almindelige håndværkere), er at meget af kvaliteten af vores arbejde ofte ikke rigtigt er synligt for andre end vores kollegaer. Gør koden det den skal, er kunden tilfreds, og så finder de ikke ud af om det er velstruktureret og dokumenteret kode, eller om det er en gang spagetti, før de (måske) engang i fremtiden skal have lavet noget om.

For at forsætte analogien lidt, så viser godt håndværk sig først efter lang tid, og hastigheden af udviklingen i vores branche lægger ligesom ikke op til at der om hundrede år er en af vores efterfølgere der banker på koden og siger 'det er håndværk.. Sådan laver de dem ikke mere'.

  • 0
  • 0
Peter Mønnike

Problemstillingen er interessant, måske endda konstant.

Jeg tror dog ikke den nødvendigvis er afhængig af kompleksiteten af det udførte projekt; det kan dog sagtes være determinator for hyppigheden af oplevede fejl. Det handler nok snarer om, at verden eller problemområdet ændrer sig så meget over tid, at tiden pludselig bliver den afgørende faktor i udviklingsprojekter. Det er klart, at man som programmør sandsynligvis har en personlig professionalisme, som skal tilfredsstilles, men i sidste ende handler det jo om, at produktet skal levere varen.

  • 0
  • 0
Log ind eller Opret konto for at kommentere