Tanker uge 37 - 2023: er programmering en ordre eller en bøn?

At få elektronhjernen til at gøre noget, kræver sine steder et mere og mere floromvundent sprog.

Som de fleste læsere her ved, laver vi hjemmesider på Drupal-platformen. Et sine steder genialt system, der håndterer tusinder af brugere, artikler, billeder, videoer, betalinger osv. osv. så godt, at rigtig mange mediersites bruger det.

Man kan lave et fortrinligt mediesite uden at kunne programmere. Det er først, når det bliver svært, at vi bliver tilkaldt. Gudskelov.

Nuvel. Drupal er på 20 år gået fra version 1 til version 10 og på det seneste er der sket noget interessant i programeringsdelen.

Drupal 7, 2013: <

drupal_set_message($message, 'warning');

viser en besked til brugeren. warning indikerer at beskeden skal farves gul.

Herligt simpel sætning. Programmøren giver en ordre.

Drupal 10, 2023: <

\Drupal::messenger()->addMessage(\Drupal::service('renderer')->render(['#markup'=> $message])->__toString());

Nu er det ikke så meget en ordre som en bøn. Til syv navngivne helgener, der alle associeres med beskedvisning.

Den stakkels programmør skal først påkalde messenger-funktionen, fortælle at der skal tilføjes en besked (addMessage), at den skal vises som HTML og at der skal formateres på en særlig måde.

Rækkefølgen af påkaldelserne betyder dertil meget.

Går der det mindste galt - er bønnen ikke 100% korrekt - standser AL kommunikation. AddMessage, addMessage og addmessage er vidt forskellige bønner og kun én af dem vil blive hørt.

Åndssvagt design. Grundløs præcision.

Hvorfor ikke bare simple ordrer? <

Udviklingen fra simple ordrer til komplicerede bønner skyldes flere ting.

  • Optimering. Det koster nogle mikrosekunder at indlæse messenger-funktionaliteten. Hvad hvis vi kun nøjes med at indlæse den, når vi har brug for den? Så kører det hele hurtigere 99% af tiden! Det er korrekt. Men på de ti år er servernes styrke mere en tusindedoblet. Og caching gør disse puristiske øvelser overflødige.
  • Præcision og præsteskab. Programmører er et sært folkefærd og en del har vist OCD. Så de drømmer om perfekte, præcise arkitekturer og designs, hvor alt går op i en højere enhed. Jeg tror også at en stor del af programmørerne tiltrækkes af at være en del af et præsteskab, der taler et uigennemtrængeligt, men uomgængeligt sprog.
    Jeg er selv programmør og (specialeløs) datalog af den halvgamle skole. Alligevel synes jeg at det er en synd at kalde store mængler præcision/kompleksitet ned over folks uskyldige hoveder. Lyset/programmeringen bør ikke være for de lærde blot. Programmering skal kunne komme flere til gode og ikke kræve åndssvagt komplicerede værktøjer. Enkelhed er en lige sså stor dyd som præcision.
  • Bedre værktøjer. Koderedigeringsprogrammerne kan nu huske 1.000, 10.000, 100.000 påkaldelser automatisk. Ingen grund til at begrænse sig! Jeg vil dog hævde at ordren drupal_set_message($message, $messagetype) er væsentlig nyttigere og lettere at huske og bruge end de flerleddede påkaldelser.

To filosofier <

Jeg elsker ordre-tilgangen til programmering. "Elektronhjerne! Hvis ditten, gør datten.". De lange bønner, udformet med hjælp fra redigeringsprogrammerne, gør ikke noget godt og passer ikke til mit selvbillede.

Alligevel er jeg dog lidt optimistisk.

Det kan snildt være, at der er gået mere præsteskab i meget programmering.

Men efterhånden starter enhver programmeringsopgave med at afgive en simpel, præcis ordre til ChatGPT/Copilot, der så hoster op med formfuldendt og ofte korrekt kode.

Så I praksis tynges vores arbejde i aftagende grad af bønfaldelsesparadigmet.