Voor iemand die assembly gewend is is C of java een model. Iedereen die denkt dat "code genereren op basis van modellen de toekomst is" heeft niet door dat dat al het heden en de geschiedenis is (voor zover je bij programmeren al over "geschiedenis" mag spreken). Een java-programma is een model (want het abstraheert weg van alle technische details van memory management en bytecode-instructies) en het genereert code (je compileert het namelijk).
Alle technische details die weg te abstraheren zijn (jumps naar control-structuren, memory-allocatie naar scoping/lifetimes, etc.) worden al lang weggeabstraheerd, en het resultaat van die abstracties kun je een model noemen. De meesten noemen dat echter gewoon een high-level programmeertaal. Er is geen enkele indicatie dat door die abstractie programmeurs ineens niet meer nodig zijn, want als je het éne probleem hebt weggeabstraheerd loop je direct weer tegen het volgende probleem aan. En om dat probleem op te lossen is net zo goed weer een programmeur nodig. Kijk naar talen als SQL die ooit bedoeld waren voor gebruik door niet-programmeurs. Ja, leuk, als je drie tabelletjes met twee kolommen hebt misschien. Maar zodra je met dat model iets simpels kan maken is er direct weer behoefte om er ook iets complexers mee te doen en daar loopt de niet-programmeur meteen weer vast.
Velen vinden ook dat "een model" iets moet zijn met plaatjes. UML of toestandsdiagrammen of iets dergelijks. Leuk, maar die zijn alleen geschikt voor een overzicht op hoog niveau. Ga je alle details erin verwerken die je nodig hebt, dan wordt het een onbegrijpelijke spaghetti, en heb je iets nodig met hierarchie, structuur, etc. en is de conclusie: je hebt een net gestructureerd software-project nodig. Tadaa, en we zijn weer terug bij het programmeren.
[
Voor 5% gewijzigd door
bwerg op 09-11-2021 09:35
]
Heeft geen speciale krachten en is daar erg boos over.