Quali sono i linguaggi di programmazione in generale?
i linguaggi di programmazione sono solo un modo per parlare con i computer. all'inizio parlando in modo approssimativo perché i computer potevano capire solo zeri e quelli (a causa del fatto che i computer sono fatti di transistor come interruttori che potevano prendere solo due stati, chiamiamo questi due stati 0 e 1) e lavorare con 0,1 era difficile per noi come umani, così gli scienziati informatici hanno deciso di fare una mappatura uno-a-uno da ogni istruzione binaria (0,1) a una forma più leggibile dall'uomo che loro chiamavano linguaggio assembleare.
per esempio se avessimo un'istruzione come:
11001101
in assemblea si chiamerebbe:
LOAD_A 15
il che significa che carica il contenuto del registro a nella posizione di memoria 15. come ho detto, era solo una convenzione come scegliere 0 e 1 per due stati dei transistor o qualsiasi altra cosa nel computer. in questo modo avere un programma con 50 istruzioni, ricordare il linguaggio assembly sarebbe più semplice. così l'utente scriverà il codice assembly e alcuni programmi (assemblatore in questo caso) tradurranno i codici in istruzioni binarie o linguaggio macchina come lo chiamano.
ma poi con i computer migliorati ogni giorno c'era spazio per programmi più complicati con più istruzioni, diciamo 10000.
in questo caso una mappatura one-to-one come assembly non funzionerebbe, quindi sono stati creati altri linguaggi di programmazione di alto livello. hanno detto per esempio se per una relazione con i dispositivi I / O per stampare qualcosa sullo schermo creato dall'utente ci vogliono circa 80 istruzioni, facciamo qualcosa qui e potremmo impacchettare tutto questo codice in una libreria e chiamarlo ad esempio printf e anche creare un altro programma che potrebbe tradurre questo printf qui nel relativo codice assembly e da lì l'assemblaggio farebbe il resto. così lo chiamano compilatore.
così ora ogni utente che vuole semplicemente stampare qualcosa sullo schermo non dovrebbe scrivere tutte le istruzioni in binario o assembly, digita semplicemente printf ("qualcosa") e tutti i programmi come il compilatore e l'assemblatore farebbero il resto. ora più tardi altri codici più lunghi verrebbero impacchettati allo stesso modo per facilitare il lavoro di altre persone visto che potresti semplicemente semplificare migliaia di righe di codice in un unico codice in Python e comprimerlo per l'uso di altre persone.
quindi supponiamo che tu abbia impacchettato molti codici diversi in Python e creato un modulo (libray, pacchetto o qualunque cosa tu voglia chiamarlo) e tu chiami quel modulo mgh (solo il mio nome). ora diciamo che abbiamo creato questo mgh in qualche modo che chiunque dica:
import mgh
mgh.connect(ip,port.data)...
potrebbe facilmente connettersi a un server remoto con l'ip e il numero di porta specificati e inviare successivamente i dati (o qualcosa del genere). ora le persone potrebbero fare tutto usando una sola riga, ma ciò che accade è che vengono eseguiti molti codici che sono stati recuperati dal file mgh. e impacchettare non è stato per accelerare il processo di esecuzione ma piuttosto per facilitare il lavoro di altri programmatori. quindi qui se qualcuno vuole usare prima il tuo codice dovrebbe importare il file e quindi l'interprete python riconoscerebbe tutto il codice in esso e quindi potrebbe interpretarlo.
ora se vuoi creare un linguaggio di programmazione e vuoi eseguirlo, prima ha bisogno di una traduzione, ad esempio diciamo che crei un programma in grado di capire la sintassi e convertirlo in c, in questo caso dopo che è stato tradotto a c, il resto sarebbe curato dal compilatore c, quindi assemblatore, linker, .... anche se dovresti pagare il prezzo di essere più lento poiché deve prima essere convertito in c.
ora un'altra cosa che potresti fare è creare un programma in grado di tradurre tutto il codice nel linguaggio assembly equivalente proprio come succede con c ma in questo caso il programma potrebbe farlo direttamente e da lì il resto verrebbe fatto dal linker. sappiamo che questo programma si chiama compilatore.
quindi quello di cui sto parlando è che l'unico codice che il sistema comprende è 0,1, quindi in qualche modo dovresti convertire la sintassi in quello, ora nei nostri sistemi operativi molti programmi diversi come assemblatore, linker e ... hanno è stato creato per dirti che se tu potessi convertire il tuo codice in assembly, loro potrebbero occuparsi del resto o, come ho detto, potresti persino usare compilatori di altri linguaggi di programmazione convertendo il tuo codice in quella lingua.