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 Cloud 24.0: Sviluppa con stile, proteggi il tuo lavoro

Instant Developer Cloud 24.0 si è vestito con una nuova grafica più moderna, così da oggi ti offre un ambiente di lavoro ancora più piacevole...

Leggi Tutto

Instant Developer e PayPal: l’integrazione in 3 passaggi

Nella realizzazione di applicazioni web B2C per la vendita di prodotti e servizi verso gli utenti finali è sempre necessario integrare uno o più sistemi...

Leggi Tutto

Comunicazione Backend–Frontend efficace: Una Guida con Instant Developer

In un mondo dove le applicazioni diventano sempre più complesse, rendere efficace la comunicazione backend - frontend è più che mai fondamentale. Instant Developer non...

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.*