Sei sulla pagina 1di 5

CP pensareprogettareprogrammare n.

134 aprile 2004

Dei programmatori e di altri ` demoni


di Vito Vessia
` ` Nel passato i piu lo consideravano un lavoro noioso, ma affascinante. Adesso e considerato solo un lavoro noioso. Una vita tranquilla fatta di tante piccole certezze e di alcuni sogni inenarrabili. Ma cosa avviene quando questi si realizzano? Spesso si consuma la tragedia.

Vito Vessia ` E cofondatore della codeBehind S.r.l. (http://www.codeBehind.it), una software factory di applicazioni enterprise, web e mobile, dove progetta e sviluppa applicazioni e framework in .NET, COM(+) e Delphi occupandosi degli aspetti architettura` li. E autore del libro Programmare il cellulare, Hoepli, 2002, sulla programmazione dei telefoni cellulari connessi al PC con protocollo standard AT+

pubblicato su WWW.INFOMEDIA.IT stampa digitale da Lulu Enterprises Inc. stores.lulu.com/infomedia


Infomedia
` Infomedia e limpresa editoriale che da quasi venti anni ha raccolto la voce dei programmatori, dei sistemisti, dei professionisti, degli studenti, dei ricercatori e dei professori dinformatica italiani. Sono pi` di 800 gli autori che hanno realizzato per le teu state Computer Programming, Dev, Login, Visual Basic Journal e Java Journal, molte migliaia di articoli tecnici, presentazioni di prodotti, tecnologie, protocolli, strumenti di lavoro, tecniche di sviluppo e semplici trucchi e stratagemmi. Oltre 6 milioni di copie distribuite, trentamila pagine stampate, fanno di questa impresa la pi` grande ed u inuente realt` delleditoria specializzata nel campo della a programmazione e della sistemistica. In tutti questi anni le riviste Infomedia hanno vissuto della passione di quanti vedono nella programmazione non solo la propria professione ma unattivit` vitale e un vero a divertimento. ` Nel 2009, Infomedia e cambiata radicalmente adottando ` un nuovo modello aziendale ed editoriale e si e organizzata attorno ad una idea di Impresa Sociale di Comunit` , a partecipata da programmatori e sistemisti, separando le attivit` di gestione dellinformazione gestite da un board a comunitario professionale e quelle di produzione gesti` te da una impresa strumentale. Questo assetto e in linea con le migliori esperienze internazionali e rende Infomedia ancora di pi` parte della Comunit` nazionale degli u a sviluppatori di software. ` Infomedia e media-partner di manifestazioni ed eventi in ambito informatico, collabora con molti dei pi` imporu tanti editori informatici italiani come partner editoriale e fornitore di servizi di localizzazione in italiano di testi in lingua inglese.

Limpaginazione automatica di questa rivista e realizzata al ` 100% con strumenti Open Source usando OpenOffice, Emacs, BHL, LaTeX, Gimp, Inkscape e i linguaggi Lisp, Python e BASH

For copyright information about the contents of Computer Programming, please see the section Copyright at the end of each article if exists, otherwise ask authors. Infomedia contents is 2004 Infomedia and released as Creative Commons 2.5 BY-NC-ND. Turing Club content is 2004 Turing Club released as Creative Commons 2.5 BY-ND. Le informazioni di copyright sul contenuto di Computer Programming sono riportate nella sezione Copyright alla ne di ciascun articolo o vanno richieste direttamente agli autori. Il contenuto Infomedia e 2004 Infome` dia e rilasciato con Licenza Creative Commons 2.5 BYNC-ND. Il contenuto Turing Club e 2004 Turing Club ` e rilasciato con Licenza Creative Commons 2.5 BY-ND. Si applicano tutte le norme di tutela dei marchi e dei segni distintivi. ` E in ogni caso ammessa la riproduzione parziale o totale dei testi e delle immagini per scopo didattico purch e vengano integralmente citati gli autori e la completa identicazione della testata. Manoscritti e foto originali, anche se non pubblicati, non si restituiscono. Contenuto pubblicitario inferiore al 45%. La biograa dellautore riportata nellarticolo e sul sito www.infomedia.it e di norma quella disponibi` le nella stampa dellarticolo o aggiornata a cura dellautore stesso. Per aggiornarla scrivere a info@infomedia.it o farlo in autonomia allindirizzo http://mags.programmers.net/moduli/biograa

FOCUS

Professione informatico

Dei programmatori e di altri dmoni


Nel passato i pi lo consideravano un lavoro noioso, ma affascinante. Adesso considerato solo un lavoro noioso. Una vita tranquilla fatta di tante piccole certezze e di alcuni sogni inenarrabili. Ma cosa avviene quando questi si realizzano? Spesso si consuma la tragedia
di Vito Vessia

on credo che da piccolo abbia mai desiderato di fare lastronauta: distanze siderali, velocit della luce fisicamente non oltrepassabile e quindi troppi tempi morti tra unazione e laltra Non che avessi unidea cos precisa del problema, ma diciamo che a naso preferivo immaginarmi di fare altro. Adesso faccio il programmatore e con diverse vicissitudini alle spalle, ma nulla che vada al di l del livello di pathos tipico delle avventure di un impiegato delle Poste Italiane. Sembra tutto cos banale, no? Sar per questo che i ragazzini non sognano pi di fare i programmatori. Evidentemente leffetto War Games si esaurito o considerato troppo antico e probabilmente anacronistico: sar per la solita Guerra Fredda che finita, perch il 1983 di War Games troppo lontano e i nati in quellanno hanno gi la patente o sar semplicemente che viviamo in un mondo meno romantico e pi pragmatico dove tutto preso sulla parola e nel significato letterale di questa, quindi programmare non significa altro che, prosaicamente, stilare il programma di qualcosa che deve essere fatto, in questo caso da un computer. Prima gli operai (programmatori) e i capocantieri (analisti) del software erano semplicemente tali ed erano definiti come tali, vale a dire programmatori e, qualche volta, analisti. Adesso nessuno fa pi il programmatore, ma siamo invasi da sviluppatori (de che?), developer, web developer, database administrator, web master e mobile developer (che non sono programmatori transumanti) seguendo una tangibile e progressiva scia dincomprensibilit che inevitabilmente porta alla punta della piramide della carriera dello sviluppatore (fu programmatore), in altre parole lICT Manager. Ma che diavolo significa? Nessuno bene lo sa. Forse

sono quelli che un tempo erano a capo dei CED (Centro Elaborazione Dati) delle aziende, ma da quando non esistono pi i CED, non ci sono pi i Capi CED. Tecnicamente non che non ci siano pi i CED, a causa delloutsourcing, direte voi sempre che qualcuno ci spieghi finalmente cosa significa semplicemente adesso si chiamano EDP e i loro capi sono dei generici Information and Communications Technology (ICT) Manager. Detto cos non significa nulla, potrebbe benissimo essere scambiato per un ufficio stampa; da qui, giuro che vero, lequivoco che port la mia professoressa di Informatica della scuola superiore ad iscriversi a Scienze dellInformazione credendo che fosse un corso di giornalismo.

Fondamentalmente i pi
approdano al magico mondo dei software gestionali
Gli americani che ormai creano i trend, compreso quello di aver diffuso e inflazionato luso di questa parola, hanno analizzato il problema e sono arrivati alla conclusione che i programmatori adesso non sono pi tanto di moda come categoria sociale. E la crisi del settore non centra nulla con questo declassamento, piuttosto ne fanno una questione di social correctness (nda: di correttezza e di conformismo sociale). Un grande scrittore americano, forse canadese, lo stesso di Generazione X, coni il termine geek per definire la classe sociale (umana) dei programmatori e, pi in generale, degli addetti allIT. Significa letteralmente geco, in pratica quei simpatici lucertoloni che amano restare per ore completamente immobili e attaccati a pareti verticali. La metafora varia, ma va intesa soprattutto in senso figurato: la parete verticale tipicamente il monitor, peraltro sempre pi piatto negli ultimi anni, ergo il geco proprio lutente di quel monitor, cio il programmatore. E la sua idiosincrasia a distaccarsene quasi come fosse una chioccia. 11

Vito Vessia

vvessia@infomedia.it

cofondatore della codeBehind S.r.l. (http://www.codeBehind.it), una software factory di applicazioni enterprise, web e mobile, dove progetta e sviluppa applicazioni e framework in .NET, COM(+) e Delphi occupandosi degli aspetti architetturali. autore del libro Programmare il cellulare, Hoepli, 2002, sulla programmazione dei telefoni cellulari connessi al PC con protocollo standard AT+.

Computer Programming n. 134 - Aprile 2004

FOCUS
Il primo ambiente professionale di programmazione
Dopo le varie peregrinazioni in ambienti e linguaggi di sviluppo didattici (Pascal Standard, Fortran, Basic con le PRINT, C solo con stdio.h, ecc) o su piattaforme da teatro sperimentale (Smalltalk, ADA ed altri ancora), si approda finalmente ad un ambiente di sviluppo professionale, dove per professionale non sintende che sia tecnicamente pi valido, ma solo che ci si pu ricavare del denaro tramite realizzazione e vendita di applicativi. Fondamentalmente i pi approdano al magico mondo dei software gestionali, che altro non sono che quelle meravigliose applicazioni fatte di centinaia di maschere di inserimento dati di clienti e di fatture e, se si pi fortunati, di dati di produzione. Molti trovano queste applicazioni entusiasmanti da scrivere, altri le trovano assolutamente noiose e persino svilenti per chi le realizza; infine ci sono i pragmatici, in genere i pi, che dicono che questo un lavoro perci scrivono le cose che vengono loro richieste; e poi non nemmeno troppo vero che ci si annoi, perch in ogni caso un buon programma e un cattivo programma restano tali, sia che servano a far partire il motore dello Shuttle, sia a produrre la bolla di trasporto per il Fiorino di una compagnia di rivendita di ortofrutta ai mercati generali, perch dipende da come sono stati progettati e scritti, pi che da quello che fanno. Io non so quale sia la verit, per non appena ne vengo a conoscenza, vi faccio sapere Gli ambienti di sviluppo professionali, essenzialmente per realizzare buone applicazioni gestionali per Windows, sono diversi, ma evidentemente, a parte coloro che non volevano rinunciare al loro codice o al loro know in ambiente Clipper/xBase/COBOL e che quindi sono passati agli omologhi per Windows, a parte i programmatori database puri che hanno fatto la scelta di PowerBuilder, a parte quelli che volevano unire alla semplicit e ricchezza di un ambiente RAD per applicazioni DB anche la potenza dellOOP e di un framework consistente e hanno scelto Delphi e delle poche mosche bianche che usano C++ anche per scriversi la rubrichetta telefonica, la scelta fatta dalla gran parte delle aziende e dai professionisti del settore stato limmancabile Visual Basic e la relativa piattaforma COM opportunamente basichizzata (interfacce di automazione, typelibrary, ecc). ti che spesso (giustamente) si lamentavano di applicazioni che mal funzionavano, avevano addestrato e fortificato generazioni di sviluppatori che andavano orgogliosi delle loro conoscenze da guru sulla tecnologia moderna. Si, spesso ci si lamentava di tante piccole mancanze, di tanti piccoli difetti: dallassenza di un vero e proprio OOP in Visual Basic, alle sue ormai celebri limitazioni, dalla complessit di COM alla estrema essenzialit di ASP e linferno delle DLL COM. Si continuava a ripetere Java, brutto!, Delphi, cos cos!, C++, mica sono matto!, ma si facevano sogni immondi di classi ereditate in Visual Basic 6, di una ASP che somigliasse a JSP o a PHP e che non fosse solo una soluzione posticcia e un COM che non richiedesse le conoscenze di Don Box per essere compreso fino in fondo, ma che non fosse nemmeno troppo banalizzato e limitato come accadeva in Visual Basic. Si sognava insomma lerba del vicino che sembrava decisamente pi verde, ma restava quasi un sogno da accarezzare e non veramente da far avverare, perch avrebbe portato troppi cambiamenti incontrollati, un po come la pace nel mondo, la minigonna che passa di moda per sempre o lo scudetto dellInter.

.NET
Poi accaduto lirreparabile: il sogno si realizzato. E pure troppo, direi. Mentre i detrattori di Microsoft continuavano a dipingere i tool di sviluppo e le tecnologie di questa come il male assoluto e mentre i loro utilizzatori, pur tra qualche incertezza e con qualche rivendicazione continuavano ad usarle e ad esaltarli, Microsoft faceva tesoro dei meriti della concorrenza, evidentemente per trarne ispirazione, ne osservava i limiti e i difetti, evidentemente per non trarne ispirazione, rifletteva sui pregi dei propri prodotti e ne riconsiderava i difetti. Il risultato .NET: poco o nulla della tecnologia Microsoft precedente, tanto o quasi tutto della tecnologia degli altri, ma portata ad un livello di perfezione (progettuale) tale da minimizzarne leffetto somiglianza.

Si sognava insomma
lerba del vicino che sembrava decisamente pi verde
Gli sviluppatori su prodotti Microsoft, ben abituati alla cura che la casa aveva sempre offerto ai propri accoliti, cura fatta essenzialmente nellevitare ai propri pupilli di dover gettar nulla o quasi della conoscenza precedente, si aspettavano, anche questa volta, una transizione quasi indolore, certo un po pi audace, ma sicuramente alla portata di tutti, come gi era accaduto nel passato. Avevano chiesto un Visual Basic che fosse pi ricco e ad oggetti, ed ecco Visual Basic .NET, avevano chiesto un ASP che fosse finalmente pi potente e pi vicino al modello di programmazione tradizionale, pur conservando lo spirito e la semplicit di ASP 3.0, ed ecco ASP.NET, avevano desiderato un linguaggio simile a Java che non obbligasse i programmatori C++ a continuare a fare salti mortali per sviluppare in ambienti poco predisposti alla scrittura di applicazioni gestionali ed ecco C#. Infine aveComputer Programming n. 134 - Aprile 2004

Visual Basic, ASP e COM: the Holy Trinity


Per anni si discusso della presunta debolezza di questa soluzione, del primato tecnico delle alternative, della cattiva qualit del codice prodotto e simili altre irriguardose quisquilie, ma al di l della loro fondatezza vera o solo presunta, resta il fatto: decine di milioni di sviluppatori in tutto il mondo sono orgogliosamente nati e cresciuti e si sono poi affermati come sviluppatori Visual Basic, realizzando il sogno di Bill Gates che ha sempre visto nel BASIC qualcosa di pi del semplice giocattolino per principianti (lacronimo sta infatti per Beginners All-purpose Symbolic Instruction Code) che di fatto una sorta di sillogismo che nel tempo diventato un ossimoro; sempre pi professionisti e aziende, infatti, hanno adottato Visual Basic come piattaforma professionale per realizzare applicazioni di tutti i generi, anche se prevalentemente gestionali, in contraddizione con la parola beginners (dilettanti) contenuta nel nome. Usare questi tre ambienti era diventata praticamente una scelta obbligata. Anni di esperienza, di dure battaglie contro la propria ignoranza, contro i bug e contro i clien12

Professione informatico

vano chiesto un COM che fosse pi semplice, ma al contempo pi potente, ed ecco .NET Runtime. Per non dimenticare un ADO che fosse tutto ci che ADO non era riuscito a mantenere, ma che aveva promesso di fare e che, tutto sommato, era sulla buona strada per mantenere, ed ecco ADO.NET. E un COM+ migliore? Beh, per questo dovrete continuare ad aspettare ancora a lungo

La dura realt si
dimostrata essere che Visual Basic non esiste pi
Semplice, vero? Un sogno che si realizza E invece non proprio: i prodotti di cui sopra sono effettivamente usciti e hanno mantenuto le loro promesse, almeno buona parte di esse, ma nessuno, dopo un primo sguardo, pu credere davvero che sia sufficiente aggiungere il postfisso .NET ai prodotti precedenti per renderli simili, ma pi potenti. La dura realt si dimostrata essere che Visual Basic non esiste pi e Visual Basic .NET, pur essendo quello che promette di essere, cio un ambiente OOP puro e alla pari con gli altri linguaggi della piattaforma, centra poco o nulla con il vecchio caro VB se non per scimmiottarne la sintassi. Qualcuno dir il re morto, viva il re, ma resta il fatto che per un programmatore Delphi, C++ o Java imparare Visual Basic .NET e tutto il resto del .NET Framework certamente pi semplice che per uno sviluppatore Visual Basic 6. Per non parlare di ADO.NET che bello, bellissimo, con qualche peccato di giovent e con qualche titubanza progettuale, ma sicuramente straordinario. Cos straordinario che non centra nulla con ADO, al punto da non ricordarlo nemmeno un po, alla faccia del riuso delle conoscenze. ASP.NET potente, sicuramente il framework per web application pi potente di quelli in circolazione, almeno tra quelli dei produttori istituzionali, ma provate ad insegnarlo contemporaneamente ad uno sviluppatore ASP 3.0, ad uno sviluppatore COBOL/CICS e ad uno sviluppatore JSP: stranamente noterete che richiesto grosso modo lo stesso tempo di apprendimento dai primi due e qualcosina di meno dal terzo. C# un prodotto straordinario, probabilmente lunico in grado di soppiantare il Pascal come linguaggio da insegnare nelle scuole e nelle universit, ma nuovo e quindi non ci si pu aspettare nessun riciclo di conoscenza. Potrei andare avanti cos anche per gli altri prodotti, ma ormai il concetto credo che sia passato: si tratta di tecnologie nuove, potenti e straordinarie, ma che nulla centrano con quella precedente dello stesso produttore.

tunit di fare il grande salto verso il nemico: ebbene siete fortunati perch il momento giusto per farlo, se le ragioni che in passato vi hanno portato a considerare questo gesto sono tali effettivamente da giustificarlo. Se siete sviluppatori Java, in .NET troverete quello che avete sempre desiderato in Java, ma che avreste ottenuto solo nella versione 2 o 3, perch come se andaste in una casa fatta da un architetto che si ispirato alla vostra casa e ne ha limitato i difetti ed enfatizzato i pregi. Se siete uno sviluppatore Delphi, mamma Borland ha gi deciso per voi: Delphi 8 solo per .NET. Certo resta il problema di decidere se, una volta obbligati a passare a .NET, non valga la pena di farlo direttamente con C# anzich con Delphi, ma questa una faccenda complicata e che non ha ununica risposta. Se siete uno sviluppatore C++, che in ambiente Windows significa necessariamente Visual C++, allora per voi tutto pi facile: passate a .NET (C#, non C++ .NET), ma continuate a usare C++ in versione nativa per tutte le cose a bassissimo livello che non possibile fare in .NET. E se siete uno sviluppatore Visual Basic 6 o ASP 3.0? Accidenti, questo un problema. Certo non potete pensare di continuare per sempre a sviluppare con questi tool, anche se vi sembra apparentemente possibile. E non che questi tecnicamente non ve lo permettano, ma riuscireste a rischiare e far rischiare i vostri clienti con software realizzati con tool che tra due anni Microsoft non supporter pi? E dunque dovete attraversare il guado presto o tardi. Prendetevela calma, ma fatelo. Ma non sar indolore. Lo sforzo sar lo stesso che fareste a passare alla tecnologia concorrente. E quindi perch non considerare tutte le possibilit? Perso il vantaggio del riciclo delle conoscenze, a quel punto vale tutto.

Si tratta di tecnologie
nuove, potenti e straordinarie, ma che nulla centrano con quella precedente dello stesso produttore
Starete pensando che siete un po confusi perch non possibile che sia cos facile e appetibile passare a .NET per chi ha sempre sviluppato in Java o in Delphi e invece sia cos difficile passare a .NET per gli accoliti del linguaggio delle DIM. Io non ho una risposta e se anche lavessi sarebbe applicabile solo al mio caso individuale e non se ne potrebbe di certo fare una generalizzazione. Presto o tardi deciderete, se non lavete gi fatto, oppure qualcun altro decider per voi. E qualsiasi decisione prenderete sar probabilmente la pi giusta o la sentirete come tale perch quella del programmatore, pi di tutte le altre professioni, si presta allinsorgenza della sindrome di Stoccolma. Per cui non vi stupite se un giorno vi ritroverete a volgere lo sguardo e ad osservare la scatola di cartone del vostro nuovo tool di sviluppo e a sorriderle con rassegnata e al contempo autentica gioia, come un novello Winston Smith di orwelliana memoria 13

Conclusioni
Chi scrive ha vissuto la stessa tragedia: cio il passaggio alla nuova tecnologia. E vi assicuro che non stata una passeggiata di salute. Quasi invidio coloro che hanno sempre utilizzato tecnologie non Microsoft e adesso stanno valutando lopporComputer Programming n. 134 - Aprile 2004

Potrebbero piacerti anche