Matteo Mammoliti

Cos'è la programmazione ?

Se per la prima volta ti stai affacciando al mondo dell'informatica, saprai certamente che una delle sue branche è la programmazione che ricopre un ruolo essenziale, e lo fa, ancor più all'interno del processo di sviluppo di un videogioco.
Infatti come abbiamo visto nell'articolo riservato proprio allo sviluppo di un videogioco, il programmatore è una di quelle figure che non dovrebbe mai mancare all'interno di un team. 

Però, se hai deciso di leggere questo post, sicuramente qualcosa riguardo la programmazione non ti è ancora chiara. Quindi, non perdiamo tempo ed iniziamo step-by-step.

La programmazione è l'insieme delle attività che, nella loro totalità, portano alla realizzazione di un software che verrà successivamente eseguito su di un elaboratore. Colui che esegue queste attività è chiamato programmatore. E' l'ultimo degli step che fanno parte del ciclo del software: prima di procedere con la scrittura del codice sorgente, si studia il problema che si ha davanti e si cerca di individuare la soluzione migliore. 

La soluzione finale è tecnicamente chiama algoritmo che, inizialmente, può essere rappresentato da due strumenti:

FLOW CHART

 le azioni da compiere per risolvere il problema sono identificate da blocchi geometrici (cerchio, rettangolo, parallelepipedo e rombo), connessi tra di loro da frecce di flusso.

PSEUDOCODICE

qui le azioni da compiere sono descritte, sotto forma di scaletta, utilizzando un linguaggio di tipo umano. 
Una volta che si ha ben chiaro l'algoritmo risolutivo, bisogna "insegnarlo" all'elaboratore per fare in modo che possa risolvere il nostro problema. Come ben sappiamo però, l'unico linguaggio compreso dai nostri amati computer è il codice binario, cioè sequenze di 0&1. 
Va da sé capire che scrivere l'intero algoritmo utilizzando solamente 0&1 è umanamente difficilissimo. Per questo abbiamo bisogno di un qualcosa che faccia da interprete in modo che possa tradurre ciò che noi diciamo al nostro computer. 

In informatica, questi interpreti si chiamano linguaggi di programmazione. Ne esistono tantissimi, i quali si differenziano in due macro categorie: 
  • linguaggi compilati;
  • linguaggi interpretati;


ma di questo ne parliamo nell'articolo dedicato sui linguaggi di programmazione. 

Così come i linguaggi, anche la programmazione può essere distinta in due macro categorie:
  • procedurale: caratterizzata da sequenze di istruzioni che verranno eseguite nell'ordine in cui sono state scritte.
  • ad oggetti: caratterizzata dalla presenza di classi ed oggetti ognuno dei quali possiede metodi ed attributi sui quali si concentra l'attenzione del programmatore. 


Tornando allo sviluppo di videogiochi, è importante sottolineare che è proprio quest'ultima tipologia di programmazione, quella orientata ad oggetti, ad essere utilizzata. Ogni elemento presente nella scena di gioco rappresenta un oggetto sulla quale verranno programmate le sue meccaniche. Anche questo è un argomento vasto che tratteremo in un secondo articolo riguardante proprio la programmazione orientata ad oggetti e la correlazione che c'è con il mondo del game developing.

Una volta che il nostro algoritmo risolutivo è stato tradotto in linguaggio di programmazione, si passa alla fase di test detta debug, in cui un tools chiamato debugger analizzerà il nostro codice alla ricerca di bug, cioè di problemi che potrebbero compromettere la funzionalità del nostro programma. 

Questo è, a grandi linee, il percorso che dal problema iniziale porta alla realizzazione del programma finito. Ma, come avete avuto modo di osservare, questo mondo è estremamente ampio. La programmazione, è sicuramente al giorno d'oggi, una delle attività più praticate nel mondo lavorativo in tutte le sue sfumature: dalla programmazione Web allo sviluppo di videogiochi, e tutto questo non fa che renderla affascinante ed intrigante. 

A cura di Vincenzo Giovinazzo e Matteo Mammoliti.
Creato con