Che cosa è un modello di programmazione?

Qui il modello di programmazione è ciò che le istruzioni (la lingua) richiedono per funzionare correttamente. L’implementazione di tali istruzioni sono i dettagli che possono cambiare senza modificare il risultato di seguire tali istruzioni.

Ad esempio, se le mie istruzioni sono che dovresti spostare 3 piedi a nord e 2 piedi a ovest, puoi implementare quelle istruzioni spostandoti prima a ovest e poi a nord, prima a nord e poi a ovest, o spostandoti diagonalmente in direzione nord-ovest. Si può anche stager circa in modo casuale fino a quando vi capita di essere al posto giusto e poi fermarsi. Ognuno di questi segue le istruzioni. Il modello di programmazione qui è l’idea di trasferirsi in un punto diverso. Non è il modo in cui ti trasferisci in un posto diverso. “Come” è dettaglio di implementazione.

Un linguaggio di programmazione o un set di istruzioni astraggono entrambi i dettagli di implementazione di cui non si preoccupano. Ciò lascia a coloro che progettano compilatori, interpreti, JVM e CPU spazio per fare scelte su come implementare supportando questo modello. Queste scelte possono rendere le cose più robuste, efficienti, manutenibili ed estensibili. Oppure possono non farlo. Ma finché fanno ciò che le istruzioni hanno chiesto mantengono ancora il modello di programmazione.

Finché l’implementazione supporta il modello di programmazione, puoi fidarti che quando segue le istruzioni ti darà ciò che avrebbe dovuto darti.

Anche capire che questi possono strato. Potresti avere un modello di movimento che espone l’idea di spostare solo nord & sud e est & ovest senza lasciare modo di muoversi in diagonale. Quel dettaglio non sarà nel modello di posizione sopra, ma sarà qui nel modello di movimento. Ciò che non è nel modello di movimento è se cammini, vai in bicicletta o nuoti per fare questi movimenti.

Ogni volta che modelliamo abbiamo scelto cose di cui preoccuparci a questo livello. Altre cose che astrarre via e lasciare che qualcos’altro trattare con loro.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.