Cos'è la programmazione? Linguaggi di programmazione Programmazione del computer

24/02/2019

Durante il periodo in cui apparvero i primi sistemi informatici, ci fu una domanda acuta su come "insegnare" a una macchina a percepire i compiti indicati dalla persona. Qui è apparso il termine "programmazione per computer". Oggi, molti utenti che non hanno familiarità con le basi e le sottigliezze di questi processi, ritengono che questo sia qualcosa dal regno della fantasia, inaccessibile all'uomo comune per la strada. Tuttavia, se lo desideri, puoi padroneggiare la programmazione e la maggior parte. Ma non andiamo oltre e mettiamo tutto, come si suol dire, sugli scaffali.

Che cos'è la programmazione in senso generale?

Se si guardano le interpretazioni di base di questo termine, non è difficile trarre la conclusione più semplice. Cos'è la programmazione? Questo è scrivere programmi.

cos'è la programmazione

Immediatamente la domanda su cosa sia il programma. Un programma o un'applicazione è, grosso modo, un insieme di comandi specializzati, istruzioni, direttive o script eseguibili che devono essere eseguiti dalla macchina, sia a livello di dispositivi "di ferro" che di altri mezzi coinvolti.

Per chiarire cosa sia la programmazione, puoi dare l'esempio più semplice. Un'applicazione utente installata, finalizzata a svolgere un'attività specifica, indirizza non solo la RAM e il processore, ma utilizza anche altri dispositivi fisici attraverso i loro strumenti di gestione, chiamati driver, che sono anche programmi.

Un po 'di storia

Parlando di ciò che è la programmazione nell'interpretazione moderna, dovresti prestare la tua attenzione alla storia della sua comparsa. In effetti, l'esecuzione automatica di alcune azioni, ad esempio nel campo dei calcoli matematici, è nota all'umanità da molto tempo.

Ricordiamo almeno la Grecia antica, in cui è stato utilizzato un dispositivo con ingranaggi di varie dimensioni, che ci ha permesso di eseguire semplici operazioni aritmetiche. Era un vero prototipo di un calcolatore moderno.

Nel 1206 apparve un apparato unico per tracciare il cosiddetto ciclo methon, costruito da Al-Jazari, che usava meccanismi complessi a quel tempo basati su morsetti e camme.

Solo nel 1804, il mondo vide il jacquard telaio, che è stato in grado di riprodurre modelli su tessuti, creati sulla base di schede perforate.

Ma il vero passo avanti fu il dispositivo analitico programmabile sviluppato da Charles Babbage, che, purtroppo, non fu mai costruito durante la sua vita.

linguaggi di programmazione

Ma nel 1846, la figlia di Byron creò il primo programma al mondo per una macchina analitica che risolvesse l'equazione di Bernoulli. Naturalmente, gli algoritmi di programmazione utilizzati dalla contessa Ada Augusta Lovelace erano molto primitivi, ma hanno gettato le stesse griglie che sono state usate per creare moderni programmi per computer. Ed è considerata la progenitrice della programmazione in tutto il mondo.

In che modo il computer percepisce i comandi?

Qualsiasi programma per computer deve essere eseguito dalla macchina in qualche modo. Non è abbastanza per lei scrivere, dicono, fare questo e quello. Per questo, sono stati creati linguaggi di programmazione.

Ma scrivere una sequenza di comandi in una lingua, di cui ce ne sono molti oggi, non è abbastanza. La macchina non accetterà ancora frasi di testo o formule matematiche.

corsi di programmazione

L'uso di un codice binario (binario) costituito da sequenze di zeri e uno che sono percepiti da qualsiasi dispositivo informatico è diventato uno strumento universale. Ma come tradurre frasi semantiche e formule in questa forma? A tale scopo vengono utilizzati compilatori che convertono l'elenco di comandi in codice binario comprensibile dalla macchina. Puoi trovare codici ternari ed esadecimali, ma sono usati raramente.

Codici mnemonici

È chiaro che era estremamente difficile inserire comandi binari anche su dispositivi primitivi, perché una persona per sua natura è semplicemente incapace di ricordare tali sequenze.

algoritmi di programmazione

Pertanto, al fine di unificare tali processi, sono stati inventati i cosiddetti codici mnemonici, che sotto forma di comandi di testo erano analoghi completi di combinazioni binarie. Il comando di testo, come è già chiaro, è molto più facile da ricordare di una lunga sequenza composta da zero e uno.

Concetto di variabili

Ma questa non è la fine. Gli algoritmi di programmazione utilizzati agli albori dello sviluppo richiedevano l'input di un nuovo valore, chiamato variabile.

L'essenza del suo uso in qualsiasi linguaggio di programmazione è l'assegnazione di un'area specifica di memoria in cui è memorizzato un valore, la designazione della lettera. Per tradurre codici mnemonici in istruzioni e variabili nell'area di memoria, sono stati utilizzati strumenti chiamati traduttori. E tutte le lingue che usavano questa tecnica erano chiamate assemblatori.

Linguaggi di programmazione

Stessi stessi strumenti linguistici su quali programmi per computer sono scritti (o sono stati scritti a tempo debito), può essere suddiviso condizionatamente in quelli di livello inferiore e superiore.

programmazione java

Se una delle generazioni più anziane si ricorda, anche in epoca sovietica, la lingua di base veniva insegnata nelle scuole in classi di informatica. Con esso, le macchine Yamaha KUVT di allora potevano creare programmi primitivi di calcoli matematici, programmare semplici immagini o musica che provengano dalle dinamiche di sistema. Per la matematica era possibile utilizzare operatori logici come "if", "then", "altrimenti". Ma il problema di tutti coloro che hanno imparato a fondo questa lingua era che non potevano padroneggiare i nuovi strumenti.

Senza contare che il linguaggio assemblatore ha prodotto una vera rivoluzione ed è ancora usato oggi, sono apparsi mezzi abbastanza specifici, ad esempio, linguaggi di programmazione strutturali o orientati agli oggetti (OOP).

programmazione per manichini

È sicuro correlare il linguaggio C + / ++ a OOP, sulla base dei comandi di cui sono stati creati gli stessi sistemi operativi Windows. Programmare su "C" è piuttosto complicato, tuttavia, se lo desideri, puoi padroneggiarlo. Come si suol dire, ci sarebbe un desiderio. Puoi frequentare gli stessi corsi di programmazione o utilizzare la letteratura pertinente per la formazione. Tuttavia, come molti esperti credono, è ancora possibile penetrare le basi della lingua, ma è estremamente difficile sviluppare le tue conoscenze nella pratica. Qui non funziona come i libri "Programming for Dummies" aiuterà.

Ma torniamo alle lingue. Relativamente recentemente, sono comparsi linguaggi basati su interpreti (.NET Framework, Python, Java, Perl, ecc.). Invece del codice macchina, generano un codice byte speciale, che è il codice binario della macchina virtuale.

programmazione per computer

A proposito, la programmazione in Java può essere padroneggiata senza molti sforzi. Ad esempio, per i dispositivi mobili basati su sistemi Android, è possibile utilizzare Android Studio e Java SDK in parallelo e installare Genymotion come tester. Puoi fare ancora più facilmente contattando la designer online App Inventor, in cui la creazione di una sequenza di comandi è fatta come puzzle pieghevoli.

Concetto di paradigmi

Il concetto di paradigmi non ha avuto origine da zero. Nella comprensione più generale del paradigma, rappresentano una certa visione del mondo che ci circonda e azioni che possono essere prese in relazione ad esso. Nel mondo dei computer, questo termine è inteso come una sorta di generalizzazione in relazione al lavoro del programma.

Esistono applicazioni incentrate unicamente su un paradigma o sull'esecuzione di un solo compito, ma tutti i linguaggi e i programmi moderni creati sulla base di essi risolvono diversi problemi. Da qui il termine multitasking.

Programmazione moderna e sue caratteristiche

Allo stadio attuale dello sviluppo della tecnologia informatica, una priorità per molti programmatori è la programmazione OOP e Java. Si noti che i pacchetti della piattaforma Java sono supportati da uno qualsiasi dei sistemi operativi attualmente noti, per non parlare dei dispositivi mobili.

E sebbene, come si crede, il linguaggio C + / ++ sia dominante, non bisogna trascurare l'Assembler. Sorprendentemente, la maggior parte dei virus sono scritti su di esso. E se prendiamo in considerazione la programmazione web, ad esempio, basata su Delphi, generalmente si aprono opportunità e prospettive così ampie che molti programmatori alle prime armi non sanno nemmeno su di esso.

È possibile imparare a programmare da solo?

Le domande relative allo studio individuale dipendono direttamente da cosa esattamente vuoi imparare. La letteratura sotto forma di libri "Programming for Dummies" fornisce solo risposte parziali senza specificare gli aspetti principali relativi all'uso di un particolare linguaggio. Questo, per così dire, per una comprensione comune. Anche i corsi di programmazione sono un argomento controverso, perché in questo caso tutto dipende non solo dalla percezione dello studente, ma anche da quale conoscenza l'insegnante ha, da come fornisce il materiale, ecc. Ma se è diventato necessario studiare una particolare lingua o un metodo di programmazione, questo non è un problema in questa era di Internet. Puoi persino trovare corsi online o una descrizione dettagliata delle lezioni sulla stessa piattaforma Java, programmando dispositivi Android o iOS.

Breve riassunto

Ciò che è in generale la programmazione, penso, è già chiaro a tutti. Qui, tuttavia, sono state affrontate solo domande di carattere generale senza specificare l'uso di ciascuna lingua, gli strumenti di scrittura delle applicazioni oi relativi moduli software, l'interpretazione o la traduzione dei comandi e il modo in cui tutto ciò viene fatto a livello del processore, della RAM o del sistema operativo. Tutto questo è abbastanza difficile da capire e non sarà così facile per una persona non preparata cogliere l'essenza di tutti questi processi. Tuttavia, se desideri e hai un livello sufficientemente elevato di motivazione, puoi studiare qualsiasi lingua e in futuro puoi diventare un programmatore di alta classe.