Informatica: alleanza tra una scienza non esatta e un’attività umana non infallibile – Luc Fayard

Stai seguendo dei corsi per imparare la programmazione e lo sviluppo web? Stai per iniziare a programmare il tuo primo progetto? Vorresti diventare uno sviluppatore web?

Hai ragione: conoscere la programmazione ti offre il doppio vantaggio di poter guadagnare una bella cifra (ammesso che tu sia un programmatore capace, ovvio!) e non restare mai disoccupato.

Gli sviluppatori e i programmatori hanno un reddito mensile lordo medio, nel corso dell’anno 2020, compreso tra 2.100€ e 4.000€ ed anche più. Come se non bastasse, le aziende spesso sono alla ricerca di personale con capacità informatiche elevate o comunque di livello buono, un po’ come se vi fosse penuria di candidati!

Saper programmare delle pagine web e programmare delle applicazioni web è un lavoro che implica il rispetto di diverse tappe. Superprof, oggi, prova a mettersi dal punto di vista di uno sviluppatore informatico: quali sono le fasi della programmazione web?

Ma perché dovresti imparare a programmare?

I/Le migliori insegnanti di Programmazione disponibili
Santiago
5
5 (14 Commenti)
Santiago
20€
/h
Gift icon
Prima lezione offerta!
Marco
5
5 (42 Commenti)
Marco
25€
/h
Gift icon
Prima lezione offerta!
Diletta
5
5 (10 Commenti)
Diletta
20€
/h
Gift icon
Prima lezione offerta!
Daniele
5
5 (39 Commenti)
Daniele
15€
/h
Gift icon
Prima lezione offerta!
Lorenzo
5
5 (20 Commenti)
Lorenzo
40€
/h
Gift icon
Prima lezione offerta!
Sergio
5
5 (7 Commenti)
Sergio
20€
/h
Gift icon
Prima lezione offerta!
Alessandro
5
5 (15 Commenti)
Alessandro
30€
/h
Gift icon
Prima lezione offerta!
Massimiliano
5
5 (15 Commenti)
Massimiliano
25€
/h
Gift icon
Prima lezione offerta!
Santiago
5
5 (14 Commenti)
Santiago
20€
/h
Gift icon
Prima lezione offerta!
Marco
5
5 (42 Commenti)
Marco
25€
/h
Gift icon
Prima lezione offerta!
Diletta
5
5 (10 Commenti)
Diletta
20€
/h
Gift icon
Prima lezione offerta!
Daniele
5
5 (39 Commenti)
Daniele
15€
/h
Gift icon
Prima lezione offerta!
Lorenzo
5
5 (20 Commenti)
Lorenzo
40€
/h
Gift icon
Prima lezione offerta!
Sergio
5
5 (7 Commenti)
Sergio
20€
/h
Gift icon
Prima lezione offerta!
Alessandro
5
5 (15 Commenti)
Alessandro
30€
/h
Gift icon
Prima lezione offerta!
Massimiliano
5
5 (15 Commenti)
Massimiliano
25€
/h
Gift icon
Prima lezione offerta!
Inizia subito

Definire, a monte, il progetto e lo scope statement

Prima di ogni cosa, e ancora prima di elaborare uno scope statement, ovvero uno schema preciso dei ruoli e dei compiti (che sarà in qualche modo una mappa nel pilotaggio del progetto web), è essenziale definire il tuo progetto web.

In azienda o presso il cliente per cui lavorerai, dovrai interagire con diversi interlocutori: il cliente (che sarà spesso una persona che ti solleciterà per conto di un’azienda), ma anche gli altri servizi dell’agenzia o della start up.

Ma non disperare, perché anche tu, se ti impegni e con un po' di esperienza, riuscirai a leggere e a scrivere così.
Queste linee di codice non saranno di facile comprensione, per i principianti!

Solitamente, si pensa spesso ai dirigenti (CEO), ai responsabili di progetti web, ai responsabili di contenuti (content manager), ai responsabili del marketing, agli esperti e ai consulenti SEO.

La definizione del progetto web

Durante questa fase preparatoria, gli sviluppatori e i programmatori descriveranno il progetto, così come lo immaginano, in un linguaggio letterario (in italiano, dunque): l’utilizzo, il modo di funzionamento, la presentazione, la finalità, la natura, l’obiettivo, …

Questa tappa è detta anche fase di inquadramento o fase di analisi.

È la fase nel corso della quale si raccoglieranno tutte le informazioni necessarie alla produzione dello strumento digitale. Il programmatore professionista logicamente si interrogherà sull’obiettivo del programma da sviluppare. Successivamente, bisognerà pensare alle relazioni che esisteranno tra i dati e gli utenti: sempre di più, il mestiere consiste nel programmare delle soluzioni che permetteranno di massimizzare l’esperienza utente.

In altri termini, la codifica informatica implica di codificare per l’utilizzatore: è quello che gli informatici e i responsabili web marketing chiamano UX (user experience); le linee di codice mirano a concepire un prodotto al servizio degli utenti.

In seguito, l’informatico stimerà i tempi che saranno necessari per concludere il progetto. Si vedrà se si tratti di codificare un sito o delle applicazioni web con un linguaggio che permette di programmare rapidamente, come HTML, CSS o PHP. O, al contrario, se si tratti di un progetto che necessita di nuovi linguaggi di programmazione, fino a quel momento sconosciuti: si utilizzeranno, dunque, JavaScript o Python.

Infine, conviene chiedersi a quali esigenze dovrà rispondere il progetto: codificare un programma deve, per forza di cose, rispondere a delle domande, risolvere dei problemi, andare incontro a delle esigenze.

L’elaborazione dello scope statement

A questo momento, si dovrà descrivere in modo preciso il funzionamento del programma; la configurazione materiale dell’applicazione, per esempio, se si tratta di un’applicazione mobile:

  • La macchina client e la macchina server,
  • Il tipo di hosting,
  • Il sistema operativo richiesto,
  • L’indipendenza, nel caso si tratti di un’app multi piattaforma
  • La configurazione della rete e i diversi protocolli (soprattutto HTTP o HTTPS).

Lo scope statement è stato fatto? Allora, lo sviluppo in quanto tale può iniziare.

Conosci la storia della programmazione informatica?

Le fasi di sviluppo di un programma informatico

Nel corso di questa tappa di programmazione del programma o dell’app, il professionista si dedica alla redazione del codice sorgente.

Si tratta di testi da codificare, utilizzando un editor di testo. A questo livello, la maggior parte dei programmatori utilizza il semplice editor di testo Edit o il block notes di Windows.

Hai la scelta tra diversi editor: quale preferisci?
Per scrivere il codice, meglio usare un editor di testo!

Ma si possono utilizzare tranquillamente anche altri editor di teso e IDE (che sta per Integrated Development Environment) come Sublime Text, Atom, Notepad++, TextMate, UltraEdit, Coda, o CodeShare, ecc.

Sublime Text è uno dei più apprezzati. Permette di redigere con una sintassi colorata, per distinguere le parole chiave, le etichette, i segni di puntazione, le catene di caratteri, i numeri, i link, ecc.

Per semplificare il discorso, potremmo dire che il codice sorgente è un insieme di linee di codice adattate allo spirito umano.

Questo è anche il momento in cui si dovrà scegliere un linguaggio: il linguaggio scelto potrà esprimere le sottilità dell’algoritmo, in modo completo (linguaggio di basso livello o linguaggio di altro livello, come C++ e JavaScript.

C++, spesso, è descritto come il linguaggio più utilizzato dopo Phyton.

JavaScript è un linguaggio impiegato per creare delle interfacce utenti, utilizzato in programmazione di siti web, grazie a Node JS (per fare del front-end).

Il linguaggio Python è il linguaggio di programmazione più utilizzato in assoluto: nell’intelligenza artificiale, in medicina, nella ricerca scientifica e in programmazione.

Il PHP è stato uno dei linguaggi più impiegati al mondo, in particolare perché consente di creare dei siti web con Word Press.

Infine, il linguaggio Java è un linguaggio di programmazione orientato agli oggetti.

Una volta redatto il codice sorgente, si deve poi tradurlo in un linguaggio comprensibile, questa volta, per il computer (per la versione desktop), lo smartphone o il tablet (in versione mobile).

Questa traduzione o, meglio, conversione, avverrà attraverso l’uso di due mezzi:

  • L'interpretazione
  • La compilazione.

L’interpretatore analizzerà il codice sorgente ed eseguirà ogni linea letta dall’algoritmo. Questa tappa richiede parecchio tempo, perché la macchina deve interpretare e convertire ogni linea, prima di eseguirla.

La compilazione, invece, è una traduzione del codice sorgente in un linguaggio macchina effettuato in una sola volta: si ottiene il codice oggetto. Segue diverse tappe:

  • L'analisi lessicografica
  • L’analisi sintattica
  • L’analisi semantica
  • La generazione del codice e l’ottimizzazione.

Questa fase permette di gerarchizzare il codice, di renderlo fluido e di accelerare la velocità di esecuzione dell’interfaccia – utente.

Leggi qui tutto quello che c'è da sapere sulla programmazione!

I codici sorgente ottenuti sono nominati anche “moduli sorgente”. Una volta compilati, consentono di ottenere dei moduli oggetto.

Questi devono essere rassembrati tutti assieme per formare il codice eseguibile.

Alcuni linguaggi ti consentono di usare questo escamotage, per semplificarti la vita!
Distingui tra loro i diversi elementi del codice, usando colori differenti!

Ed è qui, che interviene l’editor dei link, il linker.

Imparare a programmare con questo o quel framework e conoscere ogni linguaggio informatico richiede diversi anni di allenamento e pratica.

È un dominio, quello della programmazione, in cui l’auto formazione è regina: è necessario continuamente evolvere, rimettere in causa le proprie capacità, rinnovarsi e adattarsi alle nuove tendenze del web.

Non riposare mai sugli allori delle tue basi di programmazione!

Nel corso della fase dell’edizione dei link, ricorda che il compilatore non può sapere dove si trovino le variabili e le funzioni che compongono i moduli oggetto.

Questo è il motivo per cui questi moduli sono ricollocabili, relocatables, per dirla un po’ più british.

In seguito, è il momento dell’assemblaggio.

Con un assemblatore, il compito consiste nel mettere insieme i moduli oggetto, raggruppando tutti i segmenti della stessa natura (codice, dati, link, ecc.).

I diversi tipi di programmazione: leggi l'articolo!

Il debugging del programma informatico

Il processo di debugging è una fase di test fondamentale nella creazione di ogni sistema di programmazione.

Anche in programmazione di alto livello, bisogna sapere se lo strumento che si è appena sviluppato è funzionale oppure no, se si esegue rapidamente, se il suo punteggio SEO è buono (gli sviluppatori utilizzano, ad esempio, lo strumento Lighthouse).

Semplicemente, si testeranno i bug nel codice e nei database, si cercherà di capire perché il codice non funzioni, …

Potrebbe capitare che il debugging richieda più tempo di quello impiegato per redigere il codice stesso.

Per migliorare le tue competenze in programmazione, dovrai quindi imparare ad effettuare il debugging del codice sviluppato per ogni programma.

È assolutamente impossibile scrivere un programma senza errori, in una sola scrittura: sarà sempre necessario testare i risultati; con l’occasione, si troveranno delle linee di codice da migliorare e da ottimizzare.

Dovrai allora porti alcune domande:

  • Perché lo script reagisce così?
  • Perché si produce questo errore?

Dovrai allora testare diverse ipotesi, per verificare o invalidare la provenienza e le circostanze del bug. Questa fase implica anche una continua rimessa in questione ed una riflessione sui modi di organizzare i progetti in moduli e di nominare le variabili, …

Per fortuna, esistono dei programmi che si occupano del debugging, ma il tuo intervento resta indispensabile.
Un bug? Cerca l'errore sulle tue linee di codice!

Insomma, è un lavoro di rifinitura: è un po’ come un pittore di pareti, che passa alle rifiniture con un pennello più piccolo, dopo aver lavorato con il rullo.

Quest’operazione è spesso trascurata dagli sviluppatori, che non si degnano di accettare che i loro linguaggi informatici possano essere non funzionali o mal scritti.

Ma si tratta di una tappa imprescindibile nell’apprendimento della programmazione.

Comunque, tranquillo, dato che esistono degli strumenti performanti di debugging, che permettono ai tuoi programmi di essere eseguiti passo a passo. Nel corso di questo audit, le scansioni si arrestano nei posti critici, per permetterti di consultare o modificare le variabili e testare la reazione del programma.

Insomma, il debugging aiuta a conoscere il comportamento del programma sviluppato, ovvero a aiuta a capire se si comporta diversamente da quello per cui tu lo avevi previsto.

>

Il portale che connette insegnanti privati/e e allievi/e

1a lezione offerta

Ti è piaciuto quest'articolo? Lascia un commento

5,00 (1 voto(i))
Loading...

Igor

Appassionato lettore quasi onnivoro, moderatamente digitale, esperto di content marketing e amante della natura