tutti possono creare software

Tutti possono creare software

Tutti possono creare software, tutti possono scrivere programmi ed eseguirli e quindi chiunque può sviluppare il proprio applicativo. Funziona veramente così?

Beh, non proprio, però rispetto a tanti anni fa questa è una cosa possibile, se non per chiunque almeno per molti.

Un po’ di storia.

Per tagliare corto, in principio erano le macchine con le schede perforate che furono poi sostituite dalle macchine digitali programmabili in linguaggio assembly. Questo linguaggio – chiamato in modo erroneo anche assembler – era alquanto complesso e molto dispendioso in termini di tempo. Era molto vicino al linguaggio macchina ma con la grande differenza che potevano usarsi sequenze di caratteri mnemonici che sostituivano il codice binario di base, cioè gli 0 e 1.

E poi fu il Fortran

Agli inizi degli anni 50 del secolo scorso, John Backus, scienziato americano, sviluppò un lingiaggio chiamato FORTRAN il cui nome stava per Formula Translation, ovvero, come richiamato dal nome, traduceva formule. Il Fortran era in grado di sostituire le istruzioni di comando che compilavano il codice di livello inferiore in qualcosa che somigliava più o meno all’inglese. Da lì in poi, i linguaggi successivi si basarono su quella stessa logica , cioè compilando comandi di codice di basso livello in qualcosa di ancora più semplice e il più possibile vicino al linguaggio umano. Più vicino possibile, ma non così vicino, ovviamente.

Il movimento No Code

Il cosiddetto Movimento No Code, vale a dire una corrente di pensiero che muove dall’esigenza di realizzare applicazioni che permettano agli utenti di sviluppare software senza ricorrere a linguaggi di programmazione, quindi senza scrivere codice (No Code = No Codice), è oggi in auge ed esistono varie piattaforme che consentono di creare software senza essere programmatori. Tra queste sono degne di nota, Quick Base, Mendix, Zudy e Zeroqode.

Low Code vs. No Code

Alcune di queste nuove piattaforme sono Low Code, cioè permettono di sviluppare applicazioni ma è necessario anche scrivere un po’ di codice, o almeno integrare con un po’ di codice allo scopo di rendere il software efficiente. Altre sono proprio No Code, quindi non vi è alcun bisogno di scrivere nemmeno una riga di codice. Entrambe le soluzioni, però, non è che possano essere utilizzate da chiunuqe. Per creare un software, infatti, è necessario avere un minimo di dimestichezza con lo strumento informatico e anche una certa capacità di analisi e di tradurre quindi esigenze in processi automatizzati.

La rivoluzione delle API


No, decisamente non si tratta degli insetti. Le API – Application Programming Interface – sono delle procedure informatiche che sono deputate a svolgere un determinato compito.

La tecnologia dello sviluppo dei sistemi informatici ha sempre favorito le grandi imprese perché erano necessari grandi investimenti per l’acquisto di hardware, per creare team di esperti di programmazione, etc. Quando le grandi imprese creavano i loro applicativi software, questi erano tendenzialmente difficli da modificare e risentivano di una certa obsoloscenza, che nel settore informatico è una questione di pochi anni, talvolta perfino di mesi. Questa tendenza, già dai primi anni 2000, è andata via via scomparendo fino a giungere alla rivoluzione delle API, appunto, quindi procedure che sono condivise e permettono di agganciare servizi e utilizzare funzioni diversamente molto complesse e costose per le piccole e medie imprese. Ad esempio, Google fornisce tutta una serie di API, come quella per le mappe, che possono essere facilmente integrate nei siti web e in altre applicazioni.

L’avvento del Cloud

Altro fenomeno che ha sconvolto certi equilibri è stato l’avvento della tecnologia Cloud. Oggi è possibile fare ricorso a questa tecnologia anche con costi tutto sommato contenuti alla portata di qualunque impresa; considerando, ovviamente, quale caratteristiche sono necessarie e la qualità del servizio offerto. Anche imprese piccole, come il caso di tante startup, hanno accesso a questa tecnologia senza dover pagare le grandi imprese per acquisire software e risorse per lo sviluppo. I Cloud, infatti, possono connettersi ad altri sistemi tramite le API e fornire quindi prestazioni di altissimo livello.

Insomma. le tecnologie Cloud computing e API hanno fatto molto per dare un vantaggio alle piccole aziende. Paradossalmente, tutto ciò, per un certo periodo, ha favorito le piccole aziende, molto più agili e rapide nello sviluppare soluzioni software e coprire esigenze anche di grandi imprese. Ora però, le piattaforme No Code, stanno dando una grossa mano alle grandi imprese di software e tecnologiche permettondole di muoversi agilmente come le piccole startup.

Sviluppo agile del Software

Un piccolo passo indietro. Nei primi anni 2000 si è formato e diffuso un movimento chiamato agile software development, sviluppo agile del software. Questo movimento, tuttora attivo, si propone di creare software in team attraverso processi che rendano efficienti le fasi di produzione e creino sistemi di facile uso per il cliente, il quale partecipa allo sviluppo stesso del software di cui è destinatario. Quindi, tutto viene reso più semplice, veloce, quindi agile, e tutti sono più contenti.

In sostanza, le piattaforme no-code e low-code mantengono le promesse che il movimento Agile, ha fatto ad inizio millennio nel 2001. Tuttavia, piuttosto che semplicemente integrare lo sviluppo del software nel resto dell’impresa, sta rendendo possibile per il resto dell’impresa integrarsi nello sviluppo del software. Cosa significa, che il cliente stesso può avere personale interno che partecipa allo sviluppo e all’aggiornamento degli applicativi software, giacché non è più necessario programmare con complessi linguaggi.

Allora, come si crea un’Impresa Agile?

Quando ho iniziato a programmare, nel 1985, non avevamo a disposizione tutti queste risorse, ovviamente. I clienti non erano così usi all’informatica ma cominciavano a sentirne l’esigenza. Molte applicazioni erano alquanto efficaci ma quasi tutte risentivano di un difetto, gli aggiornamenti!

Ancora oggi è così nella maggioranza dei casi, ma queste nuove soluzioni aiutano le imprese più dinamiche a superare questi limiti e ad ottenere software molto più brillanti e più facilmente gestibili.

Il segreto è quello di affidarsi ad imprese informatiche che usano queste tecnologie e che sanno come si sviluppa un software coinvolgendo il cliente e formando i suoi operatori. L’azienda informatica non perde lavoro, al contrario, ne acquista. Acquisisce infatti più capacità di fornire soluzioni puntuali e veramente efficienti e mette in grado il cliente e il suo personale di utilizzare al meglio le risorse.

Gli informatici continueranno a fare gli informatici, cioè i programmatori, gli analisti, i produttori di software. Mentre i clienti acquisteranno sempre maggiore capacità di interazione con le nuove tecnologie e il loro personale sarà più formato e produttivo. Fate però molta attenzione a non fidarvi di mestieranti e incompetenti, perché la loro incompetenza si rifletterà catastroficamente sulla vostra impresa!

Photo: Image by xresch from Pixabay