Un po’ alla volta, sto riportando su questa pagina gli esempi di mostruosa programmazione con i quali mi è capitato di avere a che fare, sai nella mia esperienza di esercitatore in Università sia – sigh! – mettendo le mani nel codice scritto da professionisti… Alcuni di questi casi patologici sono ripresi da quanto già postato, in passato, sul defunto blog del JUG Brescia.
Code horrors
Social scheduling
Alcune persone danno mostra di credersi processi ad alta priorità in un contesto di scheduling preemptive.
Al di là della filosofia da presunti informatici, a me sembra la solita, cara, vecchia maleducazione.
First trial
Primo tentativo di articolo (tecnico) in inglese.
Sono graditi commenti e suggerimenti, soprattutto linguistici.
Antipattern… rovesciati
Piccolo intermezzo informatico: a chi fosse interessato alle tematiche dell’Ingegneria del Software e dello sviluppo software in generale, consiglio la lettura di questo articolo. Il titolo, “Come essere un programmatore peggiore”, è ovviamente paradossale, ma sottolinea come, spesso, sia più facile imparare qualcosa dal riconoscere errori (propri od altrui) ricorrenti piuttosto che dall’applicazione di principi “positivi”.
Un po’ più lunga, ma interessantissima, è poi la lettura di questa raccolta di consigli su “Come scrivere codice difficile da testare”: ancora una volta, imparare a riconoscere anti-pattern può rivelarsi più semplice che imparare ad applicare pattern positivi.
In ogni caso, buona lettura (e non dite che non conoscete nessuno che sembri svolgere la sua attività seguendo fedelmente almeno la metà dei suggerimenti per diventare un programmatore peggiore).
Anarchico
Mi dicono che sul PC di Cattivo Maestro (cattivo maestro nel nome, ottimo allievo ed ottimo maestro, come ogni saggio, nei fatti) ci sia una directory condivisa denominata “senzadivisa”.
Se ancora c’è un vero anarchico, questo è lui.
Incredibile
Non provo grande simpatia, si sa, per le politiche di licenza adottate da Apple. In certe cose tendo ad essere (eufemismo) piuttosto integralista, per cui è difficile che presti grande attenzione o rivolga un qualche interesse ai prodotti della casa di Cupertino.
C’è tuttavia almeno una cosa sulla quale non posso che essere d’accordo con Steve Jobs: è assolutamente incredibile il prezzo che (evidentemente) qualcuno è disposto a pagare per un iPad…
Quando conta la dimensione
public int getDimensioneElenco() {
int j = 0;
for(int i = 0; i < this.elenco.size(); i++) {
j++;
}
return j;
}
["conta", voce del verbo contare: Un, due, tre, quattro...]
La scommessa di Pascal
Scendevo dal Monte Maddalena in bicicletta, ed ho ripensato alla scommessa di Pascal. All’idea della fede come frutto di una considerazione basata sulla probabilità: credo perché se Dio (nel senso di quello cristiano-cattolico) esiste il vantaggio sarà enorme, se non esiste sarò vissuto più serenamente di quanto sarei stato non credendo, o comunque non mi sarà costato molto.
A proposito di questo modo di ragionare, mi è tornato in mente un aneddoto su Niels Bohr, fisico danese tra i padri della fisica moderna: si narra che un giornalista, notando un ferro di cavallo appeso sopra l’ingresso del suo studio, gli abbia chiesto “Ma come, professore, lei crede a queste cose?”, e che Bohr abbia risposto “Certamente no, ma dicono funzioni lo stesso!”. Superstizione e religione, in fondo, sono due manifestazioni dello stesso tipo di fenomeno: regolare la propria vita sulla base di credenze improbabili (nel senso etimologico, che non possono essere provate). Così mi sono ritrovato a riflettere sulla differenza tra scelta di comodo (eventualmente contraria alle proprie convinzioni razionali) e comportamento coerente con le proprie posizioni.
Al di là della dubbia validità generale di frasi come “sarò vissuto più serenamente” (personalmente sono molto più sereno, vorrei dire più felice, da quando mi sono emancipato da un certo tipo di credenza per considerarmi libero di pensare), mi sono trovato a fare una riflessione: se davvero esiste un dio come quello delle religioni monoteiste, davvero apprezzerà chi avrà creduto sulla base di un “ragionamento” come quello di Pascal più di chi non avrà creduto assumendosi responsabilità e libertà della propria scelta? Mi sono ricordato di una frase di Woody Allen, che ben riassume ciò che penso in proposito: per te sono uno sporco ateo, ma per Dio sono una leale opposizione. E mi sono sorpreso a sorridere, pensando che davvero vorrei vedere, come si chiede Guccini, “chi è assunto in cielo pur tra mille ragioni tra noi e la massa dei rompicoglioni“…
Dedicato a Pascal, il linguaggio di programmazione più che il filosofo.
