Farewell World!

C

“Oggi andrò a dormire un po’ più vecchio di stamattina. Non c’è nulla di strano in questo, direte voi e certamente avete ragione. Eppure un altro piccolo pezzo della mia esistenza è andato perduto. Dennis Ritchie, sui cui libri, uno in particolare, ho sudato tanto, è morto in queste ore.

Non vi appesterò con uno scontato programma in c, anche se ne ho la tentazione, ma devo comunque scrivere qualcosa a riguardo.

E’ come quando segui le olimpiadi e ti accorgi improvvisamente che tutti gli atleti che vi partecipano sono più giovani di te, o conosci i figli di un tuo amico di scuola. Un piccolo pezzo di te, che non sapevi neanche di avere si palesa e ti abbandona e ti scopri non più immortale e senza parole.

Mi mancherà Dennis, anche se non l’ho mai conosciuto e l’ho sempre dato per scontato. Anche se, per me, ha passato la sua vita all’ombra di Kerningham, potenza dell’ordine lessicografico.

Si lo so, è il padre di Unix, in un certo senso un nonno di Linx ma per me resterà sempre colui che ha inventato il C.

Farewell World!”

Programmare in Javascript 1

JavaScript è il linguaggio di programmazione più incompreso del mondo, tanto che neanche chi ci programma, spesso, ha la consapevolezza di quali siano i suoi limiti. Con limiti non intendo indicare le limitazioni, che pure sono presenti, ma i suoi confini.

Non è un linguaggio semplice da utilizzare, da un lato perché è un linguaggio potente ed espressivo, dall’altro perché i tentativi dei progettisti di renderlo amichevole hanno, a mio parere, reso più difficile per chi si occupa di programmazione gestirlo al meglio.

Breve escursus storico

In principio era il Browser. Il più vecchio che ricordi di aver mai usato è Mosaic, un programma molto semplice che non prevedeva il supporto a JavaScript ma mostrava già tutte le potenzialità del web a chi era abituato a dividersi tra gopher, ftp e fidonet.

In seguito venne Netscape e, con esso, la prima incarnazione di JavaScript. Si trattava di una rivoluzione nella rivoluzione di cui non avevo ben compreso in mezzo alla confusione che regnava sovrana negli anni ’90 del secolo scorso. Tra Applet Java e pessime implementazioni degli interpreti associati ai browser JavaScript si costruì la pessima, e non del tutto immeritata, fama che lo accompagna ancora oggi.

Continua a leggere “Programmare in Javascript 1”

Portarsi mootools dapertutto

Scrolliamoci un po’ di ruggine di dosso dopo più di un mese di fermo con un post piccolo piccolo ma utile a rimettermi in carreggiata.

In questi giorni sto leggiucchiando tonnellate di documentazione su HTML5 e spesso mi trovo a voler fare esperimenti sulle strutture mostrate.

Finora la procedura consisteva nel copiare la pagina, inserire il tag per l’inclusione di mootools e richiamarla in locale per le sperimentazioni del caso. finora.

La soluzione a questa impasse l’ho trovata utilizzando un semplice script javascript da utilizzare come bookmarklet.

Continua a leggere “Portarsi mootools dapertutto”

Programmazione: I sette migliori libri in Italiano, per me

Sette è il numero perfetto, come perfetti, o quasi, devono essere i libri che ho letto per poter entrare in questa lista. Si tratta di libri in italiano, inerenti la programmazione, che ho letto e che, per un motivo o per l’altro ho apprezzato particolarmente.

Volevo scrivere una lista dei migliori libri in italiano sulla programmazione e mi sono ritrovato ad elencare i libri che più di altri hanno forgiato le mie attitudini come programmatore. Alcuni sono recenti, altri li ho letti nella notte dei tempi e non sono più ristampati (ma si trovano nel mercato dell’usato) tutti però, hanno fatto accendere qualche lampadina che giaceva spenta nel mio cervello in attesa della rivelazione.

Continua a leggere “Programmazione: I sette migliori libri in Italiano, per me”

La terminologia CSS

Da qualche giorno sto lavorando attorno a Git e mi sento monco perché non riesco ad afferrare la terminologia che ci sta dietro ed ogni volta che devo fare un push su un repository devo prendere in mano il manuale per controllare che non stia facendo qualche errore. Poi passa, ma ogni volta che devo usarlo la frustrazione aumenta.

Ovviamente Git non ha nulla a che fare con i CSS, ma la sensazione si è estesa a questi ultimi scrivendo l’ultimo post sui metodi di selezione del dom di MooTools. Ho deciso quindi di scrivere un breve cheatsheet su quest’ultimi mentre faccio incetta di termini anche per Git.

Visto che sono notoriamente pigro ho pensato di partire da un lavoro già fatto che inizialmente volevo limitarmi a tradurre. Ne ho ampliato un po’ il contenuto, considerate quello che segue una traduzione integrata o una libera interpretazione di http://nimbupani.com/css-vocabulary.html
Continua a leggere “La terminologia CSS”

Mootools: Selezionare un elemento

Tra i compiti più comuni che un programmatore javascript si trova ad assolvere c’è sicuramente la selezione di uno o più elementi all’interno del DOM.

Javascript propone diversi metodi: getElementById e getElementByTagName sono i più conosciuti e supportati. Mootools estende queste funzionalità fornendo dei propri metodi “wrapper” che permettono di operare selezioni più complesse con semplicità. Non mi stancherò mai di ripetere, inoltre, che i framework come Mootools hanno il metodo fondamentale di uniformare il supporto a javascript dei diversi browser (nei limiti del possibile). Ad esempio, nel caso della selezione permettendo di utilizzare una funzionalità simile a getElementByClassName anche per quei browser che non ne sono provvisti.

Darò per scontato che sappiate cosa siano xpath ed i suoi assi di selezione; chi non sapesse di cosa sto parlando può colmare la propria lacuna facilmente e rapidamente utilizzando, per esempio, la pagina della w3c school che parla degli assi.
Continua a leggere “Mootools: Selezionare un elemento”

Libri da scaricare: Il linguaggio C

Copertina de Il linguaggio C
Il linguaggio C

Questa è la seconda guida al linguaggio C che recensisco e qualcuno, me per primo, potrebbe chiedersi se ne vale la pena. Visto che state leggendo questa recensione penso possiate dedurre da soli la risposta che mi sono dato.

Chi è cresciuto a pane e Kerninghan non avrà sicuramente bisogno di questo ebook, se non per rimirare la copertina retrò che fa tanto manuale ansi C seconda edizione. Gli altri, come me per esempio, che ogni tanto hanno bisogno di rinfrescare la propria memoria, dovrebbero scaricarlo. Chi si sta avvicinando alla programmazione, oltre al C dovrebbe proprio scaricarlo e leggerlo.

Per incuriosirvi non scrivo altro che il libro abbraccia la programmazione da hello world al packet sniffing ed alle reti neurali (ovviamente accennate).

Il sottotitolo, Guida pratica alla programmazione, dovrebbe dare qualche indizio in più. Continua a leggere “Libri da scaricare: Il linguaggio C”

Campi privati in Javascript

Con la traduzione di quest’ultimo pezzo penso di concludere la serie di traduzioni dei testi presenti sul sito di Douglas Crockford. Si è trattato di pezzi interessanti che hanno coperto aspetti del linguaggio Javascript che solitamente misconosciuti. Almeno per me lo erano, e non potrò mai ringraziare abbastanza l’autore per averli scritti ed avermi concesso di pubblicarne la traduzione.

In questo post Crockford illustra la possibilità di utilizzare le chiusure per dotare gli oggetti Javascript di membri privati. Al solito non si limita a riportare un pattern di programmazione ma si sofferma sulla sua implementazione e sui meccanismi che gli stanno dietro.

Buona lettura.

Continua a leggere “Campi privati in Javascript”

Riviste: Dev – Non fraintendere Javascript

Dev Anno 15 numero 4

E’ uscita da qualche giorno DEV, di Infomedia. Chi ha qualche anno sulle spalle ne ricorderà la presenza in edicola fin dalla notte dei tempi, non penso che in Italia ci sia stata una rivista informatica più vecchia, a parte Computer Programming, sempre di Infomedia, e qualche rivista degli albori,metà anni ottanta, specializzata in cassette per l’Atari, il Commodore 64 e lo Spectrum. Ah, quanti ricordi.

Questo numero ha la copertina, e diversi articoli all’interno, dedicati a Javascript, quello di Douglas Crockford, un interessante articolo sulla progettazione di un algoritmo per la soluzione di sudoku, soluzioni per migliorare la programmazione in openoffice ed altro ancora. Quanto meno val la pena dare un’occhiata, almeno al sommario.

Ed il contenuto della rivista non è l’unico motivo per farlo.

Questo scampolo di 2009 dovrebbe essere il momento in cui Infomedia, dopo aver abbandonato la scena editoriale per qualche tempo, e dopo essere stata rifondata, cerca di recuperare anni di esperienza nel campo che rischia di andare perduta per sempre (aggiungerei — come lacrime nella pioggia — se non fosse una citazione troppo ovvia).

Continua a leggere “Riviste: Dev – Non fraintendere Javascript”

Javascript: Ereditarietà basata su delega (Eredità prototipale)

Dopo la traduzione dell’illuminante divertissement sull’ereditarietà classica in Javascript. Douglas Crockford arriva a commentare il suo stesso articolo (a distanza di qualche anno) affermando che l’ereditarietà prototipale è di gran lunga più potente ed espressiva di quella basata su classi e che più si conosce Javascript e meno si utilizza ed apprezza quest’ultima. Ragione per cui ho deciso di tradurre anche il pezzo di Crockford che tratta l’ereditarietà prototipale. Ho invertito la posizione delle date rispetto alla versione originale mettendole all’inizio del parte di testo a loro associato, piuttosto che alla fine, perché la cosa mi lasciava un pò perplesso. Si tratta solamente di gusti personali, però.

Buona Lettura

Continua a leggere “Javascript: Ereditarietà basata su delega (Eredità prototipale)”