Quando si inizia a ci­men­tar­si con la pro­gram­ma­zio­ne, ci si ritrova davanti a molti in­ter­ro­ga­ti­vi. Se non si ha espe­rien­za, è difficile riuscire a capire subito come fun­zio­na­no gli strumenti, quali metodi uti­liz­za­re e come di­stri­car­si tra i codici. Infatti imparare a pro­gram­ma­re non è un'im­pre­sa facile, spe­cial­men­te se ci si prefigge di ap­pren­de­re le basi da au­to­di­dat­ta. In questo articolo vi chiariamo cosa serve per iniziare a pro­gram­ma­re e per orien­tar­si tra codici, comandi e linguaggi di scripting.

Pro­gram­ma­zio­ne per prin­ci­pian­ti: la fase di ricerca e studio

Chi vuole imparare un lin­guag­gio di pro­gram­ma­zio­ne deve leggere molto perché solo in­for­man­do­si sui forum e sui libri si comincia a farsi una prima idea del­l'ar­go­men­to. Piano piano si comincerà ad as­si­mi­la­re i concetti es­sen­zia­li, ri­vol­gen­do­si ai forum esistenti per ogni lin­guag­gio, dove sono già raccolte molte risposte alle più svariate domande o dove è comunque possibile saperne di più. Potete chiedere anche di­ret­ta­men­te alla ri­spet­ti­va community che in genere riesce a sod­di­sfa­re la vostra brama di co­no­scen­za. Vi con­si­glia­mo di annotarvi le vostre scoperte, in modo da creare un database personale di in­for­ma­zio­ni al quale accedere per risolvere più in fretta il problema e lavorare spediti.

Imparare a pro­gram­ma­re: quali linguaggi esistono?

Una parte im­por­tan­te della fase iniziale di ricerca e orien­ta­men­to consiste nel conoscere i linguaggi di pro­gram­ma­zio­ne esistenti e capire quale sia quello più adatto per rea­liz­za­re il vostro progetto. Rientrano tra i più co­no­sciu­ti e uti­liz­za­ti:

  • Java
  • C
  • C++
  • C#
  • Objective-C
  • Python
  • Visual Basic .NET
  • PHP
  • Ja­va­Script

Ognuno di questi linguaggi presenta un diverso tipo di com­ples­si­tà, che renderà l'ap­pren­di­men­to del lin­guag­gio scelto più facile o più difficile. Per questo è bene che sia chiaro sin dal­l'i­ni­zio il motivo per cui volete imparare a pro­gram­ma­re: vorreste creare dei siti web? Siete in­te­res­sa­ti a svi­lup­pa­re delle app per smart­pho­ne e tablet? O preferite forse pro­gram­ma­re mi­cro­con­trol­lo­ri da inserire ad esempio nella vostra auto?

Pro­gram­ma­re per il web

Se si vogliono creare dei siti o inventare un'ap­pli­ca­zio­ne web, è meglio co­min­cia­re dalle basi. I codici HTML e CSS non sono dei linguaggi di pro­gram­ma­zio­ne, ma co­sti­tui­sco­no la base della maggior parte dei siti e do­vreb­be­ro per questo essere imparati per primi. Grazie all'HTML si creano gli elementi di un sito e si forma la struttura di base, poi con l'HTML5 è possibile ar­ric­chi­re le vostre pagine con file audio e video. Con i fogli di stile CSS (Cascading Style Sheets) si modella l'e­ste­ti­ca di una pagina: tutte le proprietà degli elementi, come posizione o colore, sono stabilite in questo documento. Però con questi codici si creano solo delle pagine statiche, semplici ma fun­zio­na­li. Una volta svolti questi primi passaggi, si può passare alla pro­gram­ma­zio­ne vera e propria. Per creare delle pagine dinamiche, si consiglia di co­min­cia­re con i linguaggi di scripting semplici come Ja­va­Script, con il quale si possono impostare dei siti dinamici con la re­go­la­zio­ne au­to­ma­ti­ca delle di­men­sio­ni delle immagini o inserire sem­pli­ce­men­te una galleria. PHP e SQL com­ple­ta­no il quadro dei linguaggi di pro­gram­ma­zio­ne: PHP è un lin­guag­gio di scripting open source che può essere integrato nei documenti HTML, mentre SQL è un lin­guag­gio per i database con il quale si de­fi­ni­sco­no le strutture dei dati, si possono mo­di­fi­ca­re e si in­ter­ro­ga­no le banche dati. Se si vogliono creare delle pagine più complesse, che prevedono ad esempio un'area utente, e si utilizza un CMS, un minimo di co­no­scen­ze di PHP e SQL sono in­di­spen­sa­bi­li per fa­ci­li­tar­vi il lavoro. Ov­via­men­te qui sono stati esposti solo alcuni tra i mol­te­pli­ci linguaggi e script della rete. Però co­no­scen­do i linguaggi HTML, CSS, Ja­va­Script, SQL e PHP, si hanno le co­no­scen­ze es­sen­zia­li per creare la maggior parte delle ap­pli­ca­zio­ni web. Sul sito W3Schools.com si trova una ricca do­cu­men­ta­zio­ne e tutorial su tutti gli script e i linguaggi citati, adatti anche ai prin­ci­pian­ti.

Pro­gram­ma­re le ap­pli­ca­zio­ni

Chi volesse pro­gram­ma­re altre ap­pli­ca­zio­ni come giochi, programmi di grafica o app, deve partire da altre basi. As­so­lu­ta­men­te da conoscere sono i linguaggi C, C++ e Java, che hanno una sintassi simile e per questo chi ha già di­me­sti­chez­za con C o C++, imparerà più fa­cil­men­te Java. Per co­min­cia­re ad usare C, si consiglia la risorsa di­spo­ni­bi­le in rete sotto licenza Creative Commons, "Il lin­guag­gio C: guida pratica alla pro­gram­ma­zio­ne 3^ edizione". In rete non mancano poi in­nu­me­re­vo­li risorse gratuite per conoscere a fondo tutti i linguaggi, e tra questi se­gna­lia­mo l'ampia raccolta di Wikibooks.

App per iOS e OS X

Per pro­gram­ma­re app e ap­pli­ca­zio­ni per iPhone, iPad e altri di­spo­si­ti­vi Apple si ricorre a Cocoa, che non è un lin­guag­gio, bensì un'in­ter­fac­cia di pro­gram­ma­zio­ne per il sistema operativo Apple Mac OS. In­di­spen­sa­bi­le per creare ap­pli­ca­zio­ni per Mac e iOS è Xcode, un ambiente di sviluppo per Mac OS da uti­liz­za­re insieme a Cocoa. Si tratta in questo caso di un software per rea­liz­za­re la grafica delle app, che si basa su linguaggi come Objective-C.

Apps für Android

Le app e le ap­pli­ca­zio­ni per il sistema operativo Android sono scritte in Java. Grazie al­l'am­bien­te di sviluppo (IDE) Android Studio e al Java De­ve­lo­p­ment Kit di Oracle, unite alle proprie com­pe­ten­ze, nascono così diverse app.

Imparare a pro­gram­ma­re online

Og­gi­gior­no chi sa pro­gram­ma­re, ha una marcia in più da poter sfoggiare al­l'in­ter­no della propria azienda o nel momento in cui ci si candida per un posto di lavoro. Su Internet è possibile trovare molte risorse utili per riuscire a pa­dro­neg­gia­re i linguaggi di pro­gram­ma­zio­ne e inoltre vengono offerti sempre più corsi online per imparare a pro­gram­ma­re.

Code Academy

Code Academy offre dei corsi di pro­gram­ma­zio­ne in­te­rat­ti­vi, ad esempio per HTML, Ja­va­Script e PHP. Non ci sono però solo corsi sui linguaggi di pro­gram­ma­zio­ne, ma se ne trovano anche altri su temi collegati, ad esempio su come creare siti web in­te­rat­ti­vi. In­te­res­san­te è anche la scelta di Code Academy di offrire i suoi corsi gra­tui­ta­men­te.

  • Lingua: inglese
  • Requisiti: co­no­scen­ze di base
  • Costi: nessuno

Udemy

La piat­ta­for­ma online Udemy offre più di 40.000 corsi, che vanno dalla fo­to­gra­fia, passando per le lingue fino al design. Si trattano anche argomenti in­for­ma­ti­ci, software e si spiega la pro­gram­ma­zio­ne di un sito con lezioni sia a pagamento sia gratuite. Ad esempio si trovano delle in­tro­du­zio­ni gratuite a Java, HTML5 o PHP, mentre altri linguaggi di pro­gram­ma­zio­ne, altri corsi per creare app sui di­spo­si­ti­vi mobili e per l'e-commerce sono di­spo­ni­bi­li a pagamento. E per gli im­pren­di­to­ri c'è anche un corso apposito di pro­gram­ma­zio­ne per le aziende.

  • Lingua: inglese, ma ci sono anche corsi in italiano e in altre lingue
  • Requisiti: a seconda del corso possono essere richieste co­no­scen­ze di base o meno
  • Costi: corsi gratuiti, ma anche a pagamento a partire da circa 12 Euro

Code.org

Code.org è un portale online per prin­ci­pian­ti assoluti e per questo il migliore da cui co­min­cia­re. Ci sono in­nu­me­re­vo­li tutorial con funzioni ludiche, che si basano ad esempio su famosi giochi online come Angry Birds. Su Code.org, un portale in­ter­na­zio­na­le di­spo­ni­bi­le anche in italiano, si spiega la logica di base della pro­gram­ma­zio­ne. Gli utenti imparano a pro­gram­ma­re grazie a giochi e al­l'as­se­gna­zio­ne di piccoli compiti, durante i quali il codice creato rimane sempre visibile.

  • Lingua: italiano, ma anche inglese
  • Requisiti: adatto per i prin­ci­pian­ti assoluti
  • Costi: nessuno

Molte pos­si­bi­li­tà per imparare a pro­gram­ma­re

Chi ha scoperto quali linguaggi di pro­gram­ma­zio­ne e di scripting ap­par­ten­go­no alla propria lista tra quelli da imparare, può contare su un'ampia selezione di tutorial online e altre preziose risorse. Non devono mancare anche un po' di pazienza, un computer e l'editor giusto. Tra gli editor c'è l'im­ba­raz­zo della scelta: i più comuni sono Notepad++ per gli utenti Windows, BBEdit e TextMate per Mac, mentre l'editor Su­bli­me­Text funziona sia su Windows che su Mac. Par­ti­co­lar­men­te con­si­glia­to per i prin­ci­pian­ti è Brackets, di­spo­ni­bi­le anche in italiano. Per uti­liz­za­re i linguaggi come Java, C e gli altri della stessa famiglia, bisogna uti­liz­za­re un IDE (In­te­gra­ted De­ve­lo­p­ment En­vi­ron­ment), che comprende già un com­pi­la­to­re, come Eclipse, NetBeans, Visual Studie e XCode. I corsi online sono pratici e molto amati, ma non guasta anche con­trol­la­re se ci sia qualche offerta a livello uni­ver­si­ta­rio, che accetta par­te­ci­pan­ti esterni dietro pagamento di una quota.

Vai al menu prin­ci­pa­le