Newsgroup: it.comp.lang.visual-basic
Titolo: A grande richiesta: cosa è VB.Net

 che però non sarà simile come linguaggio.
In sostanza devi distinguere due cose: .Net e VB (nota dove è il punto).
A partire da Visual Studio 6 l'intero gruppo dei developer Microsoft
destinati ai linguaggi (dopo alcuni prestiti al team di Windows 2000 per
uscire per tempo) si è dedicato a rifare completamente l'architettura di
sviluppo Microsoft, partendo dal presupposto che il marasma di DLL,
registrazioni, GUID, COM, Registry e così via che contraddistingue tuttora
un programma Microsoft ne rende la manutenzione impossibile. Questa
problematica era percepita da Microsoft come molto critica e particolarmente
pericolosa nei confronti di Java (in cui, in teoria, prendi le tue classi,
le copi sul Web Server e tutto funziona). Come secondo punto l'architettura
iniziava ad avere dei problemi nei confronti del mondo Web, nel senso che
più o meno tutte le cose che facevano applicazioni "web" (ASP, le WebClass
in VB) erano accrocchi più o meno stabili.
Quindi in MS hanno preso ed hanno stravolto tutto, cambiando completamente
l'architettura e creando .Net. Dalla dirigenza Microsoft questo cambiamento
è stato percepito come un cambiamento di rotta ancora più forte di quello
che fu fatto all'epoca del reindirizzamento di tutta la ditta sul versante
Internet ed è parere di tutti che su questa decisione (e la sua accetazione
da parte del mondo) si vedrà se Microsoft esisterà ancora nel prossimo
decennio (nota: in Microsoft "esistere" è sostanzialmente sinonimo di
"dominare", quindi leggete bene tra le righe).
.Net ha una serie di caratteristiche innovative, la più gende delle quali è
che esiste un "Common Language Runtime" che, grossomodo, equivale alla
Virtual Machine di Java con la grande differenza che però fornisce i servizi
a qualunque linguaggio che decida di essere compliant con .Net ed il CLR.
Tutto .Net è basato sul CLR e solo capendo appieno i servizi e le capacità
di questa infrastruttura si capisce il resto.
E' adattarsi al CLR ed a tutte le sue novità che porterà via tempo più che
imparare nuovi linguaggi o fare il porting del codice esistente, dato che
(proprio a livello di filosofia) le cose sono veramente diverse tra CLR e
(ad esempio) COM. Molti dei modelli concettuali a cui eravamo abituati
spariranno, per dirne una la Garbage Collection non deve più essere fatta "a
mano" ma viene fatta in automatico dal CLR, quindi non è più necessario
deallocare memoria o puntatori (in C) o settare le classi a Nothing /(in
VB). Bella comodità, se non fosse che magari qualcuno affidandosi alla
class_terminate di VB chiude le connessioni al DB, questa filosofia con il
CLR non funziona più dato che la class_terminate non viene chiamata in un
momento preciso ma quando il CLR fa la garbage collection e quindi si
rischia di lasciare delle connessioni appese per un tempo indefinito.
Appoggiati sopra .Net ci sono svariati linguaggi fatti da Microsoft, C#, C++
e VB e ce ne saranno altri di altri produttori (si vocifera che Corel farà
un Java.Net, c'è un Cobol.Net fatto da Fujitsu), ognuno con le sue
caratteristiche semantiche.
In se VB non è "così" nuovo, però in questa sventagliata di "scurdammuce u
passato" (mi scuso per i napoletani ma non lo so scrivere) che hanno
applicato in Microsoft hanno finalmente deciso di prendere VB e togliere
tutte quelle cose che lo rendevano un linguaggio "di seconda categoria" e
che, pur rendendolo facile e comodo, lo rendevano poi difficile per farci
cose serie (nel senso che per programmare in modo "safe" con VB necessita
una grande disciplina che invece non serve in C++, per dirne una il typecast
automatico rende la vita semplice ma tutti i veri programmatori VB sanno
quanti casini possa causare). Nella Beta1 le cose erano state veramente
drastiche, per la Beta2 sull'onda di una specie di "sollevazione popolare"
sono state reintrodotte alcune delle cose tolte.
Quindi anche se magari VB eredita da VB se uniamo le sue novità con quelle
del CLR troviamo che un programma fatto in VB.Net ha una faccia radicalmente
diversa da quella di un programma VB6 e da qui la convinzione (mia e di
altri) che convenga fare il porting a C# (che, anche se MS sostiene il
contrario, rimane il linguaggio primario di .Net) visto che i costi
sarebbero equivalenti e che C# (si legge C Sharp) è (almeno secondo me) un
bellissimo linguaggio, più produttivo di VB e Java e quindi, alla lunga,
conviene.
Quindi se volete capire e conosce VB.Net per prima cosa cercate di capire
cosa sia .Net, e solo POI preoccupatevi di VB. Almeno questa è la mia idea.
Saluti
Massimo



Complimenti, finalmente qualcuno inizia a parlarne...
Corrado

cosa sia .Net, e solo POI preoccupatevi di VB. Almeno questa è la mia idea.
d' accordissimo :-)
ciao, hal