Luca Annunziata
mercoledì 25 novembre 2009

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

PI: Com'è lavorare sugli strumenti che altri useranno per lavorare? Sviluppare un IDE è un po' come realizzare dei mattoni che verranno costruiti per costruire una casa: occorre tentare di prevedere tutte le esigenze che gli sviluppatori avranno nel loro lavoro?
BH: Credo che il mio sia il lavoro più facile che uno sviluppatore possa affrontare: costruisco gli strumenti che a mia volta utilizzerò per lavorare. Il mio primo lavoro è stato per un'azienda che sviluppava applicazioni per l'email, molto tempo prima che Internet diventasse di uso comune: la posta elettronica era uno strumento ad uso interno per contabili e avvocati, ma non essendo mai stato io un contabile o un avvocato non avevo idea di quali fossero le loro esigenze. Il bello di sviluppare strumenti per sviluppatori è proprio questo: sono uno sviluppatore anch'io! So di cosa ho bisogno, so se qualcosa è fatto bene o è fatto male: mi piace molto fare questo lavoro.

PI: È mai capitato di rilasciare qualcosa che fosse "fatto male"?
BH: Certo, capita a tutti.

PI: E cosa è successo?
BH: Ho cercato di sistemarla prima che ho potuto. (sorride)
PI: Prendiamo il caso di un'interfaccia: come si fa a decidere quale sia quella giusta per un IDE? Nel corso degli anni stanno anche cambiando le dimensioni dei monitor in uso negli uffici.
BH: Può sembrare banale, ma non c'è niente di più importante che ascoltare i propri utenti. In particolare bisogna ascoltare due cose: quali siano i loro problemi, e quali siano i loro suggerimenti per superarli.

PI: E cos'è più importante tra le due?
BH: Bisogna porre molta attenzione: ascoltare i suggerimenti non aiuta a trovare nuove strade per risolvere i problemi. Il nostro compito, invece, è ascoltare i problemi e fare un passo indietro: cercare di rivedere l'intero processo che ha condotto a quell'impasse per tentare di risolvere il problema alla radice.

PI: È un processo simile a quello di un prodotto come Office?
BH: Nel caso di Office, il problema era che c'erano molte feature e le persone ne utilizzavano un piccolo sottoinsieme: l'interfaccia Ribbon (quella di Office 2007, ndr) aiuta a semplificare il meccanismo di selezione. Visual Studio ha un problema simile, ma anche differente: offre un range di funzionalità anche superiore a Office, ma nel nostro caso gli utenti usano una grossa fetta degli strumenti a loro disposizione. Per questo abbiamo un team che si occupa specificamente del problema: prendono in esame ogni tipo di soluzione, dal 3D a rappresentazioni grafiche del progetto in via di sviluppo.

PI: Scoperto qualcosa di utile?
BH: In effetti è interessante, ci hanno spiegato che la maggior parte delle persone ha una memoria che funziona in modo particolare: se gli mostri una foto, dopo qualche minuto non sono in grado di ricordare in tutto e per tutto cosa vi fosse mostrato. Ma se gli chiedi di alcuni dettagli, magari dov'era un particolare oggetto, allora sono in grado di recuperare quella informazione in un batter d'occhio. È partendo da questo tipo di riflessione che ci muoviamo: adottiamo una strategia fatta di tanti piccoli ma significativi "passetti", che ci permettono di gestire e superare questo tipo di problemi complessi.

PI: Un commento di Brian Harry su Visual Studio 2010. A proposito, quando esce?
BH: La data ufficiale di rilascio è il 22 di marzo. Ci sono molte novità in questa release, alcune come IntelliTrace (un nuovo meccanismo per il debugging, ndr) stanno ricevendo commenti entusiasti: ma ci sono altre feature interessanti, per esempio è la prima versione di Visual Studio a includere strumenti specifici per SharePoint. Chiaramente ciascun sviluppatore avrà motivazioni diverse che lo spingeranno ad upgradare: la cloud potrebbe essere una di queste. Sarà una bella sfida convincerli, speriamo bene.

a cura di Luca Annunziata
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)