La programmazione è morta, lunga vita alla programmazione!
Lo spazio di programmazione è in fermento con notizie a settimane alterne sulle nuove piattaforme no-code e low-code. In un momento in cui queste piattaforme stanno assistendo a un’adozione diffusa , molte stanno annunciando la fine della codifica. Questo sentimento è perfettamente catturato da una citazione del co-fondatore di GitHub Chris Wanstrath, che nel 2017 ha dichiarato :
“La programmazione non è più l’evento principale. La creazione di software è l’evento principale. La codifica è solo una piccola parte di esso. Pensiamo che il futuro della codifica non sia affatto codifica.
Diamo un’occhiata alle differenze tra programmazione e codifica e come saranno influenzate dalle piattaforme low code e no code in futuro.
La differenza tra codifica e programmazione
Mentre la programmazione e la codifica rientrano nello stesso ombrello di set di abilità, la programmazione è un superset di codifica. Tutti i processi di codifica rientrano nella programmazione. I programmatori devono lavorare con algoritmi, gestire le risorse di sistema e capire i bug del programma. Devono anche tenere presente l’utente finale durante la creazione di programmi in modo da garantire che le sue esigenze siano soddisfatte.
La competenza di un programmatore si estendeva anche a test, debugging e test di sicurezza. Devono anche valutare il problema, formulare una dichiarazione del problema, progettare il funzionamento del software, creare il software e la relativa documentazione di accompagnamento ed eseguire la manutenzione ordinaria per mantenere il software in esecuzione.
La codifica, d’altra parte, è solo una parte del processo di programmazione e rientra nello sviluppo del software. Si tratta di scrivere le istruzioni dell’utente sotto forma di un programma, che il dispositivo può quindi eseguire.
Mentre un programmatore deve avere una visione d’insieme della soluzione che viene creata, il programmatore deve solo fornire piccole soluzioni per i problemi di codifica. Si basa anche sul metodo per tentativi ed errori e non richiede alcuna conoscenza preliminare della formulazione del problema, poiché eventuali problemi che si presentano vengono risolti caso per caso.
Ora che abbiamo stabilito la differenza tra codifica e programmazione, approfondiamo il modo in cui la codifica si sta lentamente estinguendo mentre la programmazione sta diventando più forte che mai.
No-code e low-code significano la morte della codifica?
Negli ultimi anni, abbiamo osservato un’impennata nell’utilizzo di piattaforme di sviluppo no-code e low-code. Questi ambienti consentono ai non programmatori di creare un’applicazione pronta per la distribuzione utilizzando una GUI, invece di scrivere molti frammenti di codice e passare attraverso il processo di debug. Le piattaforme senza codice consentono agli sviluppatori di trascinare e rilasciare diversi componenti logici e determinare la loro interazione con altri elementi, come le API.
A causa di una crisi di talenti nello spazio di codifica, le piattaforme no-code e low-code hanno notato una diffusa proliferazione negli ultimi anni. Inoltre, i moderni progetti di sviluppo comportano anche la necessità di ridurre i tempi di consegna, portando le aziende a raccogliere queste offerte. Anche il processo di test per piattaforme low-code e no-code è abbastanza semplice poiché gli sviluppatori possono semplicemente riorganizzare i moduli finché il programma non funziona come previsto.
Anche l’approccio adottato dagli ambienti low-code e no-code per risolvere problemi di codifica comuni è relativamente elementare. Ogni blocco contiene un determinato insieme di passaggi o funzionalità e può essere riutilizzato per soddisfare le esigenze dello sviluppatore. Ciò consente agli utenti di creare un’applicazione in un processo simile alla stesura di un diagramma di flusso, consentendo anche agli utenti che non hanno conoscenze di programmazione di sfornare un’applicazione distribuibile.
L’aumento della popolarità di queste piattaforme mostra che la codifica può essere aperta ai cosiddetti sviluppatori cittadini, un altro termine per le persone con poca conoscenza della codifica. Anche chi non ha quasi nessuna conoscenza della codifica può creare un’applicazione che può essere distribuita al cliente finale e fornirà un’esperienza simile a un’applicazione codificata in un ambiente tradizionale.
La differenza tra no-code e low-code
Le piattaforme senza codice di solito si rivolgono a funzioni specifiche del settore, con il loro pubblico principale costituito da utenti non tecnici che desiderano ottimizzare le proprie operazioni aziendali. Le piattaforme low-code, d’altra parte, in genere prendono di mira gli sviluppatori che operano con un vincolo di tempo. Vengono utilizzati per fornire applicazioni rapidamente e conservare risorse che possono essere utilizzate meglio per creare qualcosa che abbia un impatto maggiore sui profitti dell’organizzazione.
Poiché le piattaforme senza codice di solito si rivolgono a una linea di utenti aziendali, che cercano di creare applicazioni che possono essere utilizzate per accelerare le loro operazioni aziendali, offrono una serie di vantaggi. Queste piattaforme non solo aprono l’accesso alla creazione di soluzioni basate su codice per i non codici, ma la natura ricca di funzionalità dei moderni ambienti senza codice consente agli sviluppatori di risolvere problemi unici per la loro linea di lavoro. Inoltre, le piattaforme senza codice possono essere utilizzate anche per automatizzare i flussi di lavoro, risparmiando così più risorse.
Come per qualsiasi mercato in arrivo, ci sono sfide associate alle piattaforme no-code e low-code. Tra i più grandi forse c’è il fatto che la personalizzazione in base ai casi d’uso è fortemente limitata alle funzionalità offerte da ciascuna piattaforma. Gli sviluppatori hanno anche sollevato la questione del siloing della piattaforma con ambienti senza codice. Hanno citato la preoccupazione che le applicazioni non possano essere facilmente trasferite da una piattaforma senza codice all’altra, in quanto non offrono funzionalità di intercompatibilità.
Con il continuo progresso delle piattaforme senza codice, potrebbe arrivare un giorno in cui anche le applicazioni più capaci possono essere create senza dover scrivere una sola riga di codice. Tuttavia, la realtà oggi non è così rosea. Sebbene sia vero che le piattaforme senza codice possono consentire ai cittadini di creare applicazioni, le funzionalità personalizzate necessitano comunque di codifica. Anche le piattaforme senza codice più potenti hanno bisogno di almeno un po’ di codice quando cercano di creare applicazioni complete.
Il no-code è solo un’altra tendenza degli sviluppatori o è qui per restare?
La programmazione ha il proprio set di anacronismi e tendenze ed è comune vedere una comunità che si riversa su una nuova piattaforma o lingua semplicemente perché è nuova. Queste nuove tendenze hanno assunto una forma propria, creando una sorta di cultura pop nella programmazione in cui gli sviluppatori devono adattarsi o rischiare di restare indietro.
Mentre gli ambienti no-code e low-code sono diventati strumenti quotidiani nell’arsenale di qualsiasi sviluppatore, ci sono molti che dubitano della veridicità del loro uso continuato. Tuttavia, mentre molti continuano a essere preoccupati per gli ambienti low-code, l’industria ha già colto la tendenza e ha iniziato l’adattamento su vasta scala.
Uno studio di Gartner ha rilevato che l’utilizzo di tecnologie low-code e no-code sarà quasi triplicato entro il 2025. Hanno anche previsto che il 70% delle nuove applicazioni sviluppate dalle organizzazioni utilizzerà piattaforme low-code e no-code entro tale data. Le aziende riconoscono anche il vantaggio dell’adozione di queste tecnologie su larga scala, poiché alla fine ridurrà il talento che devono acquisire per creare applicazioni.
Osservando le tendenze in questo spazio, è chiaro che le piattaforme no-code e low-code probabilmente resteranno qui. Anche se potrebbero non sostituire il lavoro di un programmatore nel prossimo futuro, ci sono prove concrete che queste piattaforme forniranno un importante valore aggiunto sia per le imprese che per i programmatori.
DI ANIRUDH VK da analyticsindiamag.com