Nome |
Dino |
Francesco |
Cognome |
Esposito |
Balena |
Professione |
E che ne so? Mi piace descrivermi con Writer-Trainer-Consultant nell’ordine. Ma la domanda mi mette in crisi e mette in crisi mia moglie di più. Per cui vado genericamente sul “consulenza e formazione soprattutto per software Internet”, ma dice proprio una minima parte :-) |
Developer, scrittore, docente, consulente (grossomodo in quest’ordine) |
Data di Nascita |
4-5-65 |
Due luglio millenovecentosessanta |
Città natale |
Termoli CB |
Bari |
Linguaggio preferito |
C# |
C# per controlli e componenti, VB2005 per applicazioni |
Un tuo pregio |
Appena ne trovo uno, smette di esserlo. Perciò guardo solo ai difetti. Direi “capacità di restare concentrato in condizioni ardue” tipo figli che ti urlano intorno e si picchiano, mogli che ti raccontano delle amiche dal parrucchiere, musica (di altri) ad alto volume, passeggeri che urlano dei cavoli loro in treni e aeroporti. |
La capacità di concentrarmi anche per mesi sullo stesso progetto (software o editoriale). |
Un tuo difetto |
Non riesco mai trovare il tempo per mettere in pratica le buone idee. Raramente penso davvero “big”. |
Riuscire a lavorare solo su progetti e tecnologie che mi intrigano. |
Qual è il tuo sogno nel cassetto |
Avere un centro di ricerche/sviluppo MS a due Km da casa |
Quello di tutti gli sviluppatori: scrivere la mitica “killer application”. |
Come hai iniziato a programmare |
Dovevo decidere a quale facoltà iscrivermi e ho provato un corso di BASIC così per capire che roba fosse. Poi ci ho preso gusto. Faccio un vanto del fatto di essermi laureato senza aver quasi mai visto un computer o terminale :-) |
All’università nel ’79, lavorando su “bestione” di IBM 370 con il linguaggio PL/1. Ma il vero divertimento è stato mettere le mani sulle prime calcolatrici programmabili, una Texas TI58 o poi la una HP41CV. |
Usi i pattern |
Prima scrivo il codice; poi vedo se c’è un pattern dietro ... o di fianco |
Non molti: spesso uso dei pattern senza sapere quali siano, poi magari scopro che le tecniche che uso per mettere insieme le mie classi hanno un nome “ufficiale” |
Scrivi i test |
No. Ma perché scrivo molto poco codice reale |
Si e no. Ovviamente scrivo del codice per testare le mie classi, ma raramente metto su una infrastruttura completa per il test. |
Usi il refactoring |
Si, quello fatto a mano |
Molto. Ma preferisco fare del “refactoring manuale” oppure usare macro che mi sono scritto da solo piuttosto che usare tool di 3e parti. |
Commenti il codice |
Quanto basta. |
Almeno il 20-25% del mio codice è fatto di commenti. |
Oltre a programmare cosa ti piace fare |
Giocare a tennis e leggere thrillers/gialli (Camilleri, Follett, Brown, Forsythe) |
Sentire musica e fare un po’ di fitness, due cose che riesco a fare insieme. Proprio ora sto caricando le mie playlist sullo Zune che mi è stato regalato da Microsoft ...essere un MSDN Regional Director ha i suoi privilegi :-) |
Mai firmato autografi |
Si. Una cosa che mi fa accapponare la pelle (nel senso buono) è quando soprattutto negli USA mi fermano alle conferenze e mi dicono “Just thank you” |
Spesso, da quando ho cominciato a scrivere libri per Microsoft Press. |
Dove vai in vacanza |
Dove dice mia moglie (che non è quasi mai dove direi io :-)) |
In estate resto in Puglia, per evitare aereoporti e traffico sulle autostrade. Le mie vacanze preferite sono nei mesi invernali, di solito in qualche posto al caldo. |
Hai conosciuto BillG |
No |
No, anche se una volta abbiamo parlato sullo stesso palco a poche ore di distanza. |
Perche non programmi in Java |
Non ne ho mai avuto davvero bisogno |
Credo che Java sia un ottimo linguaggio con un supporto incredibile dalla community. Ma avendo deciso di lavorare su piattaforma .NET e non essendo interessato alla portabilità su altre piattaforme, penso che la scelta più logica per me sia VB o C#. |
Qual è la cosa che ti è piaciuta di più non appena hai conosciuto il .NET Framework |
Classi per fare qualsiasi cosa sia ipotizzabile fare in Windows in qualsiasi linguaggio |
Dovendo proprio scegliere direi l’ereditarietà. Per me che avevo lavorato solo con VB, era un mondo nuovo. |
Qual è la cosa che ti è piaciuta di meno non appena hai conosciuto il .NET Framework |
Che non tutto si poteva realmente fare con le classi |
Il fatto che le applicazioni fossero decompilabili facilmente, anche se in questi anni mi sono reso conto che non era un problema davvero serio. |
Il tuo primo programma scritto |
PC Photo—archiviazione fotografica sotto Windows nel 1993 |
Un mini-compilatore che girava su una calcolatrice HP41CV e faceva la traduzione+compilazione di programmi scritti per TI58. (La vera sfida fu riuscire a far stare il codice e i dati in 2800 byte.) |
Il più grosso bug introdotto in un programma |
Due volte e sempre lo stesso—funzione Delete che finiva per fare cancellazione ricorsiva di intere sottodirectory (e una volta non mi è nemmeno dispiaciuto ) |
In quasi venti anni ne ho accumulati più di quanti ne vorrei ricordare. Il più banale e contemporaneamente quello che mi fece perdere più tempo: in una grossa applicazione QuickBasic per DOS avevo scritto incorrettamente il nome di alcune variabili, che quindi non venivano inizializzate a dovere. Ai tempi non esisteva Option Explicit e risolsi il problema solo acquistando una utility di cross-reference. |
Il più grosso bug trovato in un programma |
In un programma non scritto ma gestito da me: un null reference ignorato che finiva per far esplodere un pezzo di codice che apparentemente non c’entrava niente ma prima di crashare faceva Beep :-) |
Se parliamo di bug non miei, fu quando scoprii che una vecchia versione del software di rete Novell utilizzava dei blocchi di memoria DOS senza allocarli “ufficialmente” e andava a sovrascrivere la memoria utilizzata da dSwapper, uno dei miei primi programmi commerciali. |
Qual è il programma più complesso che hai scritto? |
Non ne ho scritti molti—direi sempre PC Photo |
È il programma su cui sto lavorando attualmente, un traduttore tra linguaggi lungo circa 120mila righe di codice e che ho scritto quasi interamente da solo. (Maggiori informazioni a breve su www.net2themax.it/blogs.) Tra quelli già rilasciati VBMaximizer, un add-in per VB6 (http://www.codearchitects.com/VBMaximizer.aspx). |
Funziona ancora? |
Certo |
VBMaximizer continua ad essere scaricato (e acquistato, incredibilmente!), anche se ovviamente non con la frequenza di quando io e Marco Bellinaso lo pubblicammo sei anni fa. |
Quante ore lavori al giorno? |
Raramente arrivo a 8. Se poi contiamo le ore che mi ci vogliono per arrivarci allora raramente ne bastano 16. |
Se sto scrivendo un codice “intrigante” posso andare avanti anche per 14-15 ore, con qualche pausa per i bisogni primari (cibo, caffè, ecc.). A regime normale sulle 10 ore al giorno. |
Lavori spesso di notte? |
La curva di resistenza è calata drasticamente con l’avanzare dell’età :-) Ultimamente no, ma capita mediamente 1 o 2 volte al mese di stare fino a oltre mezzanotte. L’ultima nottata è di 2 se non 3 anni fa |
1-2 volte a settimana lavoro fino alle due o tre di notte, ma è un po’ che non faccio una intera notte. |
Qual è il tool a cui non potresti mai rinunciare? (oltre a Visual studio e company) |
.NET Reflector |
Reflector. |
Lavori da solo o in team? |
99% del tempo da solo |
Quasi sempre da solo. Quando in Code Architects abbiamo un progetto troppo grosso per una sola persona, cerchiamo di spezzarlo in parti indipendenti. Grazie a questa organizzazione riesco a lavorare da casa, quando voglio, e sentendo la mia musica preferita. |