> On 26/05/2022 16:46, Joe wrote:
>> Machinetaal (assembler) was leuk man! Zelf modificerende code enzo. Daar is geen enkel bedrijf aan onderdoor gegaan.
>
> Vandaar dat het niet meer gebruikt wordt?
Het ideaal is dat de programmeur er niks van hoeft te snappen wat ie doet.
Want dan is ie goedkoop op te leiden en goedkoop in te zetten.
Toen ik nog op school zat leerden we de architectuur van de computer,
de bijbehorende assembler taal, en wat bijvoorbeeld een compiler deed
om van een "hogere programmeertaal" machinetaal te maken (evt via assembler).
Tegenwoordig leert men dat niet meer, althans meestal niet. Men leert
zich te richten op het op te lossen probleem in plaats van op de
werking van de computer. Ik denk dat de meeste "programmeurs" geen
idee hebben hoe een CPU werkt.
Daardoor zie je ook dat hogere programmeertalen die nog heel veel
van de machine laten zien en vereisen dat je snapt hoe de machine
werkt, bijvoorbeeld "C", het onderspit delven. De programmeur snapt
helemaal niet waar ie mee bezig is en "doet maar wat", om te kijken
of het toevallig werkt, en daarmee bouwt ie allerlei fouten in het
programma die later een veiligheidsprobleem zijn of crashes veroorzaken.
Als je in assembler kunt programmeren kun je ook een C programma schrijven
wat niet op grenscondities crasht. Maar mensen kunnen geen C meer
schrijven want "dat is een gevaarlijke taal die niks checkt" en zelf
de checks waar nodig inbouwen dat kunnen ze niet meer.
Daarom verschuift alles naar talen die helemaal niets meer laten zien
van wat de computer precies doet, en verschuift de denkwereld van
programmeurs van het bedenken van effectieve algorithmes naar het
aaneenschakelen van eerder gemaakte blokken, zelfs als die niet goed
passen. Je krijgt dat software die goedkoper te ontwikkelen is, en
als je geluk hebt ook doet wat je wilt, maar die wel tot 1000 keer meer
"machine power" vereist om hetzelfde te doen.
Dit wordt dan verdedigd met "maar computers zijn nu goedkoop", echter
de wachttijd die onvermijdelijk toch veel langer wordt die is niet
goedkoop.
Bedenk je maar eens hoeveel miljoenen manuren er al verloren zijn
gegaan door het wachten op Windows Update. De acties die dat ding
uitvoert zijn tamelijk triviaal en kunnen op een machine met snelle
"disk" (SSD) binnen een paar seconden uitgevoerd worden, maar toch
zit je maar te wachten en is de CPU al die tijd 100% belast.
Schakel uw computer niet uit!
Gewoon omdat het niet efficient geprogrammeerd is, en dat de makers
cq verkopers niks kan schelen. Danwel ze zover vervreemd zijn van
efficient programmeren dat het niet eens in ze opkomt er eens naar te
kijken waarom het toch zo lang duurt allemaal.