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: L'IDE si evolve a ogni aggiornamento, si arricchisce di nuove funzioni: c'è un limite alla complessità che possono raggiungere questo tipo di strumenti?
BH: No, direi di no. L'unico punto di rottura si verificherebbe se la tecnologia smettesse di evolversi, se non sorgessero nuovi tipi di paradigmi di programmazione, nuove tipologie di servizi, nuove categorie di utenti. Semmai il problema è che ci sono moltissimi strumenti diversi all'interno di Visual Studio, con finalità diverse: occorre trovare il modo di renderle disponibili coerentemente all'utente, e ci sono delle soluzioni specifiche come i Web Express Tools o quella per C++. Abbiamo cercato di ricreare quel tipo di esperienza mirata anche nella versione completa di Visual Studio, per consentire di sfruttare ambienti più "targettizzati" per un singolo tipo di applicazione in via di sviluppo.

PI: In effetti capita spesso, però, di lavorare con una versione dell'IDE e del runtime che non sia l'ultima disponibile. Magari non è necessario. Oppure si lavora con un sottoinsieme delle possibilità del runtime utilizzato. Verrebbe da citare di nuovo il caso di Visual Basic: la sua sparizione in qualche modo rappresenta una certa evoluzione delle esigenze degli sviluppatori e degli utenti?
BH: Interessante l'esempio di Visual Basic. Non abbiamo abbandonato Visual Basic perché pensavamo di averlo portato al suo sviluppo massimo, abbiamo pensato piuttosto che il percorso tecnologico di Visual Basic non era la visione giusta da portare avanti, che cioè fosse in grado di resistere altri 20 anni sulla piazza. Quindi è venuto dotNET, il runtime: un cambio notevole nel modo di intendere e costruire le applicazioni, ma un cambio necessario.

PI: Un cambio necessario?
BH: C'erano tante applicazioni lato client in Visual Basic, ma abbiamo percepito un graduale spostamento verso il concetto di web application. Abbiamo scelto una piattaforma che giudicavamo giusta per quel cambiamento. C'è un altro cambiamento interessante in atto, quello della cloud, che sarà affascinante capire come influenzerà i nostri strumenti: quello che facciamo oggi è costruire applicazioni tradizionali in grado di sfruttare la cloud, ma cosa succederà quando saranno gli strumenti stessi per creare le applicazioni a risiedere nella nuvola? Come si fa un debug nella cloud? Non so dire cosa succederà esattamente, ma credo che quello sarà il nuovo mondo da esplorare per lo sviluppo a lungo termine nei prossimi anni.
PI: Si parla molto di cloud computing, ci sono molte iniziative anche commerciali al riguardo, ma pare che nell'attuale comunicazione su Visual Studio ci si concentri maggiormente su Silverlight che su Azure.
BH: Molti annunci per Azure sono stati fatti al PDC (da Ray Ozzie, ndr), ed è passato solo un anno da quando è stato annunciato. Prima di passare alle applicazioni stiamo lavorando sulla piattaforma, e gli strumenti per Azure saranno comunque rilasciati al di fuori del normale ciclo di sviluppo proprio per accelerarne l'uscita.
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)