De absurde love i softwareverdenen

Billede af Commodore 64 kassetteafspilleren

Commodore 64 indlæste software fra en kassetteafspiller.

Har du nogensinde undret dig over, hvorfor smarte mennesker som softwareudviklere sviner det så ofte? Der er folk, der gjorde det. I dette indlæg gennemgår vi nogle af de uskrevne love, der beskriver professionelles adfærd af computere.

Min første computer var en Commodore 64. Omkring 30k RAM var til systemet, hvilket gav 32k til tekstbehandling, spil, regnskab for familievirksomheden og stort set alt andet, jeg laver på min 6gb computer nu. Det lader spørgsmålet stå åbent. Opfylder det nuværende udstyr softwarens behov, eller bruger softwaren flere hardwareressourcer, fordi de er tilgængelige?

Retfærdigvis er spillene ikke de samme, grafikken er heller ikke af samme kvalitet, og det ville have været umuligt at se film og lytte til musik. Det kan man dog ikke lade være med at tænke Der er programmer, der udgiver versioner og bruger flere og flere ressourcer uden egentlig at bidrage med noget nyt.

Her er årsagerne.

Zawinskis lov

Jamie Zawinsky, en udvikler hos Netscape, hævdede det hvert program inkorporerer funktioner, indtil det er i stand til at læse e-mails. Hvis det ikke lykkes ham, erstattes han af en anden, der er i stand til det.

Da han sagde det, var joken, at han henviste til programmer, der ikke oprindeligt var tænkt som mailklienter. Det holdt op med at være sjovt, da det blev opdaget, at mange apps på Google Play bad om tilladelse til at få adgang til telefonkomponenter og brugerdata, som de ikke behøvede for at udføre deres arbejde.

Nogle tolkede dette som en del af forsøg på at udspionere brugere. Men det er nok menneskets natur at gøre noget, simpelthen fordi det kan lade sig gøre.

Peters princip anvendt på software

Lawrence Peter blev berømt for at udtale, at i et hierarki rejser en person sig, indtil han når en position, som han er åbenlyst inkompetent til. Men han havde også tid til at sige noget om komplekse projekter:

"Et komplekst projekt vil blive for komplekst til at blive forstået selv af dets egne udviklere."

Princippet om mindste overraskelse

Udgivet i IBM Systems Journal i 1984, siger dette princip, at:

"Hvis en påkrævet funktion forårsager en stor overraskelse, kan det være nødvendigt at redesigne funktionen."

Med andre ord hvis en del af eller hele softwaren er meget forskellig fra, hvad brugeren var vant til, er den bedste ting at gøre et redesign. Idealet er at stræbe efter at opnå trinvise forbedringer, der er store nok til at være imponerende, men små nok til at forblive fortrolige for brugeren.

Ærgerligt, at Shuttleworth ikke tog højde for det, da han udgav Unity.

Lov om kybernetisk entomologi

Den første fejl (bug) i computerhistorien var ægte. En møl fløj ind i et af relæerne på en MARK II-computer og forårsagede en funktionsfejl.

Fortsat med metaforen, holder loven om kybernetisk entomologi det der vil altid være en fejl mere.

Det er noget, som alle computerbrugere ved. Uanset hvor meget et styresystem testes, er der altid en fejl, der opdages, når det er for sent.

Kernighans lov

Linux Adictos har et plugin installeret for at sikre, at vi forfattere skriver på en søgemaskinevenlig måde. Jeg hadede det fra dag ét. Ethvert forsøg på at skrive med en smule litterær flugt bliver straks fordømt med en rød cirkel. Som tiden gik, vænnede jeg mig til det, og jeg skal sjældent lave touch-ups.

Det samme sker for programmører, mange gange er de mere interesserede i at demonstrere deres evne til at kode end i at skrive enklere kode, der er lettere at forstå og vedligeholde.

Foto med tre størrelser af disketter.

I mere end et årti var disketter det primære middel til at distribuere software.

Derfor fastholder Kernighans lov, at:

“Fejlretning er dobbelt så svært som at skrive koden i første omgang. Så hvis du skriver kode så smart som muligt, er du per definition ikke klog nok til at fejlsøge den."

90/90 reglen

Enhver, der nogensinde har startet et for-profit-projekt i det virkelige liv, ved, at hvert projekt vil tage dobbelt så lang tid og have dobbelt så meget som budgettet for at opnå halvdelen af ​​det forventede overskud.

Computerverdenen har sine varianter af denne lov. For eksempel sagde en Tom Cargill:

“De første 90 procent af koden repræsenterer de første 90 procent af udviklingstiden. De resterende 10 procent af koden står for de øvrige 90 procent af udviklingstiden."

Var det ikke klart? Måske vil Hofstadters lov hjælpe:

"Det tager altid længere tid, end du forventer, selv under hensyntagen til Hofstadters lov."

Jeg gætter på, at Ubuntu- og Fedora-udviklere skal vide det. Eller i det mindste huske det hver 6. måned.

Brooks lov

Open source softwareprojekter har normalt to problemer; finansiering og mangel på samarbejdspartnere. Medmindre det andet ikke er et problem. Ifølge Brook:

"Ved at tilføje arbejdskraft til et softwareprojekt, der kører forsinket, vil det sætte det yderligere tilbage."

Det er forståeligt. Det er ikke kun nye kodere, der skal sættes i gang. Der vil være mere at dokumentere, mere bureaukrati for at holde alle i sync, og der vil formentlig være slagsmål.

Og selvfølgelig kan vi ikke glemme vennen Parkinson og hans udtalelse om det Det er lige meget, hvor meget tomt du starter med. du vil altid have brug for mere. Han henviste til kontorplads, men det samme gælder RAM og diskplads.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for data: AB Internet Networks 2008 SL
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   Jesuhadin Perez sagde han

    Fremragende tekst. Forståeligt, filosofisk og litterært. En af de bedste jeg har læst fra en linuxer. Tillykke.

  2.   Diego tyske Gonzalez sagde han

    Mange tak for din kommentar

  3.   Manuel Otzoy sagde han

    Alt sammen meget virkeligt, for mange år siden var jeg programmør, og jeg oplevede mange af de situationer. Tillykke. Jeg følger dig fra Chicago.

    1.    Diego tyske Gonzalez sagde han

      Mange tak

  4.   FAMM sagde han

    Principper, der gælder for næsten alle job