STEP #13 - Scrittura e Ingegneria informatica e del software


Nell'ambito dell'ingegneria e delle scienze informatiche, la scrittura interviene nella programmazione e nella codifica di algoritmi scritti in un certo linguaggio di programmazione di alto livello, che viene tradotto dal compilatore in linguaggio macchina in modo che possa essere eseguito dal calcolatore.
Esempio di codice sorgente
scritto in linguaggio Java

Programmare in un dato linguaggio di programmazione significa scrivere un semplice file di testo ASCII, chiamato codice sorgente, che esprime l'algoritmo del programma usando lessico e sintassi del particolare linguaggio scelto. I programmatori usano degli appositi editor di testo; se un dato editor lavora anche con gli altri strumenti (compilatore, linker, interprete ecc.) allora si parla di IDE o ambiente di sviluppo integrato.
Per essere eseguito dal processore, il codice sorgente deve essere tradotto in linguaggio macchina, ossia il linguaggio in cui opera la macchina a livello fisico, e questo è possibile attraverso due possibili tecniche: la compilazione e l'interpretazione.

Tipicamente la scrittura del codice è una parte dell'intera fase di sviluppo (progettazione, realizzazione e testing) di un software, gestita in tutti i suoi aspetti tramite conoscenze dell'ingegneria del software da una squadra di sviluppatori.
Esistono circa 2500 linguaggi di programmazione più o meno noti e diffusi. Questi in primis vengono classificati, a seconda del livello di astrazione a partire dal linguaggio macchina fin verso il linguaggio logico umano, in linguaggi a basso livello e ad alto livello. Normalmente i linguaggi vengono poi distinti in tre grandi famiglie basate sul paradigma di programmazione di riferimento (Da Wikipedia: Linguaggi di programmazione): 
  • imperativi: le istruzioni sono comandi espliciti, che operano su una o più variabili oppure sullo stato interno della macchina, e vengono eseguite in un ordine prestabilito. Scrivere in un linguaggio imperativo significa essenzialmente occuparsi di cosa la macchina deve fare per ottenere il risultato che si vuole, e il programmatore è impegnato nel mettere a punto gli algoritmi necessari a manipolare i dati;
  • funzionali: basati sul concetto matematico di funzione, l'assegnazione esplicita di valori risulta addirittura completamente assente e si utilizza soltanto il passaggio dei parametri;
  • logici: l'istruzione è una clausola che descrive una relazione fra i dati: programmare in un linguaggio logico significa descrivere l'insieme delle relazioni esistenti fra i dati e il risultato voluto, e il programmatore è impegnato nello stabilire in che modo i dati devono evolvere durante il calcolo. Non c'è un ordine prestabilito di esecuzione delle varie clausole, ma è compito dell'interprete trovare l'ordine giusto.
Per concludere, ecco il link ad una lista di tutti i linguaggi di programmazione esistenti.

Nessun commento:

Posta un commento