![]() |
||||||||||||||||||||||||||||||||
|
Home/Principi della programmazione relazionale Sviluppare software è un mestiere difficile. Bisogna risolvere problemi molto complessi, conseguenti alla crescente ricchezza e articolazione delle applicazioni. Pensiamo alla distinta base di un aereo, oggetto senza dubbio complesso: è composta da 150.000 parti. Un’applicazione software di media complessità non è da meno: facilmente supera le 200.000 righe di codice, e ognuna di esse deve adattarsi perfettamente a tutte le altre, senza margini di errore, perché basta una modifica avventata a una sola riga di codice per bloccare tutto.![]() esemplificazione grafica della complessità di un applicazione composta da file di testo non relazionati I tradizionali metodi di creazione del software hanno il loro punto di debolezza nella gestione di questo tipo di complessità: anche gli ultimi sistemi di sviluppo come Visual Studio o Eclipse sono poco più che editor di file di testo. Pensiamo ad un'applicazione fatta da 1.000.000 di righe di codice java da realizzare con uno di questi strumenti. Se una di queste righe di codice deve essere modificata chi ci dice quali altri cambiamenti devono essere fatti perché tutto funzioni ancora? E tutti questi cambiamenti, a loro volta, quali ulteriori cambiamenti richiedono? E’ un metodo di lavoro che ricorda più un’attività artigianale che industriale. La programmazione relazionale ha il suo principale vantaggio proprio nella capacità di gestione della complessità dei sistemi software: questi non vengono più descritti tramite milioni di righe di codice sparse e incoerenti, ma creando un’unica struttura relazionale, un grafo, in cui i componenti del software nascono e rimangono integrati e collegati gli uni agli altri.
I componenti di questa struttura sono gli stessi che si utilizzano già per fare software: tabelle, campi, relazioni, videate, oggetti, interfacce, metodi, statement; non più descritti in un file di testo, ma appunto in una struttura che ne memorizza le proprietà e le relazioni. Questa struttura relazionale viene poi compilata automaticamente da In.de nei vari tipi di codice sorgente necessari al funzionamento dell'applicazione in produzione. Il codice generato è commentato, manutenibile e conforme agli standard di mercato, a tutti i livelli dell’architettura. Non ci sono runtime proprietari e il codice è lo stesso che potrebbe essere scritto da programmatori esperti nelle architetture e nei linguaggi supportati (vedi esempi di codice generato). La prima conseguenza interessante è che con Instant Developer è sufficiente un unico prodotto per gestire l'intero ciclo di vita del software, dall’analisi all’installazione e oltre (vedi il percorso Un unico strumento). Con i sistemi di sviluppo tradizionali, invece, è necessario ricorrere a una pluralità di strumenti e linguaggi per arrivare a creare l’applicazione, e questo è spesso causa di incoerenze, rilavorazioni ed errori.
|
Indice del percorso
|
|||||||||||||||||||||||||||||||