Newsgroup: it.lavoro.informatica
Titolo: Visual Basic e Visual C#

Da esattamente 12 anni sono uno sviluppatore (tra le altre cose ad. es. 
web) di Visual Basic. Quello che attraeva del Visual Basic era senza 
dubbio la IDE molto indovinata. Il Visual C/C++ di allora non poteva 
competere nemmeno lontanamente, (nonostante l'attributo 'Visual') per 
quanto riguarda l'immediatezza di creativitá. Basta ricordarsi la 
difficoltá di cambiare  il colore di background di un Form in Visual C/C++.
L'anno scorso, forte del fatto che ormai anche il Visual Basic era
'cresciuto', adottando tutte le classi .NET, che lo mettevano (pensavo) 
allo stesso livello di C#, C/C++, Java, nel Visual Studio, ho continuato 
ad usarlo.
Ma ora mi rendo conto che nonostante la pubblicità, *qualcosa* di 
diverso esiste, ANCHE NELLE CLASSI che hanno lo stesso nome.
Anche se hanno lo stesso nome, sono diverse. Si comportano diversamente.
Sono poche cose ma in alcuni casi determinanti. Come il metodo 
Print.Document ed altre amenità.
Quindi ho deciso di passare definitivamente a C# ed abbandonare VB al 
suo destino. O di usarlo solo a scopi 'didattici'. Infatti, l'ho trovato 
un ottimo modo per passare da Visual Basic a C# in modo 'indolore',
quasi trasparente.
Infatti, il vero 'salto di qualitá' é stato il passare da Visual Basic 6 
a Visual Basic .NET. Quello sì che era come cambiare pianeta.
Ma passare dal VB. NET a C# è uno scherzo. Quindi per motivi didattici 
consiglio senzaltro il passaggio Visual Basic 6 --> 
VB.NET
 --> Visual C#.
Detto questo, ora finirò di fare alcuni test e se i miei sospetti sono 
veri, come qualche indizio giá mi ha confermato, adotterò
senzaltro Visual C# per prodotti che devono essere venduti sul mercato 
Windows XP/Vista.
Per altre cose private (in ambiente Windows) ho scoperto il wxDEV C++ 
che ho installato e mi sembra ottimo.
Vabbé, questo è quanto. Magari se qualcuno ha dei commenti, secondo le 
sue esperienze, ne sarei molto felice.

 consiglio senzaltro il passaggio Visual Basic 6 --> 
VB.NET
 --> Visual C#.
Appoggio in pieno , io ho fatto il salto Vc++ ->C# ai tempi dell'1.0
non me ne sono mai pentito anzi :-).
Anzi quando entra qualche lavoro in VB6 è una sofferenza farlo nel 2010.
-- 
Cordiali saluti
Davide
Consulenza Informatica
 a Monza e Brianza 
www.cleosolutions.com
Siti amici
Consulenza fiscale? 
http://tiny.cc/8UbTn

 a Visual Basic .NET. Quello sì che era come cambiare pianeta.
il 
vb.net
 e' stata una specie di mossa commerciale per invogliare i 
numerosissimi programmatori vb a passare a .net! :-D
Imho per me il grosso trauma che accade quando si passa da vb6 a c# e' 
che si passa da un linguaggio non a oggetti(per me vb6 non e' a oggetti 
delphi si lo era ma vb6 no! :-D ) a uno totalmente a oggetti, l'unico 
vantaggio per 
vb.net
 e che non devi reimpararti la sintassi(peraltro 
odiosa!).
Cya

 diverso esiste, ANCHE NELLE CLASSI che hanno lo stesso nome.
VB.NET
 e C# sono solo due sintassi diverse sopra IL e .NET.
Nel 99% dei casi puoi fare la stessa cosa con entrambi e quindi
l'unico motivo per preferire uno all' altro e' la preferenza personale
per lo stile e la sintassi, ovvero la provenienza da un "mondo C" o da
un "mondo VB". Un programmatore decente in ambiente .NET naturalmente
dovrebbe conoscere entrambi. E anche ovvio che 
VB.NET
 e' stato utile a
MS per "traghettare" gli ex-sviluppatori VB che non erano degli
irrimediabili sprovveduti al nuovo framework .NET.
Non c'e' molto altro da dire....

non è possibile che due classi del framework si comportino in maniera
diversa.
C#,Vb.net, managed C++, j#, e altri mille vengono compilati in un
linguaggio intermedio che si chiama msil e a quando acceddi alle classi
del framework i linguaggi usano gli stessi tipo del clr (i tipi del
linguaggio vengono mappati su quelli del common language runtime) quindi
alla fine al compilato non fa differenza che sia stato fatto con 
vb.net
rispetto a c#.
L'unica facilitazione introdotta dal 
vb.net
 2005 è il namespace my che
consente una semplificazione del codice, ma volendo se importi
l'assembly lo puoi usare anche da C#. (anche se per i puristi del C#
quello che ho scritto suonerà come una bestemmia.)
il C# 4.0 introduce invece delle caratteristiche che lo rendono simili
ai linguaggi dinamici quando hai a che fare con i tipi (var e dynamic)
che sinceramente non so se sono stati introdotti anche con 
vb.net
.
Io inoltre non credo che sia un percorso obbligatorio 
vb.net
 -> c#,
direi che si può imparare direttamente il c# e amen!

 direi che si può imparare direttamente il c# e amen!
Lo suggerivo senzaltro per quelli che provengono da VB e vogliono 
'giocare un po' per impararlo divertendosi.
Il percorso è un po' più facile e la salita non è così ripida.
Alla fine comunque si arriva sempre allo stesso target.


:-?
Creati due progetti libreria, uno in 
VB.NET
 e uno in C#.
Ci ficchi dentro una classina che usa le classi e i metodi del fx che te 
ritieni "sospetti", generi le 2 dll, ti scarichi il red gate reflector e ti 
apri le 2 dll. Fai un confronto tre i due codici nella forma che ti piace di 
più (via vb, c# o anche se vuoi il... :-)

 sospetto.
non credo proprio, non ho mai sentito colleghi lamentarsi di
document.print e alcuni usano 
vb.net
, inoltre c'è modo di vedere il
codice intermediate language, ci sono vari disassembler ma se la memoria
non mi inganna c'è pure un tools dato con il framework che si chiama
ildasm che fa quanto chiedi. (guarda vado davvero a memoria perché io
ormai mi sono specializzato su php/c++/java e lavoro con linux/solaris
il 90% del mio tempo)

 
Vedremo cosa viene fuori dai test. Poi saprò dire.
Prima devo resinstallarmi tutto il sistema, ora che ho allargatola boot 
partition. E poi  reinstallare tutti iprogrammi, tra cui Visual Studio.
Insomma. Ancora un po' di tempo e poi posso continuare i test.

michelangelo giacomelli schrieb:

Eppure il manuali Visual basic 2008 e il Visual C# 2008 della Microsoft 
Press me li sono letti tutti fino in fondo. Non mi sembra di aver 
tralasciato niente. E sì che questultimo ha 1264 pagine.
Sai menzionarmi un po' di letteratura che mi dia le informazioni di cui 
hai scritto ?

 
Cartaceo direi che il top è "Expert .NET 2.0 IL Assembler" di Serge
Lidin, edizioni Apress, è fermo a net 2.0 perché è del 2006 ma secondo
me è ancora valido per capire i meccanismi che stanno dietro i vari
linguaggi del net framework.

 diverso esiste, ANCHE NELLE CLASSI che hanno lo stesso nome.
E mi sa che ti sbagli, e manco di poco. Controlla prima di tutto di
aver linkato le stesse classi. E secondo esiste il reflector, le
compili e guardi il codice in 
vb.net
, c# o qualunque altro dialetto.
Da come lo dici, dovresti scrivere del codice 
vb.net
, compilarlo,
decompilarlo in c# ed il codice dovrebbe essere diverso. Mah...

 vb6! :-D
perchè non hai mai usato powerbuilder che sia a delphi che a vb che a 
winforms (morto) che a wcf gli spacca il culo ancora oggi!

 ovvero la provenienza da un "mondo C"
c# è praticamente una copia 1:1 di java, non di c

 c# è praticamente una copia 1:1 di java, non di c
certo certo , come no :-)
Anche la una ferrari F50 è una copia 1:1 della prima automobile 
costruita al mondo, ma tu potendo scegliere cosa guideresti?


 c# è praticamente una copia 1:1 di java, non di c
mi chiedo sempre su che base si stabiliscono queste uguaglianze. 
sicuramente sulla non-esperienza visto che di uguale c'è solo una parte 
della facciata (una manciata di keywords e un po' di semantica). passando 
da uno all'altro ti accorgeresti che si programma in modo molto diverso: 
su c# esistono gli event e ne fa largo uso il sistema, su java no, idem 
per quanto concerne i delegate e il concetto di disposable. ma potrei 
continuare con la ui grafica, il parser xml, l'accesso ai dati, 
l'overloading degli operatori e altro ancora.

 costruita al mondo, ma tu potendo scegliere cosa guideresti?
e la ferrari in questo contesto sarebbe?

 mi chiedo sempre su che base si stabiliscono queste uguaglianze.
sulla base che lo dice anche ms, quelli che l'hanno fatto.

 sulla base che lo dice anche ms, quelli che l'hanno fatto.
cioè la microsoft dice che hanno fatto un linguaggio uguale a java?

 e la ferrari in questo contesto sarebbe?
Quella che va solo sotto windows :-)......




già. nel 2000. forse te ancora non programmavi. ci sono email leakate 
interne del pm responsabile per lo sviluppo di .net in cui scriveva che 
java doveva morire e che so stavano copiando 1:1 aggiungendo qualche 
cazzata quà e là (altrimenti il plagio sarebbe ovvio).
se hai voglia cercatele, saranno sicuramente ancora in giro.

 certo certo , come no :-)
le differenze tra c# e java (il linguaggio) si contano su una mano.
quattro cazzate sulla sintassi, i delegate e qualche tipo di dato.

 cercatele, saranno sicuramente ancora in giro.
e per quale motivo dovrei io aver voglia di accreditare le scemenze che 
spari tu? 



mi hai fatto una domanda. sembravi interessato. se non lo eri potevi 
evitare di farmi perdere tempo a risponderti.
addio.

 evitare di farmi perdere tempo a risponderti. addio.
era una domanda retorica, certo che sarebbe stato meglio tu non avessi 
risposto...

 quattro cazzate sulla sintassi, i delegate e qualche tipo di dato.
Davvero? Ma poi ti è costato molto sto corso di programmazione al CEPU?

 risposto...
Don't feed the troll :-)
Comunque li ho usati entrambi e non è la prima volta che sento sti 
discorsi dal lato Java.....e il tempo per rispondergli è sempre di meno.


 discorsi dal lato Java.....e il tempo per rispondergli è sempre di meno.
anche dal lato c#. è meno frequente vedere gente proveniente da .net che 
passa (o prova a passare) a lavorare su java, ma quelle poche volte ho 
visto battere delle discrete musate quando non erano dei veri e propri 
rimbalzi. sai i discorsi si fa veloce a farli, ma per scrivere programmi 
conoscere la semantica comune è l'ultimo dei problemi. io ad esempio mi 
sono trovato molto meglio passando a scala invece che studiarmi il c#, 
semplicemente perché si basa sulla jvm anche se semanticamente è tutta 
un'altra cosa rispetto a java.