Kompleksitet i IT: Vi genopfinder det runde IT-hjul gang på gang

Computerne udvikler sig hastigt i ydelse via Moores lov. Det er jo fantastisk, men hvis jeg træder et skridt tilbage og er grov, så ser jeg på IT som et kæmpe rodebutik af fejltagelser, starten forfra masser af gange, person-fikserede kampe, industri-kampe af dimensioner. I store træk direkte modsat den fysik, jeg har lært i min uddannelse.

Hvorfor kan det være at vi har haft Cobol, PL/1 og Fortran som reelt er glemt af de fleste. Pascal og C var det jeg skulle lære under mine studier, mens nutidens studerende nærmere lærer Java, C++ eller C#. I betragtning af hvor kort en årrække disse evolutioner af forskellige programmeringssprog er sket over, så er jeg ikke imponeret, snarere bekymret over hvor meget arbejde vi har smidt ud til højre...
Naturligvis er sprog som C++ bedre egnet til store programmeringsopgaver end Cobol, men i betragtning af at der er masser af andre programmeringssprog såsom Ada, Haskel, Perl, PHP osv. så leder dette mine tanker hen på den babylonske forbandelse med at alverdens folk taler med så mange forskellige sprog. Suk....
Man kan diskutere om C++ er en overbygning på C - Bjarne Stroustrup vil sikkert benægte dette - men generelt er nye programmeringssprog ikke nedadtil kompatible med tidligere sprog. Syntaks-forskelle er normen mellem programmeringssprog - sikkert fordi "man kan" snarere end solide fornuftsmæssige. Indenfor IT favoriserer vi åbenbart revolution fremfor evolution.

Indenfor Linux-distributioner har vi tilsvarende set en lang række personligheder tage en eksisterende distribution og mene de kunne revolutionere den næste Linux-distribution, snarere end at søge konsensus med eksisterende distributioner om evolution. Det er nemt at brække af og selv definere fremtiden, fremfor at deltage aktivt i eksisterende projekter. Et af de nyere skoleksempler er Beryl projektet, som dog nu igen søger ind sammen med Compiz-projektet. Går vi lidt tilbage var det HPUX, Solaris og AIX, som tilsvarende kom fra samme base - men disse forskellige UNIX-varianter gled fra hinanden. Microsoft har også kørt i samme dur med at definere eget styresysten fremfor at adoptere eksisterende systemer.
Træder vi et skridt tilbage er det imponerende hvor mange ressourcer, der er blevet spildt fordi typisk nogle enkel-individer har peget på revolution fremfor evolution.

Det eneste reelt positive jeg kan komme på er at disse revolutioner har skabt masser af arbejde, når vi igen-igen har genopfundet det runde IT-hjul....
Sammenlignet med fysikken evolution gennem de sidste 500 år så er udviklingen af IT nok et af menneskets mest rodede, usystematiske og alligevel fascinerende udviklinger.

Det er lidt interessant at der historisk har været flere tiltag til at lave standarder, men IT har snarere været kendetegnet ved ikke at været synderligt interesseret i standarder - måske på nær netop nu med ODF og Microsofts OOXML, hvor ordet "standard" eller endda termen "åben standard" nu er et krav - mens vi fortsat er dårlige til at teste om de enkelte produkter reelt lever nok op til de standarder.

Ideen med åbne standarder er i mine øjne en af de bedste veje fremad, fordi ideen er at alle kan implementere egne løsninger og de forskellige løsninger så vil kunne sameksistere. På teleområdet med GSM og UMTS har denne standardiserings-stategi mellem forskellige leverandører fungeret meget fint igennem mange år.

Det er også lidt interessant at IT-chefer ser ud til at reagere imod "IT-rod". Prisen for en rodet IT-verden på udviklingssiden ser ud til at være hyper-konservatisme på "deployment"-siden...

Hvordan kan vi få bedre styr på rodet, og ikke give mega-firmaer så som Microsoft alle kort på hånden?

/pto

Læs hele serien;

Kommentarer (6)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Peter Makholm Blogger

Jeg synes at du er for hurtige til at fremhæve revolution som den eneherskede udviklingsmodel inden for IT frem for evolution. Langt de fleste Unix-varianter og Linux-distributioner er da netop opstået ved at udvikle eksisterende varianter og distributioner i nye retninger.

For mig at se skyldes det resursespild du direkte påpeger ikke at enkelt-individer peger på revolution, men netop at software-projekter udvikles ved evolution og nogle gange sker det bare paralelt på en måde hvor de forekellige udviklingstræer bare ikke mere er kompatible. Vi genopfinder hjulet - ja - men det har den biologiske evolution også gjort utallige gange. Se bare på lighederne mellem visse havøgler og visse af nutidens havdyr.

Bagudkompatibilitet koster også resurser og er direkte fejlkilder. Tænk bare hvis vi kunne tage alle strengfunktionerne i C og smide dem væk der ikke krævede angivelse af hvor meget plads der var til rådighed. Men det gør vi ikke i bagudkompatibilitetens navn.

Det er min opfattelse at udviklingen af IT (som fagområde) stemmer meget overens med Kuhns paradigmeskift. Så kan vi så overveje forskellige grunde til at de enkelte paradigmer overlever meget kortere i IT end i fysikken. En del af forklaringen er nok at fysik er en meget mere fast størelse og der derfor skal en større mængde anomalier til for at fremtvinge et paradigmeskift.

  • 0
  • 0
Frank Vilhelmsen

Undskyld men jeg forstår ikke denne artikel.

Jeg er enig i at vi i alt for stor udstrækning bygger nye hjul igen og igen.

Jeg er bange for at du med denne artikel vil bidrage til den generelle forvirring i IT branchen. Du lister en masse ord om programmeringssprog, standarter og industri-kampe og ender op med din egen ide om hvordan verden skal se ud.

Problemet er at der findes mange som dig, og alle vil have forskellige standarter som passer præsis til deres egen kasse. Det handler udelukkende om mennesker når vi genopfinder.

At sammenligne fysikkens evolution med IT finder jeg underlig. IT er et værktøj som kan forkorte lidt tid. En fakturer hugget ud i sten er fuldstændig det samme som en PDF. Den er bare nemmere at transportere.

Et godt eksempel på en løsning eller en ”Best practice” om man vil, der er ca. 500 år gammel er bogtrykkerkunsten. Johann Gutenberg fastlage metode i 1455.

  • 0
  • 0
Jørgen Henningsen

Der er jo nogle faktorer, som driver dette konstante krav om ny IT vin på gamle flasker, eller hvordan man nu skal udtrykke det?

Faktisk er det jo slet ikke så dumt at sammenligne med naturvidenskaben. For eksempel kan matematikken, som vi bruger til at beskrive eet fysisk fænomen ofte vise sig at være fuldstændig analog i en række lignede fænomener (dynamik f.eks.). Det er hjulet forfra igen og igen. Naturvidenskaben er f.eks. også fuld af eksempler på opslidende personkampe (Einstein/Bohr f.eks.). Jeg ser denne opslidende (men ofte underholdende) proces som en nødvendighed. IT verdenen er bare så uoverskuelig fordi den er allemandseje og overrendt af amatører uden videre uddannelse.

Egentlig så passer computeren og softwaren jo fint ind i termodynamikken, fordi computeren bruger energi til at skabe orden (i en datastrøm el.lign.).
Jo bedre du koder og jo mere sparsommelig din processor er, jo mere orden kan du skabe pr. Watt du trækker fra forsyningen. Kravet om abstraktion og overskuelighed trækker i den modsatte retning. Jo højere abstraktionsniveau du ønsker, jo mere overhead for du automatisk også. Computeren bliver hurtigere og hurtigere og derfor bliver mulighederne bare ved med at blive større. Det bliver software verdenen nødt til at tilpasse sig.

  • 0
  • 0
Thøger Eskildsen

Interessant indlæg, og i IT er der rigtig mange programmer/metoder/distributioner mv. der næsten er ens lige bortset fra ... noget man tit ikke kan finde.

Men sammenligningen til fysik holder ikke på den måde, du stiller det op. For man kunne bare sige: En for-løkke eller en while-løkke - det er grundlæggende IT - smuk og uforanderlig ligesom E=mc^2. Sidstnævnte ligning er også brugt igen og igen til at beregne de samme ting - af forskellige mennesker og til forskellige tider. Den er der også bakset og rodet med.

Da smede begyndte at lave møtrikker, lavede de dem garanteret også i deres egne størrelser. Først senere blev der standarder for dem. For IT synes dette senere ikke at indtræffe, da der stadigt laves noget nyt og bedre. Det er mest et udtryk for fremskridt - fremskridt man ikke kan fremvise indenfor møtrikker. Stilstand giver mindre rod!

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