2. August 2022

KISS: Keep It Simple, Stu… Simon :P

Hello World

Jeg tænkte, jeg vil bruge bloggen til at skrive lidt om, hvad jeg går og laver. Kommentére lidt på handicapområdets (manglende) udvikling i vores samfund, og ellers skrive lidt om opdateringerne på mit hobbyprojekt “Handicapguiden.dk”

Efter at have arbejdet med .NET platformen i mere end 18 år, er jeg nu tilbage, hvor det hele startede, i hvert fald her på siden og simonjustesen.com. Med PHP. Jeg indrømmer blankt at økonomi også havde en betydning. Et .NET-site med all the bells and whistles er ret dyrt, og Jeg tænkte jeg kunne spare lidt “gryn” ved at skifte over til PHP.
Bloggen her er baseret på Flatpress - som ikke gemmer opslag i databaser, men i filer - det gør den nemmere at lave backup af.

Det er sjovt at prøve det simple igen. PHP får så meget røg ude på nettet - der er sådan lidt sprogsnobberi. Jovist, der er meget spaghettikode rundt omkring fra PHP 4-5 dagene, men der er kommet styr på standardbiblioteket. Bare at kunne fyre op for hele gøjemøget uden at skulle spekulere på, om modul xyz virker. PHP indeholder endda en udviklingsserver nu - i gamle dage skulle man lige sætte noget op selv, inden man kunne komme i gang. Jeg har slet ikke tal på, hvor meget jeg har “makket” med Apache-webserveren. Men så lærte jeg da det :)

Kompleksitet ødelægger det sjove

Serverside-Javascript eksekveringsmotoren (runtime? kørselsmiljø på dansk?) NodeJS og dens pakkemanager NPM har influeret rigtig meget, de senere år.. Alt for meget. At den satte skub i pakkehåndteringsværktøjer indenfor programmeringsområdet, synes jeg var megacool … Men dens dependencies knækker meget nemt. NodeJS’ oprindelige udvikler endte med at bryde ud og skabe Deno, som svar på de problemer, der har været.

For mit eget vedkommende, kom faktisk til et punkt, hvor jeg overvejede om det stadig var sjovt at programmere. Ikke så meget for selve udviklingen, for det har jeg altid synes var sjovt, men nærmere alt det bøvl udenom.

Jeg vil gerne mærke fremdrift. Der var dage, hvor jeg skulle bruge 1 time til 1½ på at løse toolchain-fejl inden jeg kunne komme igang med det, jeg egentlig skulle lave den pågældende dag. Noget kunne da tyde på at mine bønner er blevet hørt, for netop pga. de nye muligheder med WebAssembly i browseren, så er udviklerne igen begyndt at bygge “rene” toolchains, hvor man ikke blander teknologier, der passer dårligt sammen. Microsoft .NET Blazor er et af dem. Jeg ved ikke om jeg kommer til at bruge det, men det er fristende at bruge til Handicapguidens mobilapps.

En åbenbaring

Det var lidt af en åbenbaring jeg fik, efter jeg arbejdede ret intenst med programmeringssproget Python i foråret, som også er et fortolket sprog, ligesom PHP. Det der - skriv kode -> compile -> run -> gentag med compilede sprog som C# kan godt blive lidt irriterende. Jeg føler mig effektiv på en anden måde, når resultatet er på skærmen med det samme, som det sker med fortolkede sprog. Det er blevet lidt sjovere under .NET Core, fordi man kan sætte compileren i “watch”-mode og at compileren generelt er blevet hurtigere (Ahead-Of-Time Compilation), men du skal stadig vente på, at compileren genererer dine opdaterede filer.

Måske skulle Microsoft bare lave C# til et fortolket sprog, mens man udvikler i “debug”-mode, og så kan man vælge at compile, når man udgiver sit færdige produkt. Man kan jo se i Visual Studio, at det er muligt at lave gennemløb af kode næsten i realtid, så burde man også kunne lave det andet. Try-Catch blokke bliver først checket ved runtime, der kunne man måske flytte det til compile-time, og så hjælpe udvikleren ved at compile og tjekke den genererede assembly i baggrunden. Processorkraft burde være det mindste problem, de fleste computere i dag, burde have ekstra cores nok til at klare den :)