Experimentalia

Appunti raminghi

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

lascia un commento »

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

Leggi il seguito di questo post »

Written by eineki

Novembre 8, 2009 alle 4:58 am

Pubblicato in linux

Golf programming: Sono Pazzi Questi Romani

con 6 commenti

E’ passato un mese dall’ultimo contest di golf programming. E’ arrivato il momendo di ricominciare a consumare, il meno possibile, le nostre tastiere per risolvere quello del mese di novembre.

Le Regole

Si tratta delle solite regole, in ossequio al contesto le ho riportare con il copia e incolla :-) :

  1. Scrivere un programma, il più breve possibile, che risolva il problema enunciato prima e riportato meglio qui sotto;
  2. per ogni linguaggio utilizzato è considerato vincitore il programma scritto usando meno caratteri;
  3. l’efficienza dell’algoritmo non è un fattore fondamentale ma il programma deve terminare senza errori;
  4. si può optare, se più concisa, per una funzione, piuttosto che un programma intero;
  5. ovviamente non di vince niente se non la soddisfazione di aver accettato una sfida ed averla vinta.

L’algoritmo

Il programma da scrivere questa volta riguarda i numeri romani. Quelli che compaiono nelle prefazioni dei libri, per intenderci. O in qualche versione di latino o su centinaia di monumenti.

Questa volta bisogna scrivere un programma che conti, uno per riga, fino a 3999. Partiremo da 1 per arrivare fino a 3999 perché non è possibile, con i caratteri ascii, usare i caratteri romani per esprimere numeri più grandi di 4000. Non mi resta che lasciarvi al vostro compito con un link ad un file di riferimento con tutti la sequenza di numeri da replicare ed aspettare le vostre soluzioni.

La mia, al solito, tra circa una settimana tra i commenti.

Written by eineki

Novembre 2, 2009 alle 4:38 am

Pubblicato in linux

100

lascia un commento »

Scrivo queste note da poco più di 500 giorni ed approfitto del centesimo post per fare qualche considerazione su questa esperienza. Non pensavo di riuscire a tenere una media di un post a settimana ma, a quanto pare, se la matematica non mi da ragione la statistica sembra farlo più volentieri.

Leggi il seguito di questo post »

Written by eineki

Ottobre 24, 2009 alle 4:05 am

Pubblicato in Varie ed eventuali

Ereditarietà classica in Javascript

con un commento

E’ arrivato il momento di tradurre inheritance di Douglas Crockford. Si tratta del testo che più mi ha affascinato tra quelli che sono presenti sul suo sito. Mostra con semplicità le potenzialità del paradigma prototipale che sta alla base di Javascript. Se polimorfismo non fosse un termine troppo carico di significati in questo ambito lo userei.

Un appunto alla nota conclusiva aggiunta al pezzo da Crockford stesso, la trovate in fondo alla traduzione nel riquadro dal bordo nero. Sono daccordo solo parzialmente con l’autore quando scrive che i suoi tentativi di introdurre i pattern propri dei paradigmi dell’ereditarietà classica possono essere stati un errore. A parte la dimostrazione che Javascript può supportarli, non dobbiamo dimenticare che la stragrande maggioranza parte dei programmatori che si accingono ad utilizzare Javascript non lo acquisiscono come primo linguaggio e quindi hanno un’eredità di conoscenze che è una bella zavorra da portarsi dietro. Avere qualcosa di familiare a cui aggrapparsi mentre si svecchiano le proprie tecniche e si comincia a pensare in a Javascript way non può essere che un aiuto.

Ed ora non mi resta che augurarvi buona lettura

Leggi il seguito di questo post »

Written by eineki

Ottobre 13, 2009 alle 3:41 am

Pubblicato in javascript, linguaggi, traduzioni

Taggato con ,

Libri da scaricare: Manuale Sun Solaris per il sistemista junior

lascia un commento »

Copertina Manuale Sun Solaris per il sistemista junior

Manuale Sun Solaris per il sistemista Junior

Non di solo Linux vive il sistemista, ed è giusto occuparsi anche di quelli che sono costretti a muovere i primi passi della loro vita da sistemisti cominciando da Solaris (non che si tratti di una costrizione particolarmente dura da sopportare ;) ). Chi proviene dal mondo linux, ad esempio me, può trovarsi spaesato nel muovere i primi passi su una piattaforma che, specie con openSolaris, sebbene familiare come interfaccia, è costruita su un motore diverso da quello che siamo abituati a mettere a punto.

La mia frustrazione iniziale è stata mitigata proprio dal manuale che sto recensendo in questo pezzo. Qualche tempo fa feci richiesta di un opensolaris starter kit a Sun, all’epoca si trattava semplicemente di un cd live che poteva anche essere installato su una macchina fisica, e dopo qualche mese, avevo addirittura dimenticato di averlo richiesto, arrivò una bustina contenente il cd con il sistema operativo.
Leggi il seguito di questo post »

Written by eineki

Ottobre 7, 2009 alle 3:26 am

Pubblicato in ebook, recensioni

Golf Programming: Paroliamo

con 5 commenti

L’ultima prova della serie anagrammi si è rivelata particolarmente semplice. Complichiamola appena un pò modificando l’algoritmo in modo da costringerci a modificare l’approccio al problema.

Le Regole

Le regole del contest:

  1. Scrivere un programma, il più breve possibile, che risolva il problema enunciato prima e riportato meglio qui sotto;
  2. per ogni linguaggio utilizzato è considerato vincitore il programma scritto usando meno caratteri;
  3. l’efficienza dell’algoritmo non è un fattore fondamentale ma il programma deve terminare senza errori;
  4. si può optare, se più concisa, per una funzione, piuttosto che un programma intero;
  5. ovviamente non di vince niente se non la soddisfazione di aver accettato una sfida ed averla vinta.

L’algoritmo

Anche la funzione di questo mese, come quella del mese scorso,  prende in input due stringhe ma restituisce/stampa vero se con le lettere che compongono il primo parametro è possibile comporre il secondo. A differenza del programma sugli anagrammi, non è necessario utilizzare tutte le lettere della prima parola per comporre la seconda.

Ad esempio, con la parola MANAGER è possibile (e quindi la funzione deve restituire vero) comporre, tra le altre, le parole RANA, RAME, GARA o GRANE.

L’ordine dei parametri è importante. Con la parola MANAGER non è possibile costruire GERMANIA, mentre è vero il contrario.

La parola OSTE, poi, non può essere usata per comporre TESTO, le lettere ci sono tutte ma manca una T. Di conseguenza la funzione dovrebbe restituire falso.

Al solito posterò la mia soluzione come commento alla fine della settimana entrante, per dare il tempo a chi vuole partecipare di scatenare la propria fantasia.

Written by eineki

Settembre 30, 2009 alle 4:36 am

Pubblicato in golf

Antipattern: cicli mimetici

con un commento

Rientro in carreggiata dopo circa un mese a causa di vicissitudini familiari che mi hanno distratto da questo blog, per segnalare un avvistamento particolare.

Stavo controllando del codice avuto in “eredità” quando me lo sono trovato davanti. Sulle prime non l’avevo riconosciuto ed ho dovuto rileggerlo più volte per convincermi che non stavo prendendo un abbaglio.

Sapevo della sua esistenza per averne sentito parlare diverse volte, anche se credevo che fossero solamente teorie e che mai ne avrei incontrato un esemplare allo stato brado.
Leggi il seguito di questo post »

Written by eineki

Settembre 29, 2009 alle 5:06 am

Pubblicato in curiosità, linguaggi, php

Golf Programming: Anagrammi

con 6 commenti

Rientriamo dopo le ferie con un’altra sfida classica, giusto per toglierci di dosso eventuale ruggine. Al solito riporto le regole per chi cominciasse adesso a seguire questa pseudo rubrica.

Le Regole

Ormai le regole dovrebbero essere familiari, le riporto per scrupolo:

  1. Scrivere un programma, il più breve possibile, che risolva il problema enunciato prima e riportato meglio qui sotto;
  2. per ogni linguaggio utilizzato è considerato vincitore il programma scritto usando meno caratteri;
  3. l’efficienza dell’algoritmo non è un fattore fondamentale ma il programma deve terminare senza errori;
  4. si può optare, se più concisa, per una funzione, piuttosto che un programma intero;
  5. ovviamente non di vince niente se non la soddisfazione di aver accettato una sfida ed averla vinta.

L’algoritmo

La funzione di questo mese prende in input due stringhe e stampa vero se una delle due è anagramma dell’altra o falso in caso contrario (ovviamente sono consentite anche, per i linguaggi che lo permettono, 0 ed 1 o 0 e ~0).

Al solito posterò la mia soluzione come commento alla fine della settimana entrante, per dare il tempo a chi vuole partecipare di scatenare la propria fantasia.

Written by eineki

Agosto 30, 2009 alle 19:32 pm

Pubblicato in golf

Javascript: Il piccolo programmatore Javascript

con un commento

Una traduzione “di servizio” che completa, nel senso che traduce uno dei link che si incontrano, il primo a voler essere pignoli, nella traduzione precedente.

Il tutto in attesa di arrivare alla traduzione di un pezzo sull’ereditarietà in javascript che è una piccola perla di rara concisione e chiarezza (ovviamente a mio parere).

Al solito i commenti sono aperti d in attesa di suggerimenti e correzioni.

Buona lettura

Leggi il seguito di questo post »

Written by eineki

Agosto 13, 2009 alle 22:28 pm

Pubblicato in javascript, traduzioni

Taggato con , ,

Libri da scaricare: Creative Commons – Manuale operativo

con un commento

Creative Commons: manuale operativo

Creative Commons: manuale operativo

Diciamocelo: il diritto d’autore ha fatto il suo tempo ed ha bisogno di essere rimodernato. Questo è quanto devono essersi detti i promotori della Creative Common Corporation quando hanno cominciato a gettare le basi di un gruppo di licenze modulari che stanno prendendo sempre più piede.

Il libro che segnalo oggi è una guida, veloce e piacevole da leggere anche per i non addetti ai lavori, su come usare al meglio le licenze CC per adattarle ai propri bisogni.Una segnalazione che non è mai troppo tempestiva vista l’argomento che affronta.

Simone Aliprandi, l’autore, non è nuovo a libri di questo genere e l’esperienza che ha accumulato nel divulgare questo tipo di informazioni si sente.

Leggi il seguito di questo post »

Written by eineki

Luglio 25, 2009 alle 5:20 am

Pubblicato in ebook, libro