Programmare con la rete


Fino a pochi giorni fa non mi ero reso conto di quanto internet potesse essere utile anche come supporto alla programmazione.
Tutti noi sappiamo che una ricerca su internet spesso è in grado di risolvere in maniera semplice e veloce un problema che affligge il nostro codice, magari da ore: senza reinventare la ruota tutte le volte — o per evitare di spaccarsi la testa su un problema (anche banale) già incontrato mille volte — è sufficiente quasi sempre fare una ricerca su internet e leggere un post su siti come l’ottimo Stack Overflow .
Quello che io personalmente non avevo ancora realizzato è quanto utile possano essere i siti che permettono il sandboxing del codice e il test immediato: voglio parlarvi di due di questi siti che ho iniziato a usare recentemente, nella speranza che siano utili anche a voi.

Non programmo sul web in maniera professionale, si tratta di poco di più di un hobby: quando ho iniziato mi sono rivolto verso ASP.net in maniera abbastanza naturale per poter riciclare le mie competenze in Visual Basic e C♯. Solo dopo un po’ di pratica mi sono reso conto che non avrei potuto prescindere dall’uso di JavaScript per applicazioni client-side versatili e molto pratiche da usare in un sito web.
JS può essere scritto direttamente all’interno di una delle edizioni di Visual Studio, oppure con l’apposito modulo nel IDE open source Eclipse, ma entrambi i prodotti mi danno l’idea di un cannone con cui sparare alla proverbiale zanzara; almeno per quanto concerne il mio caso di applicazioni modeste in lunghezza e complessità.

Uno strumento estremamente più utile e immediato l’ho invece trovato online: si tratta di JSFiddle un tool in cui si può direttamente editare il markup HTML, il codice Javascript e gli stili CSS e vedere immediatamente il risultato nella finestra del browser. Si tratta di un progetto un po’ più recente e meno famoso di JSBin, ma che io trovo più user-firendly.
Con questo strumento si possono salvare i frammenti di codice e condividerli. I vantaggi sono evidenti: è possible pubblicare un semplice permalink non solo al codice, ma a un esempio immediatamente eseguibile e funzionate, tutto questo su Twitter, Faceboook su blog, forum e via dicendo.
E’ uno strumento non solo utile al programmatore per farsi aiutare più semplicemente o per mettersi un po’ in mostra, ma anche alla comunità in generale in quanto consente di condividere codice e conoscenza in maniera veloce e completa.

Il secondo strumento che segnalo ha a che fare con un argomento di programmazione che mi è sempre risultato ostico: le Regular Expression.
Probabilmente tutti sapete cosa sono, ma se vi serve un ripasso veloce, si tratta di un insieme di regole che permettono di effettuare ricerche all’interno di blocchi di testo usando particolari pattern .
È uno strumento estremamente potente e versatile, ma che soffre di una curva di apprendimento piuttosto ripida e di una implementazione non sempre impeccabile nei vari linguaggi di programmazione.
Ho letto guide e scaricato software per imparare a usare questo strumento, ma non sono mai riuscito a padroneggiarlo come si deve.

Capivo il concetto base e la teoria, ma per metterla in pratica facevo continuamente tentativi ed errori avendo sempre l’impressione di fare le cose un po’ in coscienza e un po’ per caso, provando finché non ottenevo il risultato voluto, non necessariamente con consapevolezza piena del processo che mi aveva portato a scrivere la RE corretta.
Tutto questo finché non mi sono imbattuto in Regex101: a prima vista potrebbe sembrare uno strumento come tanti altri: permette di inserire un testo, di comporre la RegEx e di vedere in tempo reale il risultato; comprende una pratica quick reference per avere sempre sottomano i token da usare senza doverli ricordare a memoria.
Fin qui niente di strano, ma la vera forza di questa applicazione web è il riquadro Explanation : questo infatti permette di vedere in tempo reale una spiegazione di che cosa faccia la RegEx inserita.
E’ una rivoluzione copernicana: ora, anche procededno per tentativi, non solo posso vedere se la RegEx funziona come vorrei, ma posso capire anche cosa fa.
Oppure cosa non fa.
In entrambi i casi è utilissima: è il primo strumento che trovo che sia in grado effettivamente di farmi capire cosa io stia facendo con le RE ed è il primo strumento con il quale io stia veramente imparando come funzionino le RE.

Queste sono due piccole scoperte che hanno sensibilmente migliorato il mio modo di programmare, spero che altri possano trarre lo stesso vantaggio leggendo questo articolo.


3 risposte a “Programmare con la rete”

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *