Di cosa si tratta - un compilatore e come funziona

21/02/2019

Le moderne tecnologie informatiche sono in costante fase di miglioramento. Ogni giorno ci sono sempre più nuove tecnologie, che permettono di realizzare ciò che è stato definito di recente come finzione. Anche le lingue, sia umane che informatiche, sono soggette a forti cambiamenti. In questo articolo ti spiegheremo in dettaglio di cosa si tratta - il compilatore, come lavorarci, per cosa è stato creato e dove può essere trovato ora. L'articolo è consigliato non solo agli utenti alle prime armi del sistema operativo Windows, ma anche ai programmatori che desiderano conoscere le conoscenze nascoste del loro sistema.

Lingua per il sistema operativo

Per cominciare vale la pena di astrarre, perché la programmazione non è solo la guida di alcune parole chiave nella macchina, ma anche azioni attentamente studiate relative ai componenti del sistema. Inizialmente c'era un codice binario, quindi i programmatori hanno creato un linguaggio di programmazione semi-computer - assemblatore, ma per cosa?

Immagina di dover contare ogni bit sulla calcolatrice del programmatore, quindi collegarlo correttamente e molto altro ancora. In assembler, tutto è diventato un po 'più semplice, ma ancora molto, molto difficile rispetto ai moderni linguaggi di programmazione, ad esempio il C ++, che è definito uno dei più complessi, ma sarà discusso poco dopo.

compilatore installato

Nel linguaggio assembly, tutto viene fatto grazie ai registri del processore: divisione, moltiplicazione, spostamento del valore dal punto A al punto B, ecc. Il suo problema principale è che è ancora a metà macchina, ma è ancora leggibile dall'uomo, in contrasto con i bit caoticamente sparsi . Un altro inconveniente era il numero limitato di questi registri.

Negli anni '80 decisero di inventare un linguaggio di programmazione, grazie al quale sarebbe stato facile e semplice scrivere un sistema operativo. Ecco come è apparso C e il compilatore GCC C da GNU. Se stai usando Linux, dovresti aver visto i prodotti di questa azienda. A proposito, l'assemblatore è ancora usato oggi, perché alcuni compilatori creano file oggetto con codice binario, mentre altri sono eseguibili - con codice in assemblatore. Tutto dipende dalla piattaforma di sviluppo.

Un compilatore moderno ha i seguenti programmi in sé:

  1. Debugger è un programma che invia messaggi di errore dal linker, dal preprocessore, dall'interprete.
  2. Un preprocessore è un programma il cui compito principale è la ricerca di etichette speciali che iniziano con un segno # ed eseguono un certo tipo di comandi. Ad esempio, aggiungere una libreria di terze parti per compilare il progetto.
  3. Un interprete è un programma che traduce il nostro linguaggio di programmazione più o meno comprensibile in codice binario o assemblatore.
  4. Linker è un programma a causa del quale i file mancanti vengono automaticamente connessi.

Ci sono anche 2 tipi di progetto compilati dal compilatore: dinamico e statico. Nella prima vengono aggiunti solo i file di progetto necessari, nonostante l'ambiente di sviluppo, e nel secondo caso, tutti in un heap (connesso, ovviamente). Quindi, da questo possiamo già dire che il compilatore è un intero elenco di programmi per la raccolta e l'elaborazione delle informazioni in forma chiara e logica per un computer. Quindi guardiamo come è iniziato tutto.

I primi semplici compilatori

Potreste essere sorpresi, ma per la prima volta l'oggetto del nostro articolo (allora è stato anche chiamato il traduttore) è apparso nel 1954 all'Istituto, specializzato in matematica applicata. Non includeva una serie così ampia di programmi come è ora, ma era ancora una svolta nella scienza in quel momento. Non c'era nessun debager, quindi le persone dovevano fare tutto alla lettera con le loro mani e usando la matematica standard e discreta per scoprire se il computer elettronico avesse ottenuto il risultato giusto.

programma semplice su c ++

È possibile costruire senza una nuova lingua?

Se sei un programmatore abbastanza intelligente, allora sarai in grado di completare questo compito. È vero, ci vorrà un sacco di tempo e impegno. A proposito, prima c'era persino una tale professione - un programmatore-linker. È solo nei nuovi linguaggi di programmazione che tutto è automatizzato, e prima che le persone dovevano collegare pezzi di codice Make con i file. A proposito, ora alcuni progetti su Linux possono essere raccolti usando questi stessi Makefile, è sufficiente specificare le loro dipendenze manualmente.

ambiente di sviluppo

Dopo aver raccolto il codice, il linker ha ceduto il lavoro al computer per l'elaborazione, dove alla fine ha ricevuto il codice binario finito.

Come puoi vedere, il compilatore non è solo un programma, ma anche gli sforzi di molte persone. E loro, come sosteneva Henry Ford, stanno cercando di automatizzare ogni processo.

Miglior compilatore di Windows

Quindi, molti dei lettori sanno che ci sono molte lingue morte, ma anche più vive, cioè quelle che aggiornano la loro libreria standard almeno una volta all'anno. Come abbiamo detto, è stata creata la C del 1980: è stata una svolta. Molti dei nostri padri adorano ancora questa lingua, ma che ne è ora?

Vive e prospera in un nuovo corpo, se posso dirlo. L'erede è C ++ di diritto, sebbene al suo creatore sia vietato scrivere codice simile a C su di esso, molti programmatori lo ignorano e lo fanno, ma perché è consentita una violazione così grossolana delle regole?

ambiente di sviluppo aggiornato
  • In primo luogo, ha preso una parte sostanziale delle librerie standard da C, ei nuovi compilatori G ++ sono in grado di compilare il codice C, che di per sé indica la loro somiglianza.
  • In secondo luogo, C ++ è stato creato per sostituire C, e ora vediamo i risultati di questo. A proposito, il programma di compilazione G ++ non "impreca" finché non viene utilizzata almeno una classe: questa è la differenza principale tra le due lingue. Puoi chiamare G ++ come miglior compilatore, non per niente grazie ad esso, scrivono applicazioni mobili, sistema operativo Windows, ecc.

Consigli per i programmatori alle prime armi

Il tuo percorso sarà spinoso - vale la pena conoscere prima di tutto. Per iniziare a lavorare con un linguaggio, ad esempio, se è C, sarà sicuramente necessario familiarizzare con il compilatore C. E se non si fa amicizia con esso e non si capisce la sua logica, allora i progetti saranno in ritardo e in volo uno per uno.

linee di codice

Cerca di leggere il maggior numero possibile di libri non solo sulle basi della programmazione, ma anche sulla storia della creazione di lingue, così inizierai sicuramente a capire l'essenza stessa del processo. Cerca di combinare pratica e nuove conoscenze, quindi tutto è ricordato molto più velocemente. Inoltre, cerca di portare il tuo inglese ad almeno un livello medio, altrimenti sarà molto difficile per te navigare attraverso l'IDE.

In conclusione

Speriamo che, dopo aver letto questo articolo, capisci che questo è un compilatore, come funziona, perché è stato creato e di chi hai ancora bisogno. Vale la pena ricordare che la cosa più importante per un programmatore è capire la situazione, capire i principi di base, quindi speriamo davvero che l'articolo ti abbia aiutato in questo.