La differenza tra tasto è la seguente:
-
Quando si effettua uno sviluppo di alto livello, si tratta principalmente di come risolvere un problema del mondo reale. Il tuo "dominio del problema" è una situazione reale, le tue entità sono entità del mondo reale e la tua logica è logica di applicazione . (Il termine "mondo reale" è alquanto flessibile, qui, poiché ad esempio potresti sviluppare un MMORPG, come World of Warcraft, nel qual caso il mondo è tutt'altro che reale, ma comunque, all'interno di quel contesto, questo è il mondo che sei trattando come reale.)
-
Quando si esegue lo sviluppo di basso livello, si tratta principalmente di come far sì che la macchina esegua un'attività specifica nel modo più efficiente possibile. Le entità con cui hai a che fare sono per lo più di natura altamente tecnica, come blocchi di memoria, catene di blocchi, valori hash, ecc. E la tua logica non ha nulla a che fare con il mondo reale e tutto ciò che riguarda la macchina. Ti occupi spesso di concetti completamente specifici della macchina, come endianness di parole macchina o porte I / O attraverso il quale puoi comunicare con un dispositivo specifico e le sequenze di bye che devi inviare per farlo svolgere il suo lavoro.
Di fatto, quando si interfaccia tra codice di alto livello e codice di basso livello, è spesso utile trasformare le entità di alto livello in entità di basso livello (o semplicemente visualizzare il primo come quest'ultimo, senza necessità di una vera trasformazione) in modo che il codice di alto livello non debba mai occuparsi di problemi di macchina, e il codice di basso livello non deve mai occuparsi dei problemi delle applicazioni.
Quindi, nella tua domanda potresti avere una collezione di, diciamo, clienti, e fare le cose con esso del tipo che facciamo con i clienti, come addebitarli per i beni acquistati, o inviare loro newsletter, senza preoccuparsi del rappresentazione interna della collezione. Nel tuo codice di basso livello, tuttavia, vedrai la raccolta come una serie di puntatori fissi agli oggetti, e potresti non sapere nulla su questi oggetti se non che potrebbero essere invocati per confrontarsi tra loro o per calcolare i propri valori hash. Non dovresti sapere che sono clienti e non devi inviare loro newsletter con codice di basso livello.
Quindi, se ti trovi a usare un linguaggio di basso livello come C, e dovendo trattare con entità applicative come "clienti", stai sbagliando. Ti è stato chiesto di usare la lingua sbagliata per il lavoro.