Python nella scuola italiana. Si può.

Mia moglie è docente nel liceo artistico della nostra città. L’anno scorso era coinvolta in un progetto che vedeva studenti e professori impegnati nella progettazione di un monumento da installare nella sede dell’Autorità Portuale.

Il soggetto scelto dal team erano le onde del mare e ben presto si pose il problema di rappresentarle realisticamente. Un insegnate di Matematica suggerì di ricorrere alla teoria dei frattali. Idea brillante che offriva l’opportunità di un approfondimento didattico piuttosto insolito per un liceo artistico.

»

Ci sono più offerte di lavoro che Programmatori .NET

Ai primi di ottobre TechCrunch riportava una notizia interessante: negli Stati Uniti ci sarebbe carenza di sviluppatori .NET. La piattaforma di recruitment Dice dichiara che le offerte di lavoro .NET aumentano del 25% ogni anno, e che la gran parte delle ricerche sui loro database riguarda skill .NET. Ai primi di ottobre 2011 sarebbero state oltre 10.000 le richieste inevase di figure professionali .NET.

Notizie di questo tipo vanno prese con beneficio di inventario anche se in questo caso una conferma indiretta viene da WANTED Analytics, che a Settembre ha pubblicato un report indipendente che sembra giungere alle stesse conclusioni. Anche i commenti all’articolo di TechCrunch sono confortanti: ci sono aziende che ammettono di essere a caccia di sviluppatori .NET e ci sono programmatori che confermano di ricevere continuamente offerte di lavoro (non mancano quelli che sono passati ad altri linguaggi e non se ne pentono).

»

Python per il Web

Python for the Web è una agile guida introduttiva per chi vuole accedere al Web via Python. Vengono presentate tre eccellenti librerie: Requests, simplejson e lxml. La prima consente di interagire facilmente coi siti Web da Python, la seconda serve a processare i flussi JSON e l’ultima è una fantastica risorsa per lo scraping (l’ho usata in un mio progetto, ve la consiglio senz’altro). L’ultimo argomento della guida è la creazione di siti web in Python attraverso il framework Django. »

Il Linguaggio più importante per il Programmatore

IncomprensioneMolti programmatori hanno difficoltà nel gestire la comunicazione. Non intendo quella di rete, ma quella interpersonale. E’ forse per questo che gran parte di loro preferisce lavorare in proprio. Ciò gli consente di non dover comunicare o perlomeno di farlo il meno possibile.

Luogo comune vuole che i programmatori siano persone chiuse, a volte timide, oppure scontrose e irascibili; più interessate al codice che non alle relazioni interpersonali.  E’ pur vero che il nostro lavoro richiede concentrazione. Molti sostengono che programmare è una forma d’arte e la gran parte degli artisti (pittori, scultori, disegnatori) non lavora forse in silenzio?

»

Sui Vantaggi del Programmatore Poliglotta

Per gran parte della mia carriera sono stato un programmatore client/server specializzato nel .NET Framework e in tutto quel gira intorno all’ecosistema Microsoft. Un paio di anni fa ho deciso di uscire dalla mia _comfort zone_ professionale, guardarmi attorno e, per citare qualcun’altro, andare a vedere quanto è profonda la tana del Bianconiglio.

Tempo libero a disposizione non ce n’era. A quarant’anni tra lavoro, famiglia e attività agonistica mi rimaneva solo la via del furto: rubare ore al sonno per dedicarmi allo studio di nuovi linguaggi e piattaforme. Prima è stato il turno di JavaScript, poi di Python, Django, Ruby e infine Node e MongoDB. Ora mi considero un programmatore poliglotta, capace di scrivere codice in una moltitudine di linguaggi.

Eppure in passato sono sempre stato convinto che fosse più produttivo concentrarsi su una sola piattaforma per conoscerla fino in fondo e sfruttarne al meglio le possibilità. Sulle ragioni che mi hanno indotto a prendere quella decisione potrei scrivere una decina di articoli, e magari lo farò prima o poi, ma quel che desidero condividere oggi sono le lezioni che questa esperienza mi ha insegnato.

A dire il vero ci ho già provato una volta, buttando giù appunti e abbozzando un articolo poi miseramente abbandonato. Per fortuna qualche giorno fa sono incappato in Advantages of Being a Polyglot Programmer, stupefacente articolo di Davy Brion. Il suo è precisamente il pezzo che io non riuscivo a scrivere, parola per parola. Davy elenca quelli che secondo lui sono i cinque principali vantaggi del programmatore poliglotta. Io ne aggiungo uno e ve li propongo – fate conto che sia io a parlare attraverso lui, o viceversa.

»

Imparare a programmare online con Codecademy

Codecademy è una fantastica iniziativa che insegna a programmare online. Lanciata poco più di una settimana fa, ha già raccolto duecentomila utenti registrati. Brillante l’idea di integrare gli strumenti tipici del social network (badge, punteggi, seguire i progressi degli amici) con un interprete interattivo e un preciso feedback in tempo reale. Codecademy è il modo più semplice per imparare a programmare. E’ interattivo, divertente, e lo puoi fare con gli amici »

Mono 2.10.3 gira su OS X Lion (ed è vivo e vegeto)

Xamarin, la compagnia che ha preso in mano il Progetto Mono dopo l’addio di Novell, ha appena rilasciato Mono 2.10.3. Ne da annuncio lo stesso Manuel de Icaza, storico deux-ex-machina del progetto e fondatore di Xamarin. Si tratta per lo più di una versione di manutenzione che risolve numerosi problemi, primo fra tutti l’instabilità di Mono sull’ultima versione di MacOS X Lion. L’importanza di questo aggiornamento va ben oltre le sue caratteristiche tecniche. »

JavaScript trucchi e suggerimenti avanzati

JavaScriptHo scovato quasi per caso Javascript Tips, incredibile collezione di trucchi e suggerimenti per JavaScript. Si tratta di decine di snippets rivolti soprattutto a chi JavaScript lo usa come un linguaggio vero e proprio e non, come spesso capita, quale semplice strumento per la manipolazione del DOM.

Tra le tante chicche (alcune davvero gustose) vi segnalo a caso: concatenare due array senza crearne uno nuovo; mandare un testo in output su più righe; una funzione per eliminare un elemento da un array; una riga di codice che stampa lo stack delle chiamate correnti; un esempio di come trasformare gli argomenti di una funzione in array. Ce n’é per tutti i palati, dal principiante al più esperto, date una occhiata voi stessi.

Buona parte dei trucchi funziona con

»

Dei vizi del programmatore #3: Orgoglio

Tutto comincia con una normale riunione tra programmatori, magari dedicata all’analisi di un nuovo intrigante progetto software. I toni inizialmente tranquilli all’improvviso si alzano e quello che doveva essere un incontro di routine si trasforma rapidamente in qualcos’altro. La discussione, ora vivace e concitata, diventa un vero e proprio alterco. Sedie penne e matite vengono spostate freneticamente, le voci si sovrappongono l’un l’altra e man mano che il tempo passa il meeting assomiglia sempre più a un furioso scontro tra galli combattenti. Se avete una certa carriera alle spalle ci siete già passati; se non l’avete state tranquilli, prima o poi ci passerete anche voi.

»

Noi programmatori miglioriamo con l’età (forse)

Man mano che partecipo ai vari eventi in giro per l’Italia mi capita sempre più spesso di ritrovarmi a essere, tra i partecipanti, uno dei più anziani. L’altro giorno al Cowo on the Beach distanziavo tutti di almeno una decade. Mi sono detto che i veterani non amano frequentare gli eventi pubblici, non tanto quanto li apprezzavano da giovani, e mi sono messo l’anima in pace.

Fino a stamattina, quando un bell’articolo di Peter Knego mi ha svelato la scomoda verità (che inconsciamente rifiutavo di considerare). I programmatori oltre i trent’anni, per non dire dei quaranta, sono merce rara.

Partendo dai dati pubblici messi a disposizione da StackOverflow e relativi a un campione di ben 37.400 programmatori, Peter ha indagato sul rapporto tra età, reputazione e quantità di programmatori ancora attivi. Ne è uscita una serie di grafici davvero interessante.

»

Windows 8 e i dubbi sul destino di Silverlight

Con un filmato di 10 minuti Microsoft ha presentato in anteprima il nuovo Windows 8. A molti non è sfuggita l’enfasi su HTML5 e JavaScript, annunciate come le tecnologie con le quali costruire le nuove accattivanti applicazioni per Windows 8. Il fatto che non si faccia cenno a Silverlight, WPF o .NET sta causando un bel po’ di preoccupazione.

Desktop di Windows 8

Applicazione HTML5/JavaScript (presumibilmente) in esecuzione sul Desktop di Windows 8

In una vivace e interessante discussione in corso sui forum Silverlight i programmatori si stanno chiedendo quale sia il futuro della loro piattaforma. Come capita sempre in questi casi si possono leggere interventi di ogni tipo,  alcuni involontariamente comici, altri davvero sorprendenti. Quel che più conta sono però i ripetuti interventi di Pete Brown, dipendente Microsoft:

»

Il Cloud Computing è davvero affidabile?

Cloud ComputingE’ di pochi giorni fa la notizia che alcuni servizi API gratuiti forniti da Google verranno chiusi. Tra questi spicca Translate API, la più apprezzata libreria gratuita per la traduzione automatica sul web. Basta una occhiata ai commenti per rendersi conto dello sconcerto generato dall’annuncio, per altro del tutto inatteso. Molti si dicono disposti a pagare pur di non rinunciare alla API, ma non è  questa l’idea di Google che in alternativa propone Google Translate Element, widget gratuito che certo non è una soluzione accettabile per applicazioni che attualmente integrano la API in maniera trasparente. Immagino che proprio qui stia il nocciolo della questione: una API non è visibile né apprezzabile dall’esterno, mentre un widget promuove il brand Google.

Migliaia di aziende, enti pubblici e organizzazioni non governative internazionali che oggi usano la API dovranno trovare soluzioni alternative, probabilmente a pagamento. Almeno gli è stato concesso un po’ di tempo: Google garantisce un periodo di tre anni prima della sospensione del servizio.

Translate API Deprecata

Questa notizia induce ancora una volta alcune riflessioni circa l’affidabilità del Cloud Computing, modello di sviluppo verso il quale, volenti o nolenti, tutti noi siamo diretti.

»

Dei vizi del programmatore #2: La Fretta

“Per risolvere il problema mi bastano un paio di minuti”

La tentazione della scorciatoia. E’ difficile resisterle, prima o poi ci caschiamo tutti. In alcuni casi isolati vale la pena scegliere la strada più veloce, ma non è certo questa la via maestra. E’ pericolosa e in genere causa più problemi di quelli che risolve. Una scorciatoia può farti risparmiare qualche ora ma i danni causati possono costarti mesi di lavoro.

»

Dei vizi del programmatore #1: La Superbia

Il mio codice è perfetto. Quello degli altri è spazzatura

La superbia è un atteggiamento molto frequente tra noi programmatori. Io stesso sono – ahimé – un superbo seriale. Non importa quanto ci impegniamo. Ci saranno sempre colleghi che giudicheranno male il nostro codice, che penseranno di poter far meglio.

»

Python Tools per Visual Studio ecco la Beta 2

Microsoft ha rilasciato la seconda beta di Python Tools per Visual Studio, il suo progetto open source che offre agli sviluppatori la possibilità di scrivere codice Python, CPython e IronPython nell’ambiente IDE di Visual Studio 2010.

Il progetto è stato presentato al PyCon 2011 dal Microsoft Technical Computing Group ed è davvero ben fatto. Per tutti gli approfondimenti vi rimando al mio articolo Programmare in Python con Visual Studio 2010.

»

Il reddit dei programmatori italiani

Reddit LogoReddit è un servizio di condivisione, votazione e discussione delle risorse in rete. In tempi recenti è diventato uno dei punti di riferimento della comunità internazionale degli alpha-geek, sbaragliando una concorrenza agguerrita e ben radicata.

Reddit ha conquistato un pubblico particolarmente ostico ed esigente grazie alla sua caratteristica più peculiare: essere un sistema aperto. Potremmo definire Reddit una semplice infrastruttura lasciata in gestione agli utenti, i quali ricambiano dedicandosi con dedizione alla cura dei contenuti. Su Reddit chiunque in pochi secondi può creare un’area nuova dedicata a un argomento non ancora trattato. Se il tema è valido i contributi arrivano: segnalazioni di nuove risorse (articoli, tutorial, opinioni), votazioni e discussioni spesso vivaci. Reddit è un po’ Wikipedia, un po’ Facebook e un po’ Twitter.

La scommessa è quella di una selezione naturale dei contenuti, compiuta dai loro diretti destinatari e non (solo) dagli autori, come succede nel caso degli aggregatori di notizie.

Reddit in Italia

In Italia Reddit è ancora poco conosciuto, ma qualcosa sta cambiando.

»

Il Formato Valuta in ASP.NET quando il sito è all’estero

Una settimana fa abbiamo lanciato il nuovo sito del Gestionale Amica, il nostro prodotto di punta. E’ scritto in ASP.NET ed è dotato di un sistema di e-commerce sviluppato su misura. Carrello della spesa, checkout, pagamenti con carta di credito, tracciamento ordini, profilo utenti… un lavoro del quale sono piuttosto orgoglioso. Man mano che il giorno del debutto si avvicinava cresceva l’eccitazione; ero impaziente di vederlo funzionare questo gioiellino. Finalmente il 21 marzo è arrivato e con la primavera è sbocciato il nuovo sito. Come è andata? Bene! A parte un piccolo dettaglio. Il mio gioiellino vendeva in Dollari ($) anziché in Euro (€)

»

Eclipse Foundation lancia la beta pubblica di OrionHub

Eclipse Foundation ha avviato il beta testing di OrionHub, una implementazione hosted del suo Progetto Orion. Orion è una piattaforma di sviluppo aperta dedicata allo sviluppo per il web, dentro il web. La IDE Orion gira nel browser e fornisce un completo ambiente di produzione per progetti JavaScript, HTML e CSS. Il risultato è ottenuto grazie a un plugin lato client sviluppato in HTML5. Per un approfondimento dai una occhiata a Il futuro del codice sorgente è online? »

SublimeText 2 – Un sofisticato text editor per codice, HTML e prosa

SublimeText 2 è il mio nuovo text editor preferito. Veloce, ricco di funzioni avanzate eppure semplice grazie a una interfaccia gradevole e minimalista. Mi ci sono imbattuto per caso quando ormai avevo rinunciato a trovare un valido sostituto a TextMate. Cercavo da tempo una soluzione multi piattaforma che mi consentisse di lavorare nello stesso ambiente sia a casa (OSX) che in ufficio (Windows). SublimeText 2 gira su Windows, OSX e Linux e sta raccogliendo attorno a sé una comunità molto attiva di supporters e sviluppatori entusiasti.

»