martedì 25 dicembre 2012

Merry whatever doesn't offend you!

Alla fine, ci siamo arrivati. Felici vacanze!





Come non essere felici quando il mondo scoppia (letteralmente?) di salute! Dai, non si può non essere contenti! Non è questa la bella atmosfera del Natale? No?
Vabbè, buon qualsiasicosanontioffenda, ci risentiamo il prossimo anno.

giovedì 8 novembre 2012

Half Life 3?



Half Life 3 può subire solo tre sorti: tornare ad essere il re degli sparatutto in prima persona, essere un flop (e trascinarsi nel baratro tutto il resto della bellissima saga) oppure rimanere vaporware.
Ovviamente tutti noi speriamo di poter rigiocare con Gordon, ma ho seri dubbi che la saga possa avere realmente un terzo capitolo. No, non perché Gaben non sappia contare fino a tre, ho dei motivi decisamente più seri.
Immagino che tutti voi abbiate letto la notizia (rivelatasi ovviamente un fake) su HL3 esclusiva [Ubuntu] Linux. Se la notizia fosse stata vera, avrebbe implicato due cose: la seria intenzione –da parte di Valve- di rendere Linux un OS per il gaming (di questo ne parliamo in un prossimo post) e, caso strano, l’esistenza di HL3.

Della serie del fisico di Black Mesa ho giocato solo ad HL1 (sia in versione pre-Source che nella versione Black Mesa [la versione fatta dai modder con il Source, non quella ufficiale]), ma mi è bastato per appassionarmi alla serie: non vedo l’ora di uccidere ogni fo**uto headcrab/Combine/* che mi capiti a tiro :D

Una cosa è comune a tutti i giochi Valve: finché il gioco non è pronto non viene pubblicato. Questa cura nei dettagli del gioco è comune a tutti i modders, e Valve è composta (tra un genio e l’altro ) da modders. Se stanno ancora  sviluppando HL3 vuol dire che molti dettagli  (storia, stile del gameplay…) devono ancora essere fissati.
Ed ecco il punto secondo il quale HL3 potrebbe essere un flop: i fan della saga potrebbero non apprezzare un gameplay totalmente nuovo o la storia od altri particolari e quindi sconsigliare il titolo. Il flop ovviamente non sarà dal punto di vista delle vendite (al day one i server di Steam andranno down, immaginate perché :D) ma le critiche potrebbero essere moltissime, talmente tante da rovinare la fama del titolo.

L’alternativa al flop e al successo mondiale è il rimanere vaporware, e forse questa è la soluzione migliore. Sì, forse non è l’opinione più popolare, ma il mistero alimenta la fantasia, e un gioco con così tanto hype non ha mai stimolato così tanto la fantasia dei fan della serie. Ho sentito (in giro su internet) diverse idee, una delle migliori è far incrociare le strade di Gordon e di Chell (la protagonista di Portal): perché qualcuno non prova a realizzarla? Una delle tante possibili idee… insomma, la fantasia è stata scatenata, gli sviluppatori hanno un’enorme massa di idee da cui poter prendere ispirazione per nuovi giochi e/o spinoff della saga originale.

Ovviamente ognuno avrà la sua opinione, questa è la mia. Se volete, commentate qui sotto per dire la vostra.
Stay tuned!

lunedì 17 settembre 2012

Imparare a programmare o imparare a pensare?

Disclaimer: scrivo codice per passione, presto lo scriverò per lavoro e ho una forma mentis da tecnico. Più che scrivere codice mi piace risolvere il problema, magari usando _anche_ del codice.

Non è certo una novità, la discussione sull'insegnamento della programmazione a tutte le età.
Oggi ho visto, nella redazione distribuita di Digitalia, ho visto un interessante tweet, che riportava la notizia di corsi di programmazione nelle scuole estoni.
[...] L'idea del progetto, infatti, è cambiare radicalmente l'atteggiamento dei bambini nei confronti dei computer e dell'informatica, dando loro le prime competenze perché acquisiscano un rapporto "padrone" e consapevole con la tecnologia. Per farlo, secondo Lauringson, l'unico modo è cominciare il più presto possibile a capire come funzionano le cose. [...]

In un articolo “correlato” su Forbes si dice
For the youngest students, the new courses  won’t be strictly focused on learning programming languages like Java, Perl and C++. Rather they’ll ease kids into the necessary skills for coding like logic, which has the benefit of some overlap with subjects like math and potentially, robotics.
Certo, l'idea di insegnare a programmare non è nuova. Probabilmente nessuno si ricorda dell'interessante progetto Colobot, un piccolo progetto polacco precursore di tutte le iniziative per “imparare a programmare”, partendo dal famoso CodeYear all'economica scheda programmabile Raspberry Pi per finire al ProgeTiiger di cui stiamo parlando ora.

Siamo sicuri di aver necessità di imparare a programmare? O dovremmo forse imparare a pensare?
Ben vengano iniziative che permettano di migliorare capacità come il ragionamento logico e critico, ma non è corretto insegnare ai bambini a scrivere codice: non è ciò che serve.

Il codice è un mezzo, non il fine. Se serve a migliorare le capacità di modellizzazione e problem solving sono favorevole, ma è inutile, se non dannoso, dire "per domani voglio 30 righe di codice in [[linguaggio]]". Inoltre, bisogna considerare il non poco importante problema della "scrittura a casaccio di codice", senza effettivamente capire come funzionano le cose e comprendere i problemi, la scomposizione in sottoproblemi, il tempo di esecuzione, l'uso corretto delle strutture dati... tante cose importanti che distinguono un buon programmatore da un code monkey.

"Il mondo è stato cambiato da persone che sanno programmare, dobbiamo insegnare come programmare ai giovani di domani", potreste dire. No, il mondo ora ha prodotti tecnologici di altissimo valore semplicemente perché degli appassionati hanno creato ciò che gli serviva o gli è venuto in mente. Il lavoro di programmatore è un lavoro che richiede passione, molto più di altri lavori: non è una passione trasmissibile a tutti; e soprattutto non tutti possono essere programmatori: possono mancare le capacità, la voglia, lo stimolo... è inutile forzare l'insegnamento di qualcosa che non applicheranno in pratica.

Ripeto: più di concentrarci sulla capacità di scrivere codice, bisognerebbe preoccuparci di ragionare. Sembra una stupidaggine, ma non tutti sfruttano il potente calcolatore all'interno del cranio nel migliore dei modi. Imparare a pensare, a ragionare, porsi dubbi, cercare soluzioni, applicare le conoscenze e sfruttarle per risolvere problemi. Competenze.
Programmando si possono assumere diverse competenze - per esempio scomporre i problemi in sottoproblemi o formalizzare in maniera chiara delle soluzioni - ma sono abilità che si possono apprendere indipendentemente dalla programmazione. Basta solo pensare, rimuginare, analizzare, tentare di capire.

Spero di essere stato chiaro, se volete rispondere al post scrivete un commento o (se avete bisogno di più spazio) scrivete sul vostro blog/tumblr e fatemelo sapere. Stay updated!