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.


Potrebbe Interessarti

Instant Developer Foundation 22.5 e Fluid: il futuro comincia da qui

La versione 22.5 di Instant Developer Foundation rappresenta un passo tangibile verso il futuro di Instant Developer. Il nuovo motore grafico Fluid è infatti il...

Leggi Tutto

Webinar: Le novità di Instant Developer Cloud 22.5

Nel webinar sulle novità della release 22.5 di Instant Developer Cloud , Giuseppe Lanzi, responsabile dei reparti Customer Care e Systems e Paolo Giannelli, responsabile...

Leggi Tutto

Instant Developer Cloud 22.5: esperienze migliori per te e il tuo software

Instant Developer Cloud 22.5 è una versione progettata per una migliore esperienza di utilizzo da parte degli sviluppatori e di fruizione delle applicazioni per gli...

Leggi Tutto

Rimani Aggiornato

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