Sistemi di programmazione: esempi, descrizioni, caratteristiche

12/03/2019

I sistemi di programmazione forniscono una piattaforma per lo sviluppo di software applicativo e interagiscono direttamente con le apparecchiature informatiche per ottenere le prestazioni necessarie durante l'esecuzione delle attività dell'utente. La piattaforma può essere utilizzata per programmare iPhone, applicazioni iPad e sistemi operativi Android utilizzando il linguaggio di programmazione Java. L'interfaccia di Android Studio e Oracle Java SDK, combinata con le conoscenze di base necessarie, consente di creare un'ampia varietà di applicazioni.

Elementi di sistemi software

Per iniziare, riveliamo il concetto di sistemi di programmazione. Quelli che usiamo ora appartengono al periodo della terza generazione di computer. La programmazione del sistema è la creazione del software. Può eseguire molti compiti diversi. Senza di esso, la maggior parte dell'hardware non svolgerebbe le sue funzioni. Per renderli utili, utilizzare il software. L'utente è tenuto a selezionare il programma desiderato per ogni attività.

Elementi del classico sistema di programmazione:

  1. Il sistema operativo è l'interfaccia tra il software applicativo e il computer.
  2. Le utilità sono programmi piccoli ma potenti con funzionalità limitate per attività specifiche. Solitamente utilizzato dagli utenti per garantire il buon funzionamento del sistema informatico.
  3. I programmi di libreria sono un insieme di routine compilato, ad esempio, le librerie. Fornire molte funzionalità e procedure disponibili durante la scrittura di un programma.
  4. Software di traduzione: assemblatore, compilatore, traduttore.
  5. L'interprete analizza ed esegue un programma linguistico di alto livello una riga alla volta.
  6. Software applicativo progettato per assistere l'utente nell'esecuzione di attività specifiche, come GIMP - per la modifica delle foto.

Un esempio di un moderno sistema di programmazione include servizi e software di base.

Il concetto di un sistema di programmazione

Struttura del programma

La forma generale del programma presta particolare attenzione ai singoli componenti e alla loro relazione. I programmi sono buoni o mal strutturati. Con un programma ben strutturato, la divisione dei componenti segue principi quali l'occultamento delle informazioni, ad esempio, e le interfacce tra i componenti sono chiare e semplici. Ad un livello più sottile, utilizza strutture dati appropriate e unità software con un singolo punto di ingresso e un punto di uscita.

Con un programma mal strutturato, la suddivisione in componenti è in gran parte arbitraria e le interfacce sono implicite e complesse. Inoltre, tale programma ha strutture dati arbitrarie e flusso di controllo. Quasi tutti i programmi strutturati hanno un carattere generale di azioni:

  1. Domanda per l'inizio del programma.
  2. Dichiarazione variabile
  3. Istruzioni del programma (blocchi di codice).

Ciao esempi di auguri del mondo

I sistemi di programmazione e gli auguri di Hello World in diversi linguaggi di programmazione dimostrano chiaramente le differenze di base.

Ciao saluti mondiali

Per utilizzare una variabile all'interno di un programma, il compilatore deve conoscere in anticipo il tipo di dati che verranno memorizzati in esso. Per questo motivo, le variabili vengono dichiarate all'inizio del programma.

La dichiarazione delle variabili consiste nel specificare un nuovo nome e tipo di dati per una variabile. Questo di solito è fatto all'inizio.

Dichiarazione variabile

La figura seguente mostra un esempio di un sistema di programmazione per una struttura di loop che attiva un insieme di istruzioni finché la condizione non è vera.

Set di operatori

Ciclo infinito

Questo è quello che non ha una procedura di uscita funzionante. Di conseguenza, il ciclo si ripete continuamente finché il sistema operativo lo rileva e interrompe il programma con un errore o fino a quando si verifica qualche altro evento, ad esempio, il programma si arresta automaticamente dopo un certo periodo di tempo.

Di seguito sono presentati i sistemi di programmazione e gli esempi di programmi C per il programma di ordinamento delle stringhe nel dizionario. Questo programma richiede 10 parole (linee) dall'utente e le ordina in ordine lessicografico. Ad esempio, 10 linguaggi di programmazione:

  1. C.
  2. C ++.
  3. Java.
  4. PHP.
  5. Python.
  6. Perl.
  7. Cobol.
  8. Ruby.
  9. R.
  10. JavaScript.
C esempi di programma

risultato:

  1. C.
  2. C ++.
  3. Cobol.
  4. Java.
  5. JavaScript.
  6. PHP.
  7. Perl.
  8. Python.
  9. R.
  10. Ruby.

Strumenti di base

Strumenti di base

Per la programmazione hai bisogno di alcuni strumenti. Lo schema del sistema di programmazione classico:

  1. Editor di testo - strumenti di modifica. Questo strumento ti permette di scrivere codice sorgente. Questo è uno strumento comune per la programmazione in qualsiasi lingua. Infatti, durante la programmazione, apprezzano la presenza di funzioni quali: completamento automatico, evidenziazione della sintassi, ricerca, modifica, sostituzione di una parte del codice e dell'editor del rientro.
  2. Compilatore o interprete. Questo strumento è direttamente correlato al linguaggio di programmazione.
  3. Debugger. Gli sviluppatori, come tutte le persone, possono sbagliare. Trovare e correggere gli errori richiede tempo. Un debugger è uno strumento per aiutarti a seguirli. Ti permette di eseguire il programma passo dopo passo, di vedere il suo stato in qualsiasi momento, e anche di controllare se una parte del codice viene eseguita o meno.
  4. Routine di libreria
  5. Documentazione di accompagnamento

Modelli di design

L'uso di un modello di progettazione consiste nello strutturare il programma o utilizzare gli strumenti linguistici e nel modo più chiaro possibile per garantire un approccio sistematico alla programmazione, nonché la connessione al database dei modelli, creando una pagina che visualizzerà un aspetto personalizzato. Più in generale, il modello di progettazione è una soluzione multitasking e avanzata.

La struttura del software (o framework) è un tipo speciale di libreria software. Il suo primo obiettivo è collegare la programmazione, fornendo il più possibile gli strumenti necessari. Ad esempio, Django 2 è una struttura in Python progettata per facilitare la creazione di siti Web reattivi. Crea la struttura e offre strumenti comuni a tutti i siti (interfaccia di amministrazione, servizi di autenticazione, metodo di traduzione del sito in più lingue, ecc.).

Un altro esempio è la presenza di diversi framework in JavaScript (jQuery o angular.js) con un solo obiettivo: le stesse azioni dovrebbero essere scritte in modo diverso a seconda del tipo di browser utilizzato dal visitatore sul sito web. Hanno un'interfaccia unica per trasformarlo in codice che ogni browser capisce. Nella foto è riportato un esempio di un sistema di programmazione in JavaScript per l'attività di apertura di una nuova finestra dopo aver fatto clic su un pulsante.

Un esempio di un sistema di programmazione in JavaScript

Lingue compilate

Un linguaggio di programmazione è un insieme di accordi e di astrazioni che consentono di scrivere ciò di cui l'utente ha bisogno in modo che il computer produca il risultato in una forma più comprensibile. La compilazione consiste nel convertire il codice sorgente in un file eseguibile. Questa conversione viene eseguita dal compilatore. La differenza nella velocità di esecuzione è enorme. In generale, a parità di tutte le altre cose, il programma sul linguaggio compilato funzionerà circa dieci volte più velocemente di quello interpretato. Di seguito è riportato un esempio di un sistema di programmazione C. Dimostra un programma che usa le cosiddette funzioni di ordine superiore e le funzioni pure.

Funzioni di ordine superiore

Nel caso di lingue interpretate, il codice sorgente viene fornito all'interprete, che esegue direttamente il programma. Non è necessario preoccuparsi del sistema operativo o del tipo di processore, poiché deve essere installato sul computer dell'utente. Inoltre, poiché il codice sorgente deve essere "tradotto" in codice macchina con ogni esecuzione, i linguaggi interpretati sono spesso lenti rispetto agli equivalenti linguaggi compilati. Allo stesso tempo, gli interpreti non ottimizzano il codice macchina generato, il che li rende più lenti, ma il processo di generazione del codice macchina è più veloce di quello dei compilatori.

Lingue della macchina virtuale

Spesso abbreviati, sono chiamati "linguaggi VM" (secondo le analogie del nome inglese della macchina virtuale). Il principio di funzionamento e lo scopo del sistema di programmazione è che il codice sorgente non è tradotto in codice macchina, comprensibile a un processore specifico, ma in un "fittizio" (bytecode), che a sua volta sarà interpretato dal linguaggio macchina virtuale. Un tale linguaggio ha vantaggi e svantaggi.

Come nei linguaggi interpretati, un programma compilato in byte-code può essere eseguito su qualsiasi sistema operativo e processore, a condizione che la macchina virtuale sia disponibile per questa combinazione. D'altra parte, dal momento che esisteva una compilazione a monte, il programma viene eseguito più velocemente della lingua interpretata equivalente. Spesso raggiunge una velocità simile a quella di un linguaggio di codice macchina "reale". Tuttavia, questo è livellato dal fatto che una macchina virtuale può essere piuttosto ricca di risorse, specialmente in memoria.

Infine, puoi creare nuovi linguaggi che verranno compilati nello stesso bytecode di un'altra lingua esistente, che semplifica la loro interazione. Questo è uno dei compiti del sistema di programmazione. Un esempio è il linguaggio Clojure e Frege compilati per bytecode Java. Sono funzionali e radicalmente diversi da Java nella loro progettazione. In questo caso, puoi scrivere diverse parti del programma con una delle lingue più appropriate e farle lavorare insieme su una macchina virtuale. Java è la lingua che è meglio compilata in una macchina virtuale. Ma hai bisogno di un'applicazione composta da un set di classi Java. All'inizio di ogni classe esiste una struttura specifica, come JavaClassFileFormat.

Sistemi di programmazione, esempio Java

Esempi di lingue e sistemi di programmazione

Presentazione dei più famosi linguaggi di programmazione:

  • Assembler. Non è nuovo, ma insegnerà agli utenti molte cose nascoste in altre lingue.
  • C. Uno più usato al mondo. Questo linguaggio offre il controllo più completo sulla macchina. È usato per codificare i sistemi operativi. La sua discreta età di quasi mezzo secolo e un numero enorme di biblioteche che sono adatte a qualsiasi cosa, diventano indispensabili sia per i principianti che per gli utenti esperti.
  • Cobol. Questa è la vecchia lingua. Di solito è più difficile da usare rispetto ad altri. Tuttavia, per ragioni storiche, è ancora ampiamente utilizzato nel settore bancario, finanziario e assicurativo.
  • Fortran. È ancora richiesto nel campo del calcolo scientifico, per il quale è stato sviluppato. Sebbene la sintassi di questa lingua sia regolarmente aggiornata, la sua età è percepita. Inoltre, alcune librerie software in Fortran non sono mai state confrontate in termini di efficienza.
  • Java. Ha una funzione di compilazione in bytecode, che viene quindi interpretata dalla macchina virtuale. Ciò semplifica enormemente la creazione di programmi da utilizzare su più piattaforme di sistemi operativi. Ad esempio, Java è il gateway per la codifica di un'applicazione per Android.
  • Perl. È un linguaggio che è molto apprezzato nel mondo di Linux e Unixoids. È efficace per creare applicazioni a riga di comando piccole ma molto potenti. Tuttavia, Perl non è molto adatto alla creazione di interfacce grafiche.
  • PHP. Dominante nel mondo della programmazione web.
  • Python. Questa lingua è raccomandata per i principianti.
  • Ruby. Associato a Python, prende regolarmente in prestito l'innovazione. In generale, sono molto simili. Possiamo dire che Ruby offre maggiore libertà sintattica e più insiste sul suo carattere orientato agli oggetti, e Python è più semplice e supportato da una comunità più ampia.
  • Swift. È una lingua abbastanza giovane, soggetta a modifiche e adattamenti, adatta per i prodotti Apple. Nei prossimi anni, potrebbe diventare il prodotto principale delle applicazioni di programmazione per iOS e OSX.

applicazione

Vi presentiamo un esempio di codice macchina:

110101010010001000111001001 010101001000100001011101001 000111001101110001101101010 001111010010010101011001010 001010101111110100101010001.

Come puoi vedere, c'è una struttura molto poco distinguibile in questo tipo di codice. Nei linguaggi di programmazione, una differenza semantica è la differenza tra il linguaggio utilizzato per programmare l'hardware (codice macchina) e quello che deve essere utilizzato per programmare il computer come sistema. Un esempio di un sistema di programmazione: il lato client di JavaScript richiede l'uso di due lingue, ad eccezione di quello che genera JavaScript (CoffeScript o Elm).

Per quanto riguarda il server, PHP detiene le prime posizioni, ma anche Python e Ruby vengono utilizzati attivamente. JavaScript viene anche utilizzato sul lato server, grazie a NodeJS. Per i videogiochi su Windows, vengono utilizzati C ++, Python e C #. Tuttavia, non sono gli unici. Qualsiasi linguaggio che renda abbastanza semplice creare un'interfaccia grafica può essere appropriato (C, Java, Ruby o Tcl / Tk).

Per le applicazioni di grandi dimensioni, C ++ e Java dominano il mercato, anche se C # sta guadagnando slancio. Per le piccole applicazioni utilitarie, in particolare sulla riga di comando, è facile trovare C, Perl, Python o Ruby. Nel campo del calcolo scientifico, Fortran rimane re. È sempre più in concorrenza con C ++, Python o con linguaggi specializzati come Matlab e R.

Programmazione PASCAL

Nel corso della storia dell'informatica, sono stati fatti centinaia di tentativi per rendere i linguaggi di programmazione del computer come l'inglese scritto - facili da leggere e facili da capire. PASCAL è il risultato di uno di questi sforzi. Il creatore di PASCAL, Nicholas Wirth, voleva HLL, che potesse essere facilmente insegnato, letto e scritto. Ha sviluppato PASCAL sulla base dei seguenti concetti:

  1. PASCAL dovrebbe chiudere o restringere significativamente il divario semantico.
  2. Ogni frase PASCAL dovrebbe essere una frase nel testo inglese.
  3. Il programma PASCAL può essere considerato un'offerta in inglese.
  4. I nomi delle procedure, delle strutture dati e delle variabili in PASCAL dovrebbero essere facilmente riconoscibili.

Un esempio di un sistema di programmazione in PASCAL

Di seguito è riportato un esempio per determinare il numero di lettere in una parola.

Un esempio di un sistema di programmazione pascal

PASCAL facilita la codifica modulare tramite:

  1. L'uso del codice incapsulante in procedure e funzioni.
  2. Utilizzo degli operatori BEGIN e END per definire un blocco funzione di codice.
  3. Una variabile restrittiva (ad esempio, l'assegnazione di tipi di dati, come numero intero, reale o stringa) per supportare il passaggio di parametri tra le procedure.
  4. Sintassi amichevole che restringe il divario semantico.
Sistemi di programmazione Pascal

Nell'esempio dato del sistema di programmazione Pascal, il programma mostra una scelta binaria (ci sono solo due casi: ActualMark> = 50 o ActualMark <50).

Errori di programmazione comuni

Errori di codifica comuni dovrebbero essere evitati. Pertanto, l'utente farà risparmiare tempo ed eviterà problemi. Tipi di errori:

  1. Formattazione del codice errato Dovrebbe essere chiaro. Dovrebbe contenere commenti nella parte superiore del programma.
  2. Test errati e controllo degli errori. La gestione degli errori assume due forme: gestione delle eccezioni strutturate e controllo degli errori funzionali.
  3. Buone pratiche di commento.
  4. Nome variabili non affidabili. È molto difficile lavorare sul codice quando molti nomi di variabili sono brevi, non descrittivi.
  5. Scegliere la struttura dei dati sbagliata.

Gli stili di evidenziazione e indentazione della sintassi vengono spesso utilizzati per aiutare i programmatori a riconoscere gli elementi del codice sorgente.

Codice colore

Allo stesso tempo, è importante che la codifica dei colori sia evidenziata in un frammento di codice come esempio di un sistema di programmazione scritto in Python.