Instant Developer, Sviluppo software

Programmazione relazionale: la soluzione per azzerare il debito tecnico

| 10 Dicembre 2019 | Andrea Maioli
cropped programmazione relazionale Instant Developer

Nel mio articolo precedente ho descritto la soluzione teorica al problema del debito tecnico: la “programmazione relazionale”. Essa consiste in un nuovo modo di scrivere il codice che memorizza anche le relazioni fra gli elementi del codice e le gestisce automaticamente durante le operazioni di modifica.

Per passare dalla teoria alla pratica, è necessario trovare un sistema di sviluppo di software che funzioni in questo modo. Questo è il vero motivo dell’esistenza dei prodotti Instant Developer, nati appunto per sfruttare appieno le potenzialità della programmazione relazionale.

Il cuore dei sistemi Instant Developer è un nuovo tipo di IDE, in cui l’intero progetto software – dal modello del database fino all’ultima riga di codice e all’ultimo report – viene gestito e memorizzato in modo relazionale.

In pratica, le operazioni di sviluppo consistono nella definizione degli elementi strutturali del software all’interno di una visualizzazione ad albero, che conterrà quindi i modelli dati, le API, la struttura delle classi, le definizioni dei metodi, le videate, le risorse e così via.

Si prosegue quindi alla scrittura del codice dei metodi tramite editor dedicati che memorizzano i token di ogni riga di codice già in formato relazionato, inferendo le relazioni in tempo reale.

L’esperienza di utilizzo è piuttosto simile ad un IDE tradizionale, ma è sufficiente qualche ora di lavoro per iniziare a notare i primi cambiamenti. Alcuni esempi:

  • Modificando il nome o le proprietà di un campo del database, la modifica viene propagata a tutte le query che accedono a quell’informazione e, in cascata, a tutti gli oggetti in memoria che contengono i risultati delle query e alle righe di codice che li utilizzano, ed infine alle videate e ai report.
  • Durante la programmazione è disponibile una sorta di “intellisense” globale sull’intero progetto, sia quando viene scritto il codice che quando si prepara una query. Questo vale anche quando si programma in JavaScript che, essendo un linguaggio a tipizzazione dinamica, rende difficile l’analisi dei tipi a design time.
  • È disponibile una funzione “trova dove usato globalmente” che permette di conoscere in tempo reale tutte le dipendenze di un determinato oggetto del progetto, a tutti i livelli. Ad esempio, partendo da un campo del database, possiamo vedere tutte le pagine, i report, le query e i metodi che trattano quel dato.
  • Ad ogni modifica l’intero progetto rimane coerente con se stesso, quindi il numero di errori dovuti a dimenticanze o non consapevolezza delle conseguenze di una modifica è assente o ridotto al minimo.

In sintesi, l’esperienza di programmazione con i prodotti Instant Developer risulta nella possibilità di “tenere in mano” un progetto, anche di classe enterprise, con un utilizzo minimo di risorse. Questo vale nella fase iniziale di sviluppo, e vale ancora di più nella fase di manutenzione nel tempo, quando è più facile perdere conoscenza delle relazioni fra i vari elementi del software.

Dopo venti anni di sviluppo, i sistemi Instant Developer hanno ormai dimostrato le enormi potenzialità della programmazione relazionale. Non rimane altro da fare che approfittarne.

Andrea Maioli
CEO & Co-Founder
Mi occupo di Instant Developer, dalla mattina presto a notte inoltrata. Mi interesso di ingegneria del software, di natural language processing e di tutti i modi per sfruttare al meglio le nuove tecnologie.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *


Potrebbe interessarti

Instant Developer Foundation e Cloud 24.5: la prima volta insieme

Il rilascio delle versioni 24.5 di Instant Developer Foundation e Instant Developer Cloud rappresenta una grande novità: è la prima occasione in cui le due...

Leggi Tutto

Integrazione di librerie JavaScript per generare barcode

Scegliere il modo giusto per generare barcode non è semplice e la decisione che prendi può fare la differenza in termini di costi e praticità.Potresti...

Leggi Tutto

Web API: il modo semplice per condividere database con Instant Developer Foundation

Utilizzare le Web API per condividere i propri database con altre applicazioni può essere a volte molto complicato. Ma, allo stesso tempo, le Web API...

Leggi Tutto

Rimani Aggiornato

Iscriviti alla nostra newsletter per ricevere aggiornamenti su novità, eventi, release, webinar e tante altre notizie sui prodotti Instant Developer.

    Presa visione dell'informativa (disponibile qui) resa da Pro Gamma SpA, acconsento al trattamento dei miei dati personali per l'invio di newsletter.*