Info:

twitter

Ultimi commenti: Comment feed

Tags:

Sponsor:

Archivio 2018:

Gen

Archivio 2017:

Dic Nov Ott Mag Apr Mar Feb Gen

Archivio 2016:

Dic Nov Ott Ago Mag Mar Feb Gen

Archivio 2015:

Nov Ott Set Mar Gen

Archivio 2014:

Dic Nov Ott Set Lug Giu Mag Apr Gen

Archivio 2013:

Dic Nov Set Ago Lug Giu Mag Apr Feb Gen

Archivio 2012:

Dic Nov Ott Set Ago Giu Mag Apr Mar Feb Gen

Archivio 2011:

Dic Nov Ott Set Ago Lug Giu Mag Apr Mar Feb Gen

Archivio 2010:

Dic Nov Ott Set Ago Lug Giu Mag Apr Mar Feb Gen

Archivio 2009:

Dic Nov Ott Set Ago Lug Giu Mag Apr Mar Feb Gen

Archivio 2008:

Dic Nov Ott Set Ago Lug Giu Mag Apr Mar Feb Gen

Archivio 2007:

Dic Nov Ott Set Ago Lug Giu Mag Apr Mar Feb Gen

Archivio 2006:

Dic Nov Ott Set Ago Lug Giu Mag Apr Mar Feb Gen

Contro verso

Notavo recentemente che alcuni blog «controversi» non vengono aggiornati da un bel po', come ad esempio shipping seven o per andare ancora più indietro nel tempo makingtheswitch (sottotitolato: One Microsoft Employee Documents His Switch from Windows to Linux) o thelinuxconvert (sottotitolo: my journey from windows vista to linux). Controversi non perché parlano bene della concorrenza, ma perché - giudicando a posteriori - sembrano tirati sù con l'unico scopo di attirare un po' di attenzione. Il pattern che ho notato è questo:

  • qualcuno apre un blog in maniera anonima su uno dei soliti host (wordpress è popolare ma farlo su blogspot sembra quasi un dispetto) per raccontare qualche segreto (magari windows7 o qualche voglia informatica inconfessabile)
  • il blog riceve l'attenzione dei media: la quantità dei post si intensifica, come pure quella dei commenti pro e contro
  • l'autore smette di bloggare sul più bello; ad esempio quando ha chiuso makingtheswitch stava cominciando a parlare di Ruby e di videoediting su Linux

La mia sensazione, soprattutto riguardo il primo, è che sia un fake. Basterebbe un piccolo dettaglio per dimostrare - magari anche indirettamente e senza essere tracciabili - che chi scrive non sta barando ed io non ne ho visto neanche uno neanche a livello subliminale: come quando si ascolta un cantante in TV e ci si accorge subconsciamente che sta cantando in playback pur senza averne la certezza (vabbé qualche esperto magari può vantare accuratezza molto maggiore della mia).

E visto che ho citato ancora Ruby, ieri mi son imbattuto nella seguente riga di codice:

%w{god normal banned spam}.map{|n| Role.create(:name=>n)}

Follia pura di illegibilità!

-quack

Technorati tags:

Potrebbero interessarti anche:
Commenti (12):
1. FDG
giovedì 13 marzo 2008 alle 4:56 PM - unknown unknown unknown
   

Ad occhio e croce sembra ci sia di mezzo una closure.

Possiamo continuare con un pizzico di groovy...

["asdf": 1 , "qwer" : 2, "sdfg" : 10].keySet().each( { result+= myMap[it] } )

Una spolverata di Objective C...

[[self undoManager] registerUndoWithTarget: self selector:@selector(applyCellUndo:) object: [NSArray arrayWithObjects:affectedCell,[affectedCell stringValue],nil]];

E un mattoncino acido di Perl...

sub sub2 {

foreach(sort keys %_) { return shift @{ $_{$_} } if ($#{ $_{$_} } > -1); }

}

}

Ma ricordo bene che del C si diceva la stessa cosa. Ma non dimentichiamoci di cosa si può arrivare a scrivere coi template del C++

   
2. FDG
giovedì 13 marzo 2008 alle 4:57 PM - unknown unknown unknown
   

Ehm... nel frammento di perl ho messo una graffa in più.

   
3. sirus
giovedì 13 marzo 2008 alle 5:40 PM - unknown unknown unknown
   

Ho sempre visto Ruby come un "concorrente" di Python, considerando la scarsa leggibilità del primo non mi stupisco che il secondo sia su livelli tanto catastrofici.

Objective-C dal mio punto di vista è uno scandalo!

E poi si prende per i fondelli il C...

   
4. Edward
giovedì 13 marzo 2008 alle 10:53 PM - unknown unknown unknown
   

Sento parlare solo ora di questi blog: effetivamente sono abbandonati da tempo.

Shipping seven ha vissuto per un paio di mesi (dal 17 novembre 2007 al 21 gennaio 2008) con degli aggiornamenti aperiodici (la sensazione e' di un accumulo di articoli per poi pubblicarli di botto); l'autore di Making the switch risponde ad alcuni commenti pubblicati su Digg il 30 aprile 2007, poi annunci che i successivi articoli saranno incentrati su Linux e non sulla sua vita personale e/o lavorativa: le pubblicazioni finiscono il 6 maggio; The Linux Convert inizia il 22 aprile per terminare il 7 giugno 2007, ma l'ultimo articolo, "Da allora e' passato un mese" praticamente chiude la descrizione del suo passaggio a linux.

A me TLC sembra piu' un diario di bordo che un blog periodico vero e proprio, quindi non mi sutpisce piu' di tanto la sua chiusura, mentre SS lo credo uno sfogo personale, perche' riporta i commenti dell'autore (ad es. spara a zero sulla Time Machine e sul Mac Air, invita gli utenti a segnalare i bug di Vista perche' piu' report arrivano e maggiore e' la probabilita' di prendere in considerazione la loro correzione, scherza su Zimmermann e su PGP, dice che lo Zune gli ricorda Topolino ed altri) mentre i post su Windows 7 sono solo 2, all'inizio del blog: "Chissa' perche' e' abbandonato?" mi chiedo.

Making the switch, invece, e' quello che mi ha lasciato una sensazione di disagio: i post di Aprile ricalcano TLC, poi prendono un taglio quasi divulgativo (Il comando del giorno, tweaking theme ed altri). Dopo una settimana il nulla, come se l'autore fosse scomparso.

Resto perplesso.

Edward

   
5. Paperino
venerdì 14 marzo 2008 alle 1:51 AM - unknown unknown unknown
   

Credo che MTS abbia notato l'eco mediatica di TLC e abbia prima provato a seguirne le orme per poi dare un'impostazione tutta sua. TLC chiude invece ufficialmente il blog, però poi ne apre un altro in cui molto discutibilmente spiega "10 motivi per cui Ubuntu è meglio di Vista", molti dei quali mi sembrano molto "forzati" e creati a "posteriori". Un blog controverso, ma ancora attivo, rimane quello di MiniMSFT che ho dimenticato di citare nel post.

   
6. Edward
venerdì 14 marzo 2008 alle 11:28 PM - unknown unknown unknown
   

@ Paperino:

Concordo sul sostituto di TLC: fra i 10 motivi, 7 sono opinabili ed uno e' pure critico (il punto 6 confonde freeware con open source). Per un blog intitolato "The Computing Expert" e' un errore grave.

MiniMSFT se la prende piu' con MS che con Vista in se: critica la politica in generale di Microsoft, la tentata acquisizione di Yahoo, lo Zune, ..., tutto in pratica. Capisco che MS possa essere antipatica a molti (un po' lo e' anche a me, ma cerco di non farmi rascinare dalla corrente), ma l'autore deve avere una scorta di granate per quella che credo sia una guerra personale.

Edward

   
7. FDG
lunedì 17 marzo 2008 alle 11:43 AM - unknown unknown unknown
   

Già che ci sono, pongo una domanda per i conoscitori del C#: in questo linguaggio le classi devono essere usate attraverso una sintassi specifica o si usa la stessa sintassi usata per gli oggetti generici? Cioè, in Objective C una classe è un oggetto con dei metodi e per usare la classe uso i metodi di questo oggetto. Questo permette di trattare la classe come un oggetto a tutti gli effetti, che quindi può essere passato come parametro, associato ad una variabile e così via. In Java ci sono le istanze di Class associate alle classi, ma la sintassi per l'uso delle classi è specifica, e l'interfaccia dell'oggetto Class non riesce a sostituire agilmente questa sintassi. In C#?

   
8. Paperino
lunedì 17 marzo 2008 alle 8:37 PM - unknown unknown unknown
   

@FDG:

No, in C# non si può mescolare una classe con un oggetto, bisogna usare la reflection per manipolare le classi.

   
9. FDG
martedì 18 marzo 2008 alle 11:07 AM - unknown unknown unknown
   

OK, come in Java.

L'Objective C ha una sintassi anomala, però ci sono alcune cose che mi piacciono, tra cui questa.

   
10. FDG
mercoledì 19 marzo 2008 alle 12:13 PM - unknown unknown unknown
   

Rileggendo il pezzo di codice Ruby, mi pare tutto fuorché incomprensibile. Anzi, pur non conoscendo Ruby riesco a leggerlo. Unica difficoltà è nelle differenze sintattiche rispetto ad altri linguaggi. A parte questo però non mi è difficile capire di che si tratta. E' una closure, cioè un concetto che bisogna conoscere per leggere e capire la relativa sintassi (come del resto si deve conoscere l'ereditarietà per capire un frammento di codice che estende una classe). In particolare, si tratta di una costante collection collegata ad una closure con parametro n che chiama Role.create associando il valore n al parametro formale in modo esplicito. Certamente non è banale come un for.

Comunque, le closure sono geniali.

   
11. /V
venerdì 21 marzo 2008 alle 2:27 PM - unknown unknown unknown
   

@FDG: leggendolo l'avevo capito anche io, ora che ho visto la tua spiegazione pero' sono piu' confuso di prima :-D.

Credo sia la riprova della potenza di certa sintassi Ruby, rende le cose piu' facili a farsi che a dirsi...

E comunque concordo con te che le closure sono un concetto un po' particolare, preso paro paro dal lambda calcolo (ma mi fermo qui che non ne so nulla di piu'), e non essendo molto diffuse nei linguaggi derivati dal C la prima volta che le leggi spiazzano tantissimo.

Un modo che a me aveva aiutato molto ad averci a che fare era considerarli come "codice passato come argomento di funzione" (cosa che peraltro credo che in fondo in fondo siano), con tra le || le variabili da passare.

(anche qui mi rendo conto che sia piu' facile a dirsi che da spiegare :-D)

   
12. Paperino
mercoledì 26 marzo 2008 alle 3:49 PM - unknown unknown unknown
   

Ocio, che con la versione 3.0 del linguaggio (rilasciata con la versione 3.5 del runtime), il C# ha fatto passi avanti. Ad esempio: www.developer.com/.../3598381

Resta il fatto che la riga di Ruby di cui si parla e' abbastanza illeggibile anche se estremamente compatta: dovrei conoscere Ruby per capire ad esempio che vuol dire %w mentre un loop foreach e' leggibile da chiunque conosca un minimo di informatica e di inglese. Secondo me codice scrivibile e codice leggibile sono due direzioni opposte dello stesso asse; un po' come sicurezza ed usabilita'.

My 2 (euro)cents.

   
Lascia un commento:
Commento: (clicca su questo link per gli smiley supportati; regole di ingaggio per i commenti)
(opzionale, per il Gravatar)