Marc Andreesen ha notoriamente affermato nel 2011 che “il software sta mangiando il mondo” in un articolo editoriale sul Wall Street Journal . 

Il suo punto era che il software era il nuovo motore di creazione di valore.

 
Presentazione Perché rendere operativa la mesh di dati è fondamentale per operare nel cloud_
“La mia teoria è che siamo nel mezzo di un drammatico e ampio cambiamento tecnologico ed economico, in cui le società di software sono pronte a conquistare vaste aree dell’economia”, ha scritto Andreesen.

L’articolo descrive in dettaglio una serie di esempi in cui le aziende digitali, come Netflix, Amazon, Apple e Spotify, hanno raggiunto una posizione dominante grazie a software e prodotti digitali. L’articolo  definisce il software in modo piuttosto generico, affermando che le aziende utilizzano il software per scambiare risorse digitali ed espandere notevolmente l’uso dei dati e l’automazione sono i nuovi vincitori.

 Andreesen aveva ragione. Le aziende basate sul software hanno e stanno mangiando il mondo. Tuttavia, la sua analisi si concentra sulle grandi aziende che ottengono notevoli vittorie con software su scala industriale. Il software che indica che ha mangiato il mondo era un prodotto di team di ingegneri d’élite e strati su strati di piattaforme complesse. 

Dal mio punto di vista, stiamo entrando in una nuova era in cui il software continuerà a divorare il mondo, ma in un modo molto più ampio e distribuito. Non saranno solo le aziende più famose o più grandi a ottenere vittorie digitali. Scopriremo che in quasi tutte le aziende, l’uso del software aumenterà notevolmente per aumentare l’efficienza, portare nuova consapevolezza ed espandere l’automazione.

Questo non accadrà mai se questo software può essere creato solo da team di ingegneri d’élite.

Il modo in cui il software mangerà il resto del mondo sarà attraverso metodi low-code e no-code , ma non è tutto. Gran parte del software che Andreesen indica come se avesse mangiato il mondo sarà esso stesso consumato con metodi low-code. 

In breve, se il software sta mangiando il mondo, allora il codice basso sta mangiando il software.

Esaminiamo cosa intendo esattamente e spieghiamo perché questo sta accadendo.

Nozioni di base a basso codice
Il codice basso rende il processo di creazione delle applicazioni molto più semplice. È importante ricordare che i moderni sistemi low-code sono solo il modello di quest’epoca per l’applicazione intelligente dei concetti fondamentali dell’informatica.


Se sei nel mondo del software aziendale e dell’informatica da un po’ di tempo, sai che l’idea di una codifica semplificata che prende il controllo del mondo dello sviluppo software non è nuova. Le lingue specifiche del dominio sono una forma di questa idea. SAP ha creato ABAP e Salesforce ha inventato Apex come linguaggi specifici del dominio per semplificare la codifica delle loro applicazioni e separarle dai dettagli di implementazione sottostanti. Tornando indietro, lo sono anche le lingue di quarta generazione. Andando ancora oltre, possiamo indicare l’RPG di IBM come una forma di codice basso.

Il codice basso, in termini semplici, è la capacità di creare e automatizzare rapidamente applicazioni di un certo tipo. Nessun codice è la possibilità di personalizzare un’applicazione esclusivamente tramite le impostazioni di configurazione. 

Il codice basso, in termini semplici, è la capacità di creare e automatizzare rapidamente applicazioni di un certo tipo. Nessun codice è la possibilità di personalizzare un’applicazione esclusivamente tramite le impostazioni di configurazione. 

Il “codice” nel termine codice basso è la chiave per comprenderne il potere. A differenza di un tradizionale linguaggio ad alto codice come Java o Python o C, in cui puoi quasi codificare tutto ciò che vuoi, in un mondo a basso codice, il codice esiste per fornire la capacità sufficiente per adattare un’applicazione di un certo tipo.  

Il “basso” nel termine suggerisce che la quantità di codice per adattare un’applicazione dovrebbe essere piccola rispetto alla quantità di codice necessaria per implementare l’applicazione in modo high-code. Il “basso” significa anche semplicità, è più facile usare metodi low-code. 

Anche la parte “di un certo tipo” della definizione è importante. I sistemi di sviluppo low-code non sono costruiti per fare nulla. Gli ambienti di sviluppo low-code si concentrano su particolari tipi di applicazioni e forniscono elementi costitutivi che svolgono gran parte del lavoro per implementare quel tipo di applicazione. 

Una volta create, le applicazioni low-code possono essere modificate e adattate a requisiti in continua evoluzione più velocemente rispetto ai metodi high-code. Le applicazioni low-code richiedono anche meno manutenzione, il che significa un debito tecnico inferiore. Le moderne applicazioni low-code create utilizzando piattaforme di aziende come Appian hanno dimostrato di essere di livello enterprise in termini di scalabilità, affidabilità e prestazioni. 

C’è un compromesso. Le applicazioni low-code si concentrano sulla creazione di tipi specifici di applicazioni. Quando una piattaforma low-code soddisfa le tue esigenze, un numero molto maggiore di persone può partecipare alla creazione, alla manutenzione e all’evoluzione delle applicazioni. È da qui che viene la grande vittoria, un argomento su cui tornerò tra un minuto.

L’espansione dei servizi crea leva
Le piattaforme di sviluppo low-code sono più rilevanti e potenti che mai perché viviamo in un mondo pieno di astrazioni e servizi. Il codice basso ci consente di accedere ai servizi e creare nuove applicazioni con molto meno sforzo.


Le piattaforme di sviluppo low-code più avanzate dispongono di una serie completa di funzionalità richieste per la creazione di applicazioni aziendali. Ad esempio, la maggior parte delle piattaforme di sviluppo low-code ha un modo semplificato per definire un’esperienza utente. Questa definizione astratta viene quindi resa nelle interfacce utente fornite su numerosi dispositivi.

Su una moderna piattaforma low-code, uno sviluppatore può definire un’esperienza utente (UX) utilizzando l’astrazione e quindi scoprire che l’applicazione funzionerà sul Web, sui desktop, sui tablet e sui dispositivi mobili senza alcuno sforzo aggiuntivo. Le applicazioni low-code devono convivere con la potenza delle astrazioni fornite dalle piattaforme. Questo è il costo, ma man mano che le piattaforme sono maturate, quel costo è diventato sempre più basso.

La raccolta di astrazioni per UX, dati e automazione dei processi è estesa da vari tipi di componenti applicativi per la gestione dei casi, la modernizzazione dell’eredità, la collaborazione e così via. Il low-code eccelle anche nell’orchestrare servizi da molti sistemi per aggiungere livelli più elevati di automazione e controllo dei processi. 

Ray Kurzweil sottolinea nella sua spiegazione della crescita esponenziale della tecnologia come l’accelerazione avvenga a velocità sempre maggiori man mano che vengono orchestrati servizi sempre più potenti. (Vedi questo articolo sulla leva tecnologica per maggiori dettagli.)

Ray Kurzweil sottolinea nella sua spiegazione della crescita esponenziale della tecnologia come l’accelerazione avvenga a velocità sempre maggiori man mano che vengono orchestrati servizi sempre più potenti.

Ora che gli strumenti software-as-a-service (SaaS) sono diventati diffusi e abilitati per le API, esiste un ricco panorama di servizi. Anche le piccole o medie imprese hanno molte applicazioni SaaS che fungono da sistemi di registrazione ed eseguono funzioni transazionali essenziali come accettare o effettuare pagamenti. 

Il codice basso sblocca la potenza di tutti questi servizi con uno sforzo molto inferiore rispetto agli approcci ad alto codice. 

Il panorama dei servizi ampliato rende inoltre disponibile una serie di dati molto più ampia. Le applicazioni low-code possono accedere e distillare questi dati per creare modelli di attività aziendale molto più dettagliati, che possono essere la base per una migliore analisi e una maggiore automazione. 

Per alcune funzioni vengono utilizzati anche metodi low-code per creare servizi che possono essere utilizzati dalla piattaforma o da consumatori esterni. I metodi con codice elevato possono sempre essere utilizzati per creare nuovi servizi che possono essere inseriti nell’ambiente con codice ridotto.

Le piattaforme di sviluppo low-code sono in continua evoluzione. Il process mining, l’intelligenza artificiale conversazionale (AI), la modellazione di intelligenza artificiale e machine learning (ML) e nuove forme di archiviazione dei dati come i database di grafici e documenti stanno comparendo in piattaforme low-code.

Col passare del tempo, le piattaforme di sviluppo low-code diventeranno sempre più potenti.

Il superpotere del codice basso: aumento della produttività
Il fatto che la codifica sia più semplice ha diversi effetti profondi sulla produttività. Nello specifico, piattaforme di sviluppo low-code:

Espandi il numero di persone che possono codificare. Questa è un’affermazione che deve essere fatta con attenzione. Il codice basso non significa che ora tutti possono creare software avanzato. Tuttavia, significa che le persone che non potrebbero mai creare app ad alto codice possono creare semplici app a basso codice e queste possono essere estremamente utili. 
Migliora la produttività degli sviluppatori avanzati . Gli sviluppatori che utilizzano metodi low-code possono ottenere più risultati rispetto all’utilizzo di metodi high-code per numerosi tipi di applicazioni.
Ridurre il carico di manutenzione. Il software low-code in genere è più facile da mantenere nel tempo rispetto ai metodi high-code perché gran parte della complessità è gestita dalla piattaforma. Le applicazioni semplificate riducono drasticamente il debito tecnico.
Esperienza utente e soddisfazione migliorate. Gli standard e i principi di progettazione applicati dalle piattaforme low-code evitano molti errori e forniscono un’esperienza piacevole, oltre a far funzionare automaticamente le applicazioni su un telefono, un tablet, un laptop o un desktop senza modifiche. 
TCO e ROI migliori. Tutti questi miglioramenti alla produttività portano a un TCO e ROI migliori per le applicazioni low-code.
Ora che i metodi low-code sono diventati più potenti, le app sempre più low-code vengono gestite non come fogli di calcolo una tantum, ma come risorse software chiave che sono. Come altre risorse software, vengono create con suite di test e tecniche di gestione del codice sorgente e registrazione e monitoraggio operativi avanzati. In altre parole, le app low-code sono diventate un vero software, non solo giocattoli dipartimentali. Con il riconoscimento di questa maturità, sempre più sviluppatori e aziende prenderanno in considerazione piattaforme low-code per le loro applicazioni.

Il codice basso mangerà il codice alto
L’economia delle piattaforme di sviluppo low-code sarà uno dei principali motori della loro adozione. Lo sviluppo low-code mangerà il software perché sarà il modo economico ed efficiente per creare le applicazioni di cui il mondo ha bisogno.

Le persone che necessitano di un’applicazione dovranno affrontare le seguenti scelte:

Costruisci con metodi ad alto codice
Acquista un prodotto se ne esiste uno
Costruisci su una piattaforma di sviluppo a basso codice
Acquista un prodotto costruito su una piattaforma di sviluppo a basso codice
La difficoltà del codice alto e la mancanza di adattamento per molti prodotti porteranno le persone a metodi a codice basso. Molte delle piattaforme low-code ora sono dotate di un numero enorme di componenti e modelli per accelerare lo sviluppo.


Poiché le piattaforme di sviluppo a basso codice sono maturate e il numero di servizi è cresciuto, il codice basso si adatta a molti più problemi. Il codice basso espande il pool di persone in grado di risolverli. 

Il numero di nuovi componenti e tecniche disponibili attraverso piattaforme di sviluppo low-code come il process mining, l’IA conversazionale e altri menzionati sopra, continua a crescere. Le piattaforme low-code diventeranno un modo sicuro ed economico per sperimentare nuove tecnologie.

L’uso di un codice basso è un compromesso. Gli sviluppatori accettano i limiti dell’ambiente, sperando che i metodi di codifica semplificati consentano ancora loro di creare l’applicazione di cui hanno bisogno. I sistemi low-code possono fare molto di più di quanto avrebbero potuto fare in passato. Il basso codice mangerà il software perché il compromesso diventa sempre meno doloroso man mano che i sistemi a basso codice diventano sempre più potenti.

Di ihal