Michele SciabarràCorsoJava
testi corsi mailing
Symbian Java  Linux

Humor
-Psicopatologia Utenti Linux
-Documentario: Sistemista Linux
-Il Grande Mago Informatico
-Se le distro fossero ragazze
-La Calata Dei Barbari
-Programmatori al supermercato
-Clienti di ieri e di oggi
-Colloqui di Lavoro
-Il vero informatico 2005
-Regolamento per Software House
-Diario di un Open Source
-Non usate quel linguaggio
-Decifrare Offerta Lavoro
-Il lavoro in Italia
-I fantastici 4 degli SmartPhones
-Dalla Teoria Alla Pratica
-Cosa Vuole il Cliente
-Colloqui con gli utenti
-La Visione degli Esperti
-Di che pasta è il tuo codice
-Una Email Dal 2143

Tecnica
-JSF ClassLoader -Programmazione Cellulari Symbian
-L'invasione degli SmartPhone
-Intro Eclipse Video!
-ReadLine FrontEnd
-JspWiki

Opinioni
-C'era una volta il cellulare
-Business dell'OpenSource
-Le scuse del Linux World Expo
-Linux non è Comunismo
-Java e l'Open Source
-Chi ha scritto Linux
-Chi ha paura di XAML -Lavorare con Tanenbaum

Informazioni
-Questo sito
-L'autore








Scarica Omaggio
il Capitolo 2




Leggi Online
il Capitolo 6

La visione del mondo (informatico) degli esperti

Ho un nuovo programmatore che, come tutti i principianti, crede di saper fare tutto e bene.

Sfortunatamente i programmi non gli riescono così bene, troviamo facilmente errori in quello che fa, e non capisce perché. Ovvero non vede dove sta la "seniority" e l'esperienza.

Per provare a spiegarglielo, ho fatto un parallelo tra come vede il mondo un informatico pivellino, confrontato con quello esperto. Il succo dell'esperienza è proprio in questa differenza tra come si vedono le cose, e delle azioni che si fanno per prevenire guai che ci si aspetta.

Confronto Pivellino Esperto
Gli errori Questo errore non capiterà mai. Questo errore capiterà appena aprirà il programma il più grosso cliente della ditta, mentre sta facendo la dimostrazione in mondovisione, e lo vedranno su uno schermo panoramico tutti gli altri clienti, sia attuali che potenziali, nonché i concorrenti (che avranno la videoregistrazione).
Lo spazio disco Lo spazio disco è ampiamente sufficiente, non occorre preoccuparsi Il disco si saturerà esattamente il 15 di agosto mentre sei in vacanza alle Bahamas, e ti toccherà prendere di corsa l'aereo per tornare a Milano per ripulire il disco; altrimenti vi farà causa il ministro della giustizia in persona, a cui è stato venduto il programma.
La memoria Con le macchine moderne, la memoria non è un problema L'applicazione verrà installata su un server con decine di gigabyte di RAM, ciononostante si saturerà completamente non appena Google farà un giretto sulle pagine del sito per indicizzarlo; il server diventerà lentissimo perché si mette a swappare proprio il giorno di una campagna di banner costata decine di milioni.
La velocità del processore Ho a casa una macchina che è lenta un terzo di questa e va a meraviglia, non c'è bisogno di ottimizzare il calcolo. L'algoritmo che impiega meno di un secondo per fare il calcolo sui dieci dati di prova, impiegherà tremila anni per fare il calcolo non appena saranno stati inseriti tutti i dati veri, che sono venti.
Connessioni di rete Per fare questa operazione, apro la connessione e la lascio aperta La connessione si interromperà frequentemente a causa di un router difettoso che non vorranno cambiare per questioni di budget. Ogni volta che la connessione si interromperà il programma si bloccherà e vi chiameranno (più volte al giorno, e anche la notte) per riavviare il programma, in base al contratto di assistenza.
Uso del database Per ottimizzare, utilizzo un codice invece di mettere la descrizione, e faccio una join con una tabella di lookup per mostrare la descrizione del record La tabella crescerà fino ad avere un milione di record, e ogni operazione di join (e tu ne dovrai fare decine) impiegherà un'ora per essere eseguita
Larghezza di banda La loro banda è di 640k in dowload, quindi potranno trasferire ogni giorno tutto in 15 minuti, più di un'ora e mezzo prima di doverli elaborare. La loro banda è MASSIMA di 640k in download, ma sul contratto non viene garantita alcuna banda minima; alle 18, l'ora in cui faranno il download, la rete sarà sempre congestionata, con una banda reale inferiore ai 15k, per cui impiegheranno di fatto oltre 4 ore ogni giorno a scaricare i dati; questi dovranno essere sempre elaborati entro le ore 20, come da contratto che il tuo capo ha firmato.
Il Test Ho provato il programma sulla mia macchina e funziona. Il programma per funzionare richiede Office 2003 (che ha quella dll che hai usato), accede direttamente a Internet usando una porta non standard (e il cliente usa il proxy e ha un firewall blindato), il font che hai usato viene da Corel Draw, che ti sei installato pirata per prova ed è sotto copyright, la stampa funziona solo con le caratteristiche della stampante HP per stampa di foto digitali, che hai solo tu ed è fuori produzione.
Gestione degli errori. Adesso per evitare quei problemi gestirò tutti gli errori e controllerò tutte le eccezioni Il 97% delle condizioni di errore che hai gestito e loggato (che hanno aumentato la lunghezza del codice del 300%, e comportato un aumento del 500% nei tempi di rilascio) non capitano mai in pratica. Il rimanente 3%, che capitano, erano esattamente quei 3 casi che sono capitati il primo giorno, e non se ne sono mai verificati altri in un anno e mezzo.


Commenti(aggiungi il tuo):
Joe: Direi... La versione italiana, ragionata ed informatica, delle leggi di Murphy! :-)
gammarox: hai scordato un classico: Cliente: il programma non parte, e mi segnala uno strano errore: ProgPiv: strano, sul mio computer funzionava
Michele: Gammarox, e' la penultima, rielaborata.
gammarox: beh sì, la mia usciva con errore:) SEGNALAZIONE: con konqueror 3.2.2 ho un problema a visualizzare la pagina. Mi dà lo schermo divisò al 50% dal menù a sinistra e la parte destra nel restante 50%, quindi poco leggibile. Lo fà anche a te???
Zio Sam: Premessa: Beh, io uso firefox e va tutto bene... almeno per ora. Installazione e configurazione NetBeans: Pivellino: Installo java, installo NetBeans e Tomcat e poi visto che si configura tutto in automatico dovrebbe andare. Esperto: Visto che si dovrebbe configurare tutto in automatico, sicuramente ci sarà da lavorarci sopra a correggere i casini che si sono creati. L'ultima versione: Pivellino: è sempre meglio avere l'ultima versione perchè in qualsiasi caso, risolve i problemi di quelle precedenti. Esperto: è meglio utilizzare la versione con la quale ti sei sempre trovato bene perchè sicuramente in quella nuova, correggendo alcuni bachi, ne hanno creati degli altri più gravi. (fermo restando la necessità di aggiornare per motivi tecnici)
gv: Confermo il problema con konqueror 3.2.2
Pivello: Esperto: La tabella crescerà fino ad avere un milione di record, e ogni operazione di join (e tu ne dovrai fare decine) impiegherà un'ora per essere eseguita Pivello: ...e l'utente deciderà di cambiare la descrizione dei prodotti ogni giorno, con il risultato che per la stessa cosa ci saranno n descrizioni uguali, con n numero di giorni di attività del DB. Questo renderà i risultati delle query piuttosto inaffidabili...
jjj: E' vero con konqueror si vede veramente male!
gammarox: visto che non solo a me dà problemi con konqueror aggiungerei alla lista: Pivello: Il sito è ben visualizzato Esperto: Hai provato con tutti i browsers?? :D
anonimo: Con Konqueror 3.2.3 non ci sono problemi
Michele: Ok, lo so che con konqueror E SAFARI non si vede bene (l'ho testato su IE e Moz 4.x+) ma non ho idea del perché. Suggerimenti??? Si allarga troppo la cella laterale ma non dovrebbe perché l'altra cella è 100%. Fatemi sapere...
_Nemo_: secondo me il "pivello" è di due tipi, unoo quello descritto, l'altro quello timoroso, per cui inesperto " dobbiamo provare, provare, provare", mentre il "navigato" sa già dove andare a capire quali impatti ci potranno essere
Linucs: si potrebbe argomentare che il pivello suole usare i cicli for e pensa di realizzare un software robusto riempiendo tutto di try/except questo perche' non si e' mai applicato ad imparare i segreti dei maestri di xiaodong tali per cui il software trascende la vita e la morte e risorge dalle sue ceneri come narra la leggenda dei supervisor e dei restart e dei processi erranti dato che una volta liberato dall'albatros morto del ciclo for il thread e' libero di svolazzare per il cluster e l'albatros morto si chiama assegnazione gratuita ed arbitraria delle variabili
dav: Dilbert: "I created a computerized, interactive, multimedia training tool for the department." Boss: "Wonderful. Make some photocopies and route them around."
Zio Bill: Dato il tuo primo punto dovrei suppore che in microsoft c'è una banda di pivelli che ci lavora: vedi presentazione w2000 e Longhorn. :) ps. Per ovviare al problema di visualizzazione su certi browser puoi provare a mettere una percentuale nel td della parte di sinistra tipo 20% (td width="20%" align="left" valign="top" class="colonne"). Oppure una dimensione fissa sul td di destra tipo 300 o più (meglio la prima). Con firefox la soluzione non crea troppi problemi (o almeno non mi pare) e almeno con safari mi sembra che li risolva. Questo è solo un consiglio e non garantisco il funzionamento. Una soluzione migliore sarebbe comunque rimettere un po' a posto la pagina nella parte iniziale. Spero di essere stato utile in qualche maniera.
ZioVaucer: Linucs, pure qui, ma nn vai in vacanza? perche' nn metti in valigia tutte le tue vaccate e te ne vai da 'sto cacchio di maestro cinese, cosi' la smetti di scassare?
Michele: Linucs è troppo simpatico e poi è mio amico... prendi una bella tazza di tè.
Terrone: No, no, ha detto proprio delle vaccate!!
Linucs: come siete carini tutti insieme mancano solo kofi annan e i caschi blu e dopo siamo a posto
Andrea "Pio Pio": Uso del database (2): [Pivellino]:Ho ottimizzato queste 5 query in un unico sql performante che fa risparmiare 1 secondo a chiamata [Esperto]:Il giorno che qualcuno dovra' metterci le mani per una modifica, perdera' una settimana per capire come funziona e una settimana per riscriverla com'era prima, per poterla quindi modificare in 5 minuti
odio LINUCS: lo conosco è un marchettaro di Roma, e si cosparge il pisello di the verde perchè in realtà è impestato di letame fetido.

Contatto: michele at sciabarra dot com