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.
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:
Un esempio di un moderno sistema di programmazione include servizi e software di base.
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:
I sistemi di programmazione e gli auguri di Hello World in diversi linguaggi di programmazione dimostrano chiaramente le differenze di base.
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.
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.
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:
risultato:
Per la programmazione hai bisogno di alcuni strumenti. Lo schema del sistema di programmazione classico:
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 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.
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.
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.
Presentazione dei più famosi linguaggi di programmazione:
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.
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:
Di seguito è riportato un esempio per determinare il numero di lettere in una parola.
PASCAL facilita la codifica modulare tramite:
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 codifica comuni dovrebbero essere evitati. Pertanto, l'utente farà risparmiare tempo ed eviterà problemi. Tipi di errori:
Gli stili di evidenziazione e indentazione della sintassi vengono spesso utilizzati per aiutare i programmatori a riconoscere gli elementi del codice sorgente.
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.