Roma - Brian Harry, product manager del team che sviluppa Foundation Server per Visual Studio di Microsoft, ce lo
presentano come un guru per l'ambiente dotNET. In Italia per una conferenza con gli sviluppatori del Belpaese, ha accettato di fare quattro chiacchiere con
Punto Informatico: ne è venuta fuori una discussione sulla vita del programmatore e cosa c'è all'orizzonte per chi fa questo lavoro. Il tutto alla vigilia del rilascio della nuova versione di uno degli IDE più utilizzati in ambiente Windows.
Punto Informatico: Da qualche settimana è disponibile la beta 2 di Visual Studio 2010. Secondo alcuni addetti ai lavori, l'evoluzione di questa versione ricorda vagamente quello che era accaduto agli esordi dell'IDE Microsoft, all'epoca di Visual Basic: non c'è il rischio che la distanza tra il codice vero e il livello a cui si programma si ampli troppo?Brian Harry: Il lavoro degli sviluppatori si va facendo sempre più sofisticato, le applicazioni diventano sempre più complesse sul piano delle feature e del tipo di dati che devono trattare: video, animazioni e così via. In qualche modo bisogna tentare di aumentare l'astrazione a cui lavorano i programmatori, altrimenti gestire questo tipo di applicazioni rischierebbe di diventare impossibile.
PI: Ad esempio?BH: Dalle versioni 2000 in avanti, Visual Studio ha sempre offerto diversi livelli di astrazione. Un esempio buono per spiegarsi può essere Silverlight e le applicazioni abbinate: posso decidere di lavorare sulle animazioni, sulle trasparenze e le transizioni senza toccare il codice, oppure posso andare direttamente sul codice stesso per ottimizzare le singole parti. Tutto dipende dal tipo di lavoro che si intende fare. È una questione di essere produttivi ad alto livello mantenendo il controllo a basso livello, evitando che si creino due mondi distinti e scollegati.
PI: Il concetto di ottimizzazione è senz'altro fondamentale: in che modo l'ambiente di sviluppo può aiutare in questo senso? C'è senz'altro una differenza netta tra le prestazioni necessarie per una piccola applicazione o un piccolo sito, e quanto occorra fare per un progetto di grandi dimensioni.BH: Certo, creare un'applicazione che vada bene per milioni di utenti è molto differente rispetto a crearne una per poche decine. Ci vogliono conoscenze e competenze differenti, creare un'applicazione scalabile e funzionale non è certo un risultato ottenibile partendo unicamente da un template. Per questo abbiamo dei percorsi specifici pensati per creare questo tipo di applicazioni.
PI: Quali sono i fattori da tenere in conto?BH: Bisogna tenere in conto fattori diversi, non scontati, come ad esempio il caching. Bisogna avere uno sguardo di insieme sull'architettura, per gestirla in modo efficiente. Il programmatore medio spesso non ha bisogno di comprendere queste problematiche fino in fondo, e con gli strumenti che ha difficilmente può riuscirci: in questo senso c'è un punto di rottura oltre il quale gli strumenti standard non bastano per produrre un'applicazione realmente scalabile. Noi però lavoriamo anche per creare gli strumenti che siano in grado di renderlo possibile, anche se per arrivarci occorre un impegno ulteriore da parte dello sviluppatore.
PI: Tra le novità di Visual Studio 2010 ci sono degli strumenti di testing automatici: possono essere un aiuto per ottimizzare ad alto livello?BH: In quel caso non è questione di ottimizzazione, sono strumenti pensati per garantire la correttezza sintattica del codice. Abbiamo comunque anche dei test di carico che accoppiati a questi nuovi strumenti possono aiutare a simulare il traffico di migliaia di utenti e individuare rapidamente eventuali problemi. Mettendoli assieme si riesce a comprendere facilmente quale sia il comportamento del sistema "sotto sforzo" e come reagisca l'applicazione.