Sono intervenuto con un mio commento nel newsgroup microsoft.public.it.dotnet.vb, dove Daniele scrive così (messaggio di oggi 30 Agosto 2009, ore 02.06):
“Ciao a tutto il NG,
la mia esperienza (quella con VB) iniziò vari anni fa con VB6, poi ho programmato in .NET 2003, 2005, e 2008.
Tutto per passione, ho iniziato da autodidatta e in seguito approfondito i concetti più complessi con alcuni libri.
Adesso "scopro" (in realtà lo sapevo già) che a scuola inizieranno ad insegnarci il VB6.
E mi chiedo il motivo, visto che ormai è una tecnologia obsoleta, abbandonata da Microsoft e con potenzialità nettamente inferiori a quelle offerte dalla piattaforma .net.
Io dovrei cambiare mentalità e tornare agli On Error, alle chiamate API, agli oggetti poco oggetti, a molte brutture e a tutte le mancanze delle comodità di oggi? Va bene per chi lo usa da sempre per lavoro, ma per chi inizia da zero non mi sembra una scelta azzeccata.
Perché? Esiste un motivo valido nel preferire VB6 alle altre possibilità? Oppure è una scelta dettata dalla convenienza, non necessariamente economica?
Mi piacerebbe sentire l’opinione di qualcuno sicuramente più esperto
di me.
Ciao!”
La mia risposta è la seguente:
“Ciao Daniele.
I tuoi dubbi sull’opportunità di utilizzare VB6 come linguaggio didattico sono perfettamente legittimi, per vari motivi.
Tuttavia, sin dall’uscita di alcuni miei articoli, all’inizio del 2005, sul passaggio da VB6 a VB.NET (all’epoca c’era la versione 2005), ho avuto l’occasione di avere diversi scambi di e-mail anche piuttosto "infuocati" con alcuni insegnanti appassionati di VB6.
Questi insegnanti argomentavano che, dopo aver creato tanti programmi didattici in VB6, avrebbero dovuto convertire tutto alle nuove versioni per .NET, con la necessità di ristudiare completamente Visual Basic, visto che la programmazione a oggetti è cosa ben diversa da quella che avevano utilizzato fino a quel momento.
Non capivano la necessità di dover "ricominciare da capo" solo per la pretesa di Microsoft di imporre un nuovo linguaggio, chiudendo completamente i ponti con i programmatori VB6 che erano perfettamente soddisfatti del linguaggio che conoscevano a menadito.
Le discussioni di questo genere sono andate avanti un bel po’, ma non mi è stato possibile convincere questi insegnanti della validità della scelta di Microsoft nel proporre finalmente un linguaggio totalmente orientato agli oggetti.
Del resto, finché anch’io programmavo in VB6, inizialmente ho avuto anch’io qualche difficoltà nel passaggio da VB6 a VB 2005, sebbene io avessi anche già programmato in JAVA (linguaggio anche questo completamente a oggetti, già da tempo) all’università.
Il problema, quindi, è una prima resistenza iniziale relativa alla necessità di imparare una nuova "forma mentis", prima ancora di imparare il nuovo linguaggio.
Non posso quindi che considerare negativamente quegli insegnanti che si chiudono a riccio nel loro "storico" modo di insegnare, con strumenti obsoleti, e che non vogliono guardare un po’ più in là del proprio naso, per ottusità e/o per pigrizia.
Peraltro gli insegnanti fanno quel lavoro proprio perché hanno voluto dedicarsi alla formazione dei giovani e quindi la loro prima “mission" dovrebbe essere proprio quella di insegnare l’apertura mentale che è alla base dello studio e della ricerca scientifica.
Con l’ottusità e il "piccolo comodo orticello" non si va da nessuna parte.”
Con questo post voglio ribadire, alla luce di quasi 5 anni di programmazione con VB .NET (versioni 2005, 2008 e la versione preliminare del 2010) e di alcuni libri pubblicati, che la mia scelta nel passaggio da VB6 a .NET è stata più che azzeccata. Sono un programmatore soddisfatto di VB.NET, perché con VB.NET faccio più cose di quanto riuscivo a fare con VB6.
E’ vero: ho dovuto studiare molto e sperimentare ancora di più. Però ora riesco ad evitare l’utilizzo di tutte quelle API e di quei “trucchetti”, senza i quali con VB6 non si riesce a fare quello che con VB.NET si riesce a fare con una riga o poche righe di codice.
Inoltre si inizia a vedere un effetto anche sul mercato del lavoro e sul mercato delle applicazioni: sempre più aziende cercano programmatori o analisti con conoscenze di VB.NET o di C# e sempre più aziende propongono le versioni delle loro applicazioni in .NET.
La tecnologia .NET è ormai matura, ma qualcuno non se n’è ancora accorto…