Linguaggio di programmazione moderno di alto livello: esempi e confronti

21/04/2019

La maggior parte dei moderni programmi per computer sono scritti usando linguaggi di alto livello. È interessante notare che molti di essi sono stati sviluppati negli anni '60 e '70, ma sono ancora rilevanti. Quali altri fatti sui linguaggi di alto livello possiamo segnalare? Quali sono le varietà più comuni di soluzioni correlate?

Linguaggio di programmazione di alto livello

L'essenza dei linguaggi di programmazione di alto livello

Un linguaggio di programmazione di alto livello è uno strumento correlato alla macchina. Cosa significa? Il fatto è che i linguaggi di programmazione sono suddivisi in diverse categorie.

Esiste un codice macchina: un insieme di algoritmi progettati per controllare l'utente direttamente gli elementi hardware del computer. La loro essenza sarà completamente dipendente dalla macchina: solo determinati algoritmi sono adatti a specifici tipi di PC.

Il primo linguaggio di programmazione di alto livello creato per

Ci sono linguaggi di assemblaggio. In effetti, si tratta di una sovrastruttura superiore a quella prevista per il controllo a basso livello dei componenti hardware di un PC tramite codice macchina. Ma in molti modi, i linguaggi di assemblaggio sono anche comunemente definiti come dipendenti dalla macchina. Di norma, sono adattati a un tipo specifico di componente hardware del PC. Il loro compito principale è quello di semplificare la gestione del computer per l'utente attraverso appropriate comunicazioni di basso livello.

A sua volta, un linguaggio di programmazione di alto livello consente all'utente di interagire con un PC, indipendentemente dall'hardware specifico installato sul computer. Pertanto, dovrebbe essere attribuito a machine-independent. Quando si scrivono sistemi operativi, un linguaggio di programmazione di alto livello è spesso coinvolto. Ma esiste un sistema operativo scritto in assembler. I linguaggi di programmazione di livello basso e alto possono essere utilizzati contemporaneamente. Una persona che impartisce comandi di alto livello a un PC deve, in un modo o nell'altro, comunicarli a componenti hardware specifici e questa funzione può essere realizzata utilizzando i linguaggi di assemblaggio simultaneamente con quelli di alto livello coinvolti nella struttura del sistema operativo.

Traduttori di linguaggio di programmazione di alto livello

traduttori

Gli elementi più importanti dei linguaggi di programmazione di alto livello sono i traduttori. La loro funzione potrebbe essere diversa. Tra le principali aree di applicazione dei traduttori vi è la "traduzione" di comandi generati in un linguaggio di programmazione di alto livello in codice macchina comprensibile a un componente hardware specifico di un PC, ad esempio un processore. I traduttori che eseguono questa funzione sono anche chiamati compilatori. C'è un altro tipo di componente rilevante - gli interpreti. Sono destinati, a loro volta, a "tradurre" i comandi di alto livello in quelli comprensibili al sistema operativo oa qualsiasi programma.

Classificazione di lingue di alto livello

I linguaggi di programmazione di alto livello possono essere classificati per vari motivi. Lo schema è distribuito in base al quale sono suddivisi nelle seguenti varietà principali:

- orientato procedurale (usato come strumento per elaborazione delle informazioni in qualsiasi momento del calcolo);

- orientato al problema (utilizzato come mezzo per risolvere l'industria e i problemi applicati che si formano quando si espandono i campi di applicazione del PC);

- orientato agli oggetti (possono essere casi speciali dei linguaggi dei primi due tipi, tuttavia, sono adattati per essere utilizzati da una vasta gamma di sviluppatori con diversi livelli di formazione, ad esempio, sotto forma di una soluzione con un'interfaccia visiva).

Consideriamo ora alcuni dei linguaggi di programmazione di alto livello storici e moderni che corrispondono a questa classificazione.

Moderni linguaggi di programmazione di alto livello

Lingue procedurali

Questi includono FORTRAN. È considerato il primo linguaggio di programmazione di alto livello progettato per un uso diffuso. È caratterizzato da una struttura semplice. I linguaggi procedurali includono anche BASIC. È considerato uno dei più usati durante l'apprendimento della programmazione. Un esempio di un altro linguaggio procedurale è SI. È stato originariamente creato per UNIX OS. Sulla sua base, il linguaggio C ++ è stato successivamente creato, integrato da strumenti di programmazione orientati agli oggetti. Un'altra lingua in questa categoria è Pascal. Spesso anche coinvolto nella programmazione dell'apprendimento. Le funzionalità di questo linguaggio consentono di utilizzarlo come strumento molto potente per lo sviluppo di tipi professionali di software.

Linguaggi orientati ai problemi

Questi includono Lisp, Prolog. La prima lingua fu sviluppata nel 1962, diversi anni dopo la creazione di Fortran. È considerato, quindi, come il secondo nella storia. Coinvolto attivamente come strumento per i programmatori per lavorare con stringhe di caratteri. In pratica, il Lisp è stato utilizzato in sistemi classificati come esperti, così come quelli destinati ai calcoli analitici. Il prologo è ampiamente usato nella programmazione logica. In pratica, è più spesso utilizzato nella gestione degli algoritmi di intelligenza artificiale nei sistemi corrispondenti.

Linguaggi orientati agli oggetti

Studiamo ora esempi di linguaggi di programmazione di alto livello orientati agli oggetti. Questi includono Visual Basic, Delphi, Visual Fortran, C ++ annotato sopra e Prolog ++. Praticamente tutti sono basati su linguaggi procedurali orientati. Tuttavia, si presume che saranno sostanzialmente integrati con controlli visivi ai fini della successiva padronanza degli algoritmi necessari da parte degli sviluppatori che sono abituati ad altri strumenti. Pertanto, il primo linguaggio di programmazione di alto livello, Fortran, può essere rapidamente studiato dagli specialisti IT attraverso le funzionalità di Visual Fortran. Utilizzando un metodo simile, puoi padroneggiare rapidamente Basic o Prolog.

Linguaggi di programmazione di alto livello Pascal

La programmazione Delphi in alto livello Object Pascal, a sua volta, è implementata. Esistono molti altri ambienti di sviluppo software classificati come linguaggio orientato agli oggetti. Questa area delle tecnologie di sviluppo software si sta attivamente sviluppando.

Fortran e Lisp - il primo e il secondo linguaggio di alto livello

Impariamo di più su come è apparso il primo linguaggio di programmazione di alto livello: Fortran e Lisp, che è considerato il secondo. Nel 1954, gli sviluppatori IBM, guidati da John Backus, crearono un linguaggio attraverso il quale i programmatori avevano l'opportunità di facilitare notevolmente l'interazione con i PC, che fino ad allora erano stati implementati attraverso istruzioni macchina o un assemblatore. Ricevette il nome di Fortran e presto divenne noto nell'URSS sotto il nome russificato. Fortran è diventato uno strumento popolare per il calcolo scientifico.

Il principale elemento rivoluzionario proposto dalla comunità IBM alla comunità era, infatti, lo stesso compilatore, progettato per essere un'alternativa all'assemblatore. Nei primi anni di pratica della scrittura di programmi quando si utilizzava Fortran, molti sviluppatori consideravano il compilatore una soluzione non completamente riuscita, principalmente in termini di costi di manodopera. Molti codici macchina, infatti, sono stati compilati più facilmente di quando si utilizza un traduttore. Tuttavia, con il rapido aumento delle prestazioni del computer, i programmatori hanno iniziato a rendersi conto che senza l'uso di un compilatore, un software efficiente che sfrutta appieno la potenza di calcolo di un PC sarebbe estremamente problematico. Quindi, le iniziative degli sviluppatori IBM sono state ulteriormente sviluppate. I costrutti sintattici di base del linguaggio di programmazione di alto livello Fortran in molti casi ha iniziato a comportarsi come fondamentale quando si creano nuove soluzioni.

Un esempio di raggiungimento di risultati pratici nello sviluppo di concetti incorporati in Fortran può essere considerato la creazione di Lisp. Questo linguaggio è stato sviluppato nel 1958, tuttavia, è diventato noto un po 'più tardi - nel 1960. Lisp è stato sviluppato da John McCarthy e pubblicato su una delle più famose riviste specializzate IT. Lo scopo principale della lingua in questione è l'elaborazione dell'elenco. Lisp è diventato popolare tra gli sviluppatori di sistemi di intelligenza artificiale. Su questa base sono stati creati linguaggi come Planner, Scheme e Common Lisp. Anche Lisp ha avuto un impatto significativo su molti moderni strumenti di sviluppo software. La struttura dei linguaggi di programmazione di alto livello che sono oggi popolari è in gran parte basata su algoritmi Fortran e Lisp.

Sarebbe interessante, tuttavia, considerare altri approcci alla classificazione degli strumenti di sviluppo del software considerati.

Lingue universali di alto livello

Quindi, gli esperti moderni evidenziano i linguaggi universali di alto livello. Questi includono, in particolare, quelli che sono stati sviluppati negli anni '60. Le loro caratteristiche chiave:

- concentrarsi su una vasta gamma di compiti (principalmente relativi al calcolo);

- Un gran numero di costrutti e algoritmi linguistici;

- significato non solo per il suo tempo, ma anche per il moderno stadio di sviluppo delle apparecchiature informatiche;

- supporto nella metodologia imperativa delle lingue pertinenti.

Programmazione Delphi in linguaggio di alto livello

I linguaggi universali sono fondamentali per l'industria IT pertinente. Si può notare che finora non hanno analoghi diretti nella parte della struttura interna. In realtà, questo spiega in gran parte la rilevanza dell'uso dei linguaggi pertinenti nelle moderne interfacce orientate agli oggetti. Anche comune nelle lingue selezionate è il tipo di dati. Questo fattore determina in gran parte la loro universalità. Tra le proprietà più notevoli delle lingue appartenenti alla categoria universale è la continuità. Quindi, storicamente le lingue successive, di norma, erano basate sui concetti dei predecessori.

Lingue uniche

Alcuni esperti IT distinguono "lingue uniche" come categoria indipendente. Questi includono: APL, Cobol, Forth, SETL e CLU. Qual è la loro specificità?

L'aspetto più importante dell'APL è l'uso di matrici (vettori e matrici) come tipo strutturale chiave. La specificità del linguaggio Cobol è focalizzata sulla sfera commerciale. Pertanto, è consigliabile utilizzarlo per risolvere problemi relativi al formato standardizzato per la presentazione dei risultati. La lingua Forth è caratterizzata dall'uso della scrittura postfissa di programmi, nonché dall'uso della notazione dello stack. In SETL, i set di valori vengono utilizzati come uno dei tipi di dati chiave. Anche il linguaggio di programmazione di alto livello è CLU. La sua caratteristica principale è l'uso del concetto di lavorare con tipi di dati astratti. Molti specialisti IT vedono emergere logicamente nuove soluzioni basate su linguaggi unici, come ad esempio Cobol orientato agli oggetti.

Costruzioni sintattiche di base di un linguaggio di programmazione di alto livello

Strumenti di programmazione parallela

Questa categoria può includere un numero enorme di soluzioni. A loro volta, i linguaggi di programmazione paralleli possono avere un gran numero di motivi per la classificazione. Ad esempio, il metodo di organizzazione del processo. Questa base suggerisce la classificazione degli strumenti di programmazione parallela basata sulla presenza di:

- coroutine;

- forchette;

- associazioni;

- parentesi parallele;

- algoritmi per lavorare con i processi.

Un'altra base per la classificazione dei linguaggi di questo tipo è i metodi di sincronizzazione dei processi. Le soluzioni pertinenti possono quindi includere:

- semafori;

- monitor;

- "Appuntamento";

- aree critiche;

- chiamata di procedura remota;

- transazioni relative alla categoria di atomici.

Le lingue di questo tipo includono Modula-2, BLISS, Concurrent Pascal, DP, Argus.

Famiglia di lingue C

Sopra, abbiamo considerato una soluzione come la C come un esempio di un linguaggio di programmazione di alto livello, in sostanza, forma un'intera famiglia. I linguaggi che ne fanno parte sono costrutti privati ​​di C. Quindi, la sua aggiunta a varie componenti orientate agli oggetti ha portato allo sviluppo di C ++. Dopo un sostanziale filtraggio di un numero di costruzioni C, è apparso il linguaggio Java. Si può notare che Java è stato creato in gran parte sotto l'influenza dei concetti del progetto Oberon, che è guidato da Niklaus Wirth, il creatore del linguaggio Pascal. Si applica al JavaScript di alto livello? Certo, sì, nonostante la sua applicazione ristretta, come strumento per lo sviluppo di pagine web. Ma i linguaggi di programmazione di alto livello non includono, in particolare, HTML, XML e SGML. Sono classificati come strumenti di markup ipertestuale.

Famiglia linguistica Pascal

I linguaggi di programmazione di alto livello Pascal formano anche una famiglia separata. Sulla base di Pascal, Oberon è stato effettivamente creato, classificato come linguaggio orientato agli oggetti. Una caratteristica chiave di Oberon è la sua capacità di sicurezza del tipo. Oltre a Oberon, le lingue della famiglia Pascal includono Modula-2 e Component Pascal.

Famiglia di lingue Ada

Fondatore nell'appropriata categoria di lingue - ordinato dalle esigenze del Dipartimento della Difesa statunitense Ada. È stato creato tra la fine degli anni '70 e i primi anni '80. Caratterizzato da un gran numero di funzioni, caratteristiche, versatilità. La famiglia linguistica Ada include soluzioni come Cedar, Modula 3.

Simula Language Family

Il linguaggio Simula è comune nelle industrie di programmazione legate alla simulazione. La specificità delle decisioni rilevanti è nell'uso di un nucleo specifico. Il suo utilizzo consente l'utilizzo di varie estensioni, adattate a varie applicazioni. Sulla base di Simula, è stato creato un linguaggio orientato agli oggetti, Smalltalk e BETA, caratterizzato dalla capacità di combinare, all'interno di una singola astrazione, algoritmi che riflettono il lavoro con dati, procedure e controllo. Gli oggetti BETA possono essere visualizzati in diversi contesti, ad esempio come variabili, funzioni o sistemi paralleli.