Development

Software-ontwikkeling
Hello world!

Hello world!

Je kunt beter lappen broncode aanleveren dan weinig strakke code.

18 oktober 2019

Er wordt weleens gezegd dat programmeurs beroerde minnaars zijn, omdat ze 'klein' en 'snel' zo hoog in het vaandel hebben. Zo zijn verschillende programmeurs erin geslaagd om een volledig werkend schaakprogramma te maken in minder dan 1 kilobyte geheugen. Ter vergelijking: dat zijn 8 sms'jes. En tenzij u de regionaal kampioen bent, vegen die acht berichtjes u binnen de kortste keren van het bord.

Hoewel ik het niet tegen dat soort meesterprogrammeurs kan opnemen, kan ik best verdienstelijk programmeren, al zeg ik het zelf. Zo heb ik mijn eigen bytecode compiler, die niet alleen relatief klein is, maar ook nog eens een stuk beter presteert dan de concurrentie.

Omdat ik door de jaren heen een enorme bibliotheek van relevante functies heb opgebouwd, gebruik ik ‘m soms professioneel om even snel een probleempje uit de wereld te helpen. En uiteraard levert het ding hele strakke code op. In het merendeel van de gevallen komen die tooltjes niet boven de 25 kilobyte uit – inclusief runtime.

Maar inmiddels zijn de meeste mensen zo eraan gewend dat triviale programma’s megabytes van het geheugen in beslag nemen, dat ze er impliciet van uitgaan dat kleine programma’s wel triviaal moeten zijn.

Als je professioneel code kraste en serieus genomen wilde worden, was het niet slim om al te professioneel en serieus te werk te gaan.

Daar werd ik pas mee geconfronteerd, toen een klant me vroeg of ik 'even' een van mijn oude programma’s kon omzetten naar een PHP-scriptje.

Wablief?! Weliswaar had ik dat ding in een halve dag in elkaar gesleuteld, maar het bevatte wel een complete INI-file interpreter, een vrijwel volledige RFC 4180-implementatie, een logfile generator en een eigen databasemanagementsysteem. Dat was echt geen klusje dat ik even 'tussendoor' kon doen.

En toen begreep ik het. Als je professioneel code kraste en serieus genomen wilde worden, was het niet slim om al te professioneel en serieus te werk te gaan. Je kon beter lappen broncode aanleveren, die zonder aanwijsbare redenen compileerden tot enorme executables. Dan was je blijkbaar aantoonbaar lekker bezig geweest.

Ik zal toch eens met Java aan de slag moeten, vrees ik. Ik heb me laten vertellen dat alleen 'Hello world!' je al een megabyte aan code oplevert. Daar is dus goed over nagedacht.

Magazine AG Connect

Dit artikel is ook gepubliceerd in het magazine van AG Connect (novembernummer 2019). Wil je alle artikelen uit dit nummer lezen, klik dan hier voor de inhoudsopgave.

Reactie toevoegen