Programmazione modulare

In informatica la programmazione modulare è un paradigma di programmazione che consiste nella realizzazione di programmi suddivisi in moduli, ognuno dei quali svolge precise funzioni.

In informatica la programmazione modulare è un paradigma di programmazione che consiste nella realizzazione di programmi suddivisi in moduli, ognuno dei quali svolge precise funzioni.

L'obiettivo di questo paradigma di programmazione è semplificare lo sviluppo, il test e la manutenzione di programmi di grosse dimensioni, che vedono coinvolti più sviluppatori tramite il concetto della modularità.

Storia

Il concetto di programmazione modulare si è sviluppato negli anni settanta nell'ambito dell'ingegneria del software, a partire dalla più classica programmazione strutturata verso la più recente programmazione orientata agli oggetti.

Caratteristiche

I punti cardine della programmazione modulare sono:

suddivisione del programma in singoli moduli,

indipendenza dei moduli tra loro,

interazione minima di ciascun modulo con il mondo esterno,

facile testabilità dei moduli come entità isolate,

dichiarazione esplicita e semplificazione delle interfacce mediante le quali i moduli comunicano tra loro.

I principali vantaggi della programmazione modulare sono:

riutilizzabilità dei moduli,

sviluppo separato (minima interazione tra sviluppatori).

Modulo

Un modulo è generalmente un file o porzione di codice sorgente che contiene istruzioni scritte per essere riutilizzate più volte nello stesso programma o in più programmi diversi: la modularizzazione di un programma permette al programmatore di avere una visione completa del programma stesso.

In Visual Basic un modulo può contenere funzioni, subroutine, dichiarazioni API, variabili globali ed enumerazioni. È indicato dall'estensione .bas, in comune con i file BASIC. In linguaggio C, e in molti altri linguaggi, il modulo è costituito da un file .c, possibilmente accompagnato da un header file (.h), che contiene solo le definizioni di funzioni e tipi utilizzabili da altri moduli.

Nella programmazione orientata agli oggetti, l'unità di modularizzazione è la classe. Alcuni linguaggi supportano anche una struttura gerarchica dei moduli tramite il costrutto dei package. In altri linguaggi un modulo può anche essere chiamato in un altro modo. Un modulo può essere distribuito anche sotto forma di codice eseguibile, come libreria software o dynamic-link library.

Impiego

Linguaggi di programmazione espressamente orientati alla programmazione modulare sono Ada e Modula-2; ciò non toglie che questo paradigma di programmazione sia applicabile anche utilizzando linguaggi più semplici come il C, o addirittura l'Assembly.

Servizi correlati

Altre voci

O

OnlyOffice

OnlyOffice (precedentemente TeamLab), stilizzato come onlyoffice, è una suite per ufficio con software libero ed un ecosistema di applicazioni collaborative creato dalla Ascensio System una società con sede in Lettonia.

Leggi la voce →
M

MariaDB

MariaDB è un RDBMS nato da un fork di MySQL creato dal programmatore originale di tale programma. Aperto ai contributi della comunità, l'area di sviluppo principale è lo storage engine Aria, precedentemente chiamato Maria da cui deriva MariaDB; si tratta di un'evoluzione di MyISAM. Viene…

Leggi la voce →
Visual Studio CodeV

Visual Studio Code

Visual Studio Code (o più semplicemente VS Code) è un editor di codice sorgente sviluppato da Microsoft per Windows, Linux e macOS. Include il supporto per debugging, un controllo per Git integrato, syntax highlighting, IntelliSense, snippet e refactoring del codice. Sono personalizzabili il…

Leggi la voce →
Ansible (software)A

Ansible (software)

In informatica Ansible è un software libero che consente di automatizzare le procedure di configurazione e gestione sui sistemi unix-like e Windows (Il nome "Ansible" si riferisce ad un oggetto fantascientifico che consente di comunicare più velocemente della luce).

Leggi la voce →
Programmazione (informatica)P

Programmazione (informatica)

La programmazione è il processo di ideazione, progettazione e costruzione di programmi informatici eseguibili volti generalmente alla risoluzione di problemi o allo svolgimento di computazioni. La programmazione è costituita da fasi come l'analisi e la generazione di algoritmi, lo studio della…

Leggi la voce →
I

Infrastructure as a service

Infrastructure as a service (IaaS) è un'attività economica in cui un fornitore di servizi informatici permette ai clienti di creare piani personalizzati per la creazione di un'infrastruttura cloud scalabile che comprende risorse di calcolo, CPU, RAM, connessioni di rete, memorie di massa e tutto…

Leggi la voce →