Non si commettono mai errori quando si impara a programmare: non è necessario che tutto funzioni al primo colpo; si può giungere all’obiettivo prefissato anche per approssimazioni successive.
Le basi della programmazione sono comuni a tutti i linguaggi, soprattutto quando si parla di programmazione a oggetti (definizione e utilizzo oggetti software in grado di interagire gli uni con gli altri attraverso lo scambio di messaggi).
La programmazione a oggetti permette di modellare gli oggetti del mondo reale o di un modello astratto, permette di gestire e manutenere progetti di grandi dimensioni, consente di organizzare il codice sotto forma di classi traendo evidenti benefici in termini di modalità e riutilizzo del codice stesso.
Per imparare a programmare acquisendo le basi per sviluppare semplici routine o vere e proprie applicazioni con i vari linguaggi, sono oggi disponibili molteplici strumenti che prendono per mano l’utente e spiegano come comportarsi.
Capire come utilizzare un linguaggio di programmazione è molto più semplice e immediato rispetto a un tempo: i costrutti fondamentali possono essere appresi anche in maniera visuale con una serie di esempi pratici che consentono di apprendere lessico, sintassi e semantica.
Di seguito presentiamo alcuni interessanti strumenti che aiutano il neofita a imparare a programmare senza essere costretto a leggere pesanti tomi e senza dover installare, almeno inizialmente, un vero e proprio ambiente di sviluppo.
Una volta fatti propri i rudimenti della programmazione, si potrà scegliere il linguaggio di programmazione più consono alle proprie necessità o, se si guarda al mondo del lavoro, più richiesto presso le imprese (vedere ad esempio il TIOBE Index).
I vari strumenti che vi proponiamo illustrano la maggior parte dei concetti comuni a tutti i linguaggi di programmazione: costanti e variabili, espressioni, operatori, strutture dati (esempio: gli array), strutture di controllo (si pensi alle strutture condizionali come if…then…else e ai cicli for, do, while), sottoprogrammi, funzionalità di I/O e così via.
Strumenti per imparare a programmare
Per iniziare a programmare da zero non c’è di meglio che cominciare con le applicazioni web e le app che vi presentiamo di seguito.
– Grasshopper
Grasshopper è un ottimo strumento sviluppato dal team di Area 120, voluto dai vertici di Google per stimolare i dipendenti aziendali a misurarsi con dei problemi concreti e migliorare le proprie abilità per ciò che riguarda lo sviluppo di semplice codice.
I quiz di Grasshopper prendono per mano il neofita e lo introducono nel mondo della programmazione JavaScript mostrandogli (per ora in tre differenti “capitoli”) ciò che è possibile fare apprendendo un linguaggio di sviluppo.
Agendo sul menu principale di Grasshopper si troverà anche la voce Code Playground che permette di ottenere istantaneamente il risultato di uno specifico codice impartito dall’utente e formato da una serie di istruzioni.
L’app Grasshopper è installabile sia sui dispositivi Android che iOS.
Al momento è ancora integralmente in inglese: ciò non dovrebbe però essere uno scoglio per chi intende avvicinarsi alla programmazione.
L’appellativo Grasshopper scelto da Google fa riferimento a Grace Murray Hopper, matematica inventrice del famoso linguaggio COBOL.
– Code.org
È uno dei progetti più utilizzati anche nel mondo scolastico perché consente, a tutte le età, di avvicinarsi al mondo della programmazione a oggetti.
Per cominciare, basta scegliere un corso di programmazione tra quelli proposti agli studenti e selezionare la propria età.
Code.org propone una serie di sfide, dei veri e propri “rompicapo” che possono essere risolti solamente utilizzando i concetti basilari dei vari linguaggi di programmazione.
La programmazione si svolge usando un approccio visuale: una serie di tessere devono essere collegate l’una all’altra per risolvere ogni problema che viene presentato.
I costrutti di ciascun linguaggio di programmazione sono raccolti in diverse categorie (azioni, cicli, logica, matematica, funzioni e così via): combinandoli assieme e collegandoli al blocco di partenza “Quando si clicca su Esegui” si potrà far spostare un personaggio su una sorta di reticolo indicandogli i passaggi da svolgere.
Per ogni esercizio, Code.org indica il numero massimo di blocchi utilizzabili: in questo modo si sproneranno gli utenti, per esempio, a utilizzare i cicli così da rendere più leggibile e compatto il codice gestendo nella maniera più adeguata le azioni ripetitive.
– Code Combat
Un progetto ancora più “giocoso” rispetto al precedente che guida gli studenti nell’apprendimento di linguaggi di programmazione come Python e JavaScript.
Rispetto a Code.org utilizza, almeno inizialmente, un approccio ancora più semplicistico: funzioni come hero.moveRight()
e hero.moveDown()
evitano automaticamente “i pericoli” che l’eroe virtuale incontra lungo il suo percorso.
Va ipotizzato che si tratta di funzioni “preconfezionate” che al loro interno contengono già le specifiche istruzioni per fermarsi appena prima degli ostacoli.
– Codewars
La piattaforma più “seriosa” da quelle presentate: Codewars consente di imparare qualunque linguaggio di programmazione testando in prima persona il codice.
Qualunque porzione di codice si scriverà all’interno dell’applicazione web Codewars, essa sarà elaborata da parte dell’interprete integrato che provvederà a eseguirla e a mostrare il risultato indicando gli eventuali errori commessi in fase di programmazione.
Codewars si rivolge in particolare a chi abbia almeno un minimo di esperienza nello sviluppo di codice. Sin dal primo caricamento della home page, Codewars prova subito a mettere alla prova le competenze dell’utente chiedendogli di risolvere un problema di coding relativamente al linguaggio di programmazione di questi preferito.
Tra i quesiti non solo quelli relativi ai linguaggi di programmazione più o meno noti, ma anche problematiche da risolvere che riguardano SQL o la shell.
– Code School
Code School prende per mano l’utente, indipendentemente dalla sua età anagrafica, e lo guida alla scoperta dei rudimenti di molteplici linguaggi di programmazione: PHP, Python, .NET, Ruby, JavaScript sono i corsi gratuiti più gettonati.
Ma è possibile anche cimentarsi con la programmazione di app Android e iOS, con l’interrogazione e la gestione delle basi di dati, con lo sviluppo di siti web (HTML e CSS).
Per iniziare a sviluppare con Code School è indispensabile creare un account utente personale ed effettuare il login.
Nell’articolo Linguaggi di programmazione per bambini: quali sono i migliori ci eravamo concentrati soprattutto sugli strumenti da proporre ai bambini e ai ragazzi per imparare a programmare.