Luca Annunziata

Programmare il programmatore

Faccia a faccia con uno dei papà di Visual Studio. Che racconta il percorso che conduce da una release alla successiva. E spiega che nella vita è più facile immaginare cosa desideri uno sviluppatore piuttosto che un avvocato

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.
Notizie collegate
  • TecnologiaIl microkernel più sicuro del mondoRicercatori australiani sostengono di aver realizzato un progresso senza precedenti nel settore dei sistemi operativi: un kernel privo di bug. Lo hanno testato matematicamente
  • TecnologiaGoogle, la programmazione è GoMountain View rende pubblici i suoi esperimenti con un nuovo linguaggio di programmazione, lodandone le qualità velocistiche e chiamando a raccolta sviluppatori esterni per far maturare la piattaforma. Tutto con licenza BSD
292 Commenti alla Notizia Programmare il programmatore
Ordina
  • come posso fare una tabella senza uscire dallo scermo.
    non+autenticato
  • Non voglio entrare nel merito del miglior linguaggio di programmazione, ma solo che questo articolo di intervista non ha niente, è una pubblicità con domande e risposte made in M$, quindi non prendetici in giro con la storia dell'intervista.

    Punto informatico=servo M$
    non+autenticato
  • Non conosco molto Visual Studio, ma vorrei fare una domanda: permette di riutilizzare i codici scritti per versioni precedenti, o ad ogni versione ci sono così tanti cambiamenti che praticamente devi riscrivere tutto? (Avevo sentito che da VB a VB.NET ad esempio ci sono stati cambiamenti drastici, con il risultato che molto vecchio codice non si può più usare)
    non+autenticato
  • Non so chi ti abbia detto questa cosa, ma sicuramente non aveva rispettato alcune cose "basilare" per sviluppare del buon codice.

    Ad ogni modo, una delle cose carine di .NET è che ogni sviluppo non intacca il precedente ma in realtà lo "amplia" continuamente. immaginati una serie di cerchi concentrici, quello più interno la priva ver. del framework e poi via via gli altri cerchi...

    Ora in VB.NET per le prime versioni mi pare ci fosse qualche indicazione di cosa NON fare ma non ricordo... usando C# mai avuto problemi!
    non+autenticato
  • Il caso che espneva lui era tra VB (immagino VB 6.0) e VB.NET e non tra le varie versioni di .NET (che sarebbe il colmo).
    non+autenticato
  • Infatti, la domanda era quella
    non+autenticato
  • Ok...ma allroa cosa centra? perchè sono entrambi di microsoft? è come chiedere se turbo pascal funziona ancora su Delphi... la sintassi è simile ma la realtà è completamente differente.

    Comunque non parlerei tanto di colmi, visto che un analista mio amico (che lavora per il governo, non per la pizza e fichi spa) mi ha detto di avere avuto con Java qualche problema di questo tipo proprio ultimamente... scusate, ma di più non ne soA bocca aperta
    non+autenticato
  • - Scritto da: zuzzurro
    > Ok...ma allroa cosa centra? perchè sono entrambi
    > di microsoft? è come chiedere se turbo pascal
    > funziona ancora su Delphi... la sintassi è simile
    > ma la realtà è completamente differente.

    Allora non dovevano sbandierare il fatto che il passaggio da VB 6.0 a .NET non era un problema grazie al loro "straordinario" tools di conversione. Motivo per cui la gran parte di programmatori VB è rimasata per lungo tempo ancorata al VB 6.0.

    > Comunque non parlerei tanto di colmi, visto che
    > un analista mio amico (che lavora per il governo,
    > non per la pizza e fichi spa) mi ha detto di
    > avere avuto con Java qualche problema di questo
    > tipo proprio ultimamente... scusate, ma di più
    > non ne soA bocca aperta

    Vedi ti sfugge un piccolo, ma importantissimo particolare, il problema non è dovuto al fatto che non ci debbano MAI essere problemi tra una versione e l'altra di un linguaggio. Il problema è sbandierare ai quattro venti che non ce ne sono quando non è assolutamente vero.
    non+autenticato
  • Chiunque con un minimo di cervello si sarebbe istantaneamente accorto che i due linguaggi di per se non centrano NULLA, salvo qualche piccola "coesione" tra i modi di scrivere le istruzioni (sai che roba) e termianre le righe...

    Vorrei capire:
    1) Quale tool di conversione da VB6 a VB.NET?
    2) Non mi risulta che Microsoft abbia dichiarato che "portare un programam da VB6 a VB.NET" fosse una passeggiata, quanto magari "per un programmatore VB6 sarà facile programmare in VB.NET" che sono due cose differenti.

    A parte tutto: chi se ne frega?A bocca aperta .NET è per il C#, il resto è solo un contorno di "comodità" per chi, probabilmente, è un programmatore con la "P" minuscola e non ha voglia di sbattersi per imparare un "nuovo" linguaggio...
    non+autenticato
  • > A parte tutto: chi se ne frega?A bocca aperta .NET è per il
    > C#, il resto è solo un contorno di "comodità" per
    > chi, probabilmente, è un programmatore con la "P"
    > minuscola e non ha voglia di sbattersi per
    > imparare un "nuovo"
    > linguaggio...

    ehm, ci starei attento a certe affermazioni: VB.NET e C# sono sostanzialmente equipollenti salvo un minuscolo insieme di istruzioni che possiede l' uno ma non l' altro e viceversa. Questo è evidente a chiunque conosca entrambi... l' unica vera differenza è la sintassi ovviamente ed io continuo a preferire quella di VB.NET essenzialmente perchè trovo inutilmente ridondante il fatto di dover chiudere un' istruzione con il ; o l' utilizzo delle parentesi graffe... ma credo che questo faccia parte del gusto personale di ognuno e nulla abbia a che vedere con il maiuscolo o minuscolo della 'p' di 'programmatore'. Ovviamente per un programmatore che tu definiresti avere la 'p' maiuscola tutto ciò dovrebbe essere lapalissiano...
  • Scusa, forse mi sono espresso male: programmatore con la p minuscola è colui che usa VB.NET perchè prima usava VB6 e perchè non ha nessun interesse a passare a C# per pura ottusità mentale. Va bene così o continui a soffrire di sindrome da sentimenti offesi per la mia affermazione di prima?

    per quanto riguarda la flammatina:

    >Ovviamente per un programmatore che tu definiresti avere la 'p' maiuscola tutto ciò dovrebbe essere lapalissiano...

    Che dire... boh!A bocca aperta
    non+autenticato
  • - Scritto da: zuzzurro
    > Chiunque con un minimo di cervello si sarebbe
    > istantaneamente accorto che i due linguaggi di
    > per se non centrano NULLA, salvo qualche piccola
    > "coesione" tra i modi di scrivere le istruzioni
    > (sai che roba) e termianre le righe...

    Infatti, io mene sono accorto subito, M$ a quanto pare no. A bocca aperta
    Parlo delle prime versioni di .NET ovviamente.

    > Vorrei capire:
    > 1) Quale tool di conversione da VB6 a VB.NET?

    Ma se utilizzi .NET dovresti saperlo. Era nelle prime versioni uscite di VS. Poi mi sa che l'hanno tolto perchè faceva pena e loro una gra figura di palta. Io poi ho lasciato perdere mi sono dedicato ad altro.

    > 2) Non mi risulta che Microsoft abbia dichiarato
    > che "portare un programam da VB6 a VB.NET" fosse
    > una passeggiata, quanto magari "per un
    > programmatore VB6 sarà facile programmare in
    > VB.NET" che sono due cose differenti.

    Che a te non risulta è irrelevante. Era cosi all'inizio. Poi vista la figura di m...a molto probabilmente l'hanno tolto. Punto. Però si vede che all'epoca stavi ancora giocando con le macchinine in salotto.

    > A parte tutto: chi se ne frega?A bocca aperta .NET è per il
    > C#, il resto è solo un contorno di "comodità" per
    > chi, probabilmente, è un programmatore con la "P"
    > minuscola e non ha voglia di sbattersi per
    > imparare un "nuovo" linguaggio...

    Con questa dichiarazione si può evincere che tu di sicuro non hai neanche la p. Dai torna a giocare con il notepad va...
    non+autenticato
  • mi fai tanto ridere... ovviamente è importante che le cose siano rilevanti a teA bocca aperta

    Va bene, hai ragione tu, non c'è nessun problema.

    Saluti!
    non+autenticato
  • Ci sono due categorie di programmatori.
    Quelli a cui VS fa schifo, e quelli che non sono programmatori.

    Per programmare, il mouse non e' necessario!
  • Real men don't use icons ... disse un tizio che non ha fatto molta strada...
    non+autenticato
  • Mha...

    una volta si usava fare dei buchi su un pezzo di carta e ci facevano programmi in manciate di byte

    ...non capisco questa mania di superiorità, come se programmare dipendesse dal mezzo che uno usa.

    Un programma è una sequenza di istruzioni da dare in pasto ad uno "stupido" processore e questo indipendentemente da cosa utilizzo per impartire queste istruzioni: perforatore, tastiera, mouse, pensiero.
    non+autenticato
  • - Scritto da: Ittiointerp rete
    > Mha...
    >
    > una volta si usava fare dei buchi su un pezzo di
    > carta e ci facevano programmi in manciate di
    > byte
    >
    > ...non capisco questa mania di superiorità, come
    > se programmare dipendesse dal mezzo che uno
    > usa.
    >
    > Un programma è una sequenza di istruzioni da dare
    > in pasto ad uno "stupido" processore e questo
    > indipendentemente da cosa utilizzo per impartire
    > queste istruzioni: perforatore, tastiera, mouse,
    > pensiero.

    Vero. Ho pure scritto firmware per eprom, io, andando a settare i bit uno a uno e inviando segnali al chip tramite piste sul circuito stampato.

    Io questo lo so fare.
    Un programmatore questo lo dovrebbe saper fare.
    Un programmatore e' tale sia con la tastiera, sia con il perforatore, sia col mouse... se lo sai fare solo col mouse, non sei programmatore.
  • > Vero. Ho pure scritto firmware per eprom, io,
    > andando a settare i bit uno a uno e inviando
    > segnali al chip tramite piste sul circuito
    > stampato.
    >
    > Io questo lo so fare.
    > Un programmatore questo lo dovrebbe saper fare.
    > Un programmatore e' tale sia con la tastiera, sia
    > con il perforatore, sia col mouse... se lo sai
    > fare solo col mouse, non sei
    > programmatore.
    QUOTO!
    non+autenticato
  • ma che dici. Fai discorsi anacronistici. Un bravo programmatore non si distingue dal fatto che sappia usare le schede perforate o disegnarsi il circuito stampato. Oggi le priorità sono altre. Agli inizi anche io calcolavo lo spazio occupato dalle strutture dati e dalle variabili, oggi non si fa più tranne in rarissimi casi perchè non ce n'è più l'esigenza vista la potenza dei calcolatori. Se un programmatore non sa come funziona a basso livello un oggetto messo sulla finestra non è un problema, il problema nasce quando quel programmatore butta alla rinfusa oggetti su schermo senza una logica. Non per caso il termine più adatto per un programmatore oggi è "code architect".
    non+autenticato
  • Prova ad avere a che fare con una batteria di webservices senza ambiente di sviluppo.
    Puoi farlo sicuramente impiegandoci 2 giorni quando in mezz'ora riesco già a definire l'ossatura della mia applicazione.
    Potrai essere anche un bravissimo programmatore ma le automazioni che ti fornisce un ambiente di sviluppo semplicemente non le rimpiazzi facendo le cose a manella.
    Ovviamente, condicio sine qua non, è che l'ambiente di sviluppo devi saperlo usare.
    non+autenticato
  • - Scritto da: ma piantala
    > Prova ad avere a che fare con una batteria di
    > webservices senza ambiente di
    > sviluppo.

    Non confondere l'applicazionicina web based con il web server stesso.
    Il programmatore scrive Apache.
    Tu scrivi roba che gira su Apache.

    > Puoi farlo sicuramente impiegandoci 2 giorni
    > quando in mezz'ora riesco già a definire
    > l'ossatura della mia applicazione.

    L'ossatura e' l'ossatura... i casi particolari da gestire non sono ossatura.

    > Potrai essere anche un bravissimo programmatore
    > ma le automazioni che ti fornisce un ambiente di
    > sviluppo semplicemente non le rimpiazzi facendo
    > le cose a manella.

    Invece tu pensi di rimpiazzarle utilizzando pappa pronta che non hai scritto tu e che non sai neanche quello che fa?

    > Ovviamente, condicio sine qua non, è che
    > l'ambiente di sviluppo devi saperlo
    > usare.

    E ulteriore condizione, che si sappia programmare.
    E' troppo pieno di gente che clicca e per questo crede di essere programmatore.
  • > Invece tu pensi di rimpiazzarle utilizzando pappa
    > pronta che non hai scritto tu e che non sai
    > neanche quello che
    > fa?

    Esattamente come fanno tutti quelli che scaricano i framework open source e usano i wizard/plugin di Eclipse


    > E ulteriore condizione, che si sappia programmare.
    > E' troppo pieno di gente che clicca e per questo
    > crede di essere
    > programmatore.

    Più che tutto è colpa del fatto che si fanno solo applicazioni web e assistenza sistemistica....
    non+autenticato
  • Dalle tue risposte ho capito che non hai mavuto a che fare con un webservices.
    Altro che applicazioncina.
    Ti ci vorrebbe una sorsata di umiltà e meno spocchia, altroché, programmatore dei miei stivali.
    non+autenticato
  • e poi il programmatore scrive apache... ma aggratissè altrimenti è deprecabile come quelli che scrivono IIS per microsoft....

    il vero programmatore lavora in C/C++ e Assembler, ma sopratutto lavora ad elemosina (donazioni) o direttamente aggratissè
    non+autenticato
CONTINUA A LEGGERE I COMMENTI
1 | 2 | 3 | 4 | Successiva
(pagina 1/4 - 16 discussioni)