Passa ai contenuti principali

Capitolo 1.2: Paradigmi di programmazione

 Cos'è un paradigma di programmazione?

Un paradigma è un modello concettuale e metodologico offerto da un linguaggio di programmazione. A questo si fa riferimento per progettare e scrivere un programma informatico. Esistono diversi paradigmi, ma vediamo solo i più comuni:

  • Paradigma Procedurale: come dice la definizione stessa, l'unità principale di programmazione è la procedura, o la funzione, che elabora i dati. Quindi in questo caso l'attenzione si sposta più su come viene elaborato il dato e non sul risultato che si vuole ottenere. In poche parole è una lista di operazioni da effettuare in un determinato ordine. Esempi di linguaggi sono FORTRAN e C;
  • Paradigma ad oggetti: l'unità base è l'oggetto che sia il prototipo, per i linguaggi basati sui prototipi, o la classe, per i linguaggi basati sulle classi. Questi sono definibili come astrazioni concettuali di oggetti reali. Questa definizione potrebbe lasciare un po' allibiti, ma di fatto è una rappresentazione virtuale degli oggetti. Abbiamo oggetti che possono essere più generici (ad esempio veicolo) o più generico (ad esempio Macchina, moto, camion, aereo, ecc). "Comunichiamo con essi" attraverso dei messaggi o dei gesti (ad esempio accelera, frena, gira) e delle intefacce (ad esempio sterzo, manubrio, pedali, ecc). Inoltre possono avere degli attributi (ad esempio numero ruote, tipo ruote, tipo alimentazione, ecc) che possono essere letti o modificati nel tempo. Questo avviene appunto tramite i messaggi e le interfacce (in generale i metodi) applicati su di essi. Esempi di linguaggi sono Java, C++, C#, ecc;
  • Paradigma Funzionale: l'unità principale è la funzione, ma vista in senso puro matematico. In questo paradigma non c'è modifica di stato delle variabili (rimangono immutate nel tempo). Quindi il programmatore non si deve preoccupare del "come" risolvere il problema, ma di "cosa" deve risultare dalla computazione. Esempi di linguaggi sono Heskell, F#, Lisp, Erlang e Clojure;
  • Paradigma logico: l'unità principale è il predicato logico. In pratica il programmatore dichiara solo i "fatti" e le proprietà" che descrivono il problema, lasciando poi al sistema il compito di inferirne la soluzione e raggiungere l'obiettivo.
Java utilizza principalmente il paradigma ad oggetti, anche se è possibile definirlo come un linguaggio multiparadigma. Infatti è in grado di utilizzare anche il paradigma procedurale e, con l'inserimento delle lambda expression, il paradigma funzionale. Come detto però è principalmente un linguaggio ad oggetti, infatti la sua unità principale è la classe. Proprio attraverso questa, è possibile mantenere i principi di tale paradigma: incapsulamento, ereditarietà e polimorfismo. Vediamoli velocemente, saranno poi trattati più avanti:
  • Incapsulamento: con questo si intende che tutti i dati ed il codice di un oggetto è protetto da accessi arbitrari (information hiding). Questo si ottiene applicando ai membri ed ai metodi della classe un modificatore di accesso. Può essere di 3 tipi: pubblico tutti possono accedere alle informazioni; protetto possono accedere solo le classi derivate della classe stessa; privato nessuno può accedervi, eccetto membri e metodi della classe stessa.
  • Ereditarietà: è un meccanismo attraverso il quale si può avere una relazione di ereditarietà tra due classi. Per intenderci una relazione padre-figlio. In questo modo il figlio eredita tutti i membri ed i metodi della classe padre.
  • Polimorfismo: è un potente meccanismo che permette di scrivere codice generico, che può essere modificato nelle classi derivate, facendogli così cambiare forma.

Commenti

Post popolari in questo blog

Capitolo 1: Inroduzione a Java

 In questo primo capitolo introdurremo il linguaggio di programmazione Java. Gli argomenti che verranno trattati sono: Capitolo 1 Capitolo 1.1: Conosciamo Java Capitolo 1.2: Paradigmi di programmazione

Capitolo 1.1: Conosciamo Java

 Java è un linguaggio di programmazione nato nel 1991. Fu sviluppato da un team di lavoro della Sun Microsystems; I principali sviluppatori furono James Gosling, Patrick Naughton, Chris Warth, Ed Frank e Mike Sheridan.  Il nome inizialmente dato al progetto era Oak, in "onore" alla quercia che si vedeva dall'ufficio di Gosling. Però al momento della presentazione, il nome fu cambiato in Java poichè già esisteva un linguaggio con quel nome. Il nome Java sembrerebbe derivare dal caffè americano, si dice che fu scelto quando gli sviluppatori erano in bar a bere un caffè, appunto. Perchè la necessità di questo nuovo linguaggio? Java nasce con lo scopo di scrivere il codice una sola volta e poter essere utilizzato su tutti i dispositivi elettronici, indifferentemente dalla loro struttura. Questo meccanismo si sarebbe concretizzato con la scrittura di un componente software, chiamato macchina virtuale.  Questo è specifico per ogni dispositivo hardware e permette la compilazione