Newsgroup: it.comp.programmare
Titolo: [Help] Spero d'aver fatto la scelta giusta

Ciao a tutti,
su consiglio di conoscenti programmatori ho deciso di iscrivermi ad un
corso di C#.
I miei trascorsi in VBasic mi avrebbero fatto optare per iniziare a
muovere i primi passi nel mondo .NET con 
VB.NET
, pero' me l'hanno
sconsigliato praticamente tutti.
Mi hanno garantito che in C# avrei avuto molte piu' possibilita',
soprattutto in prospettiva, ed avrei potuto costruire applicazioni in
maniera molto piu' efficiente piuttosto che in 
VB.NET
.
Anche e soprattutto per 
ASP.NET
.
Oggi, dopo la prima giornata di corso, ho chiesto quali fossero le
reali differenze tra applicazioni scritte 
VB.NET
 ed in C#.
La versione del docente e' che le differenze, dato che si fa pur
sempre riferimento al CLR, sono ridotte all'osso. Piu' che altro
sintattiche, insomma.
Panico!
E' davvero solo questa la differenza? Mi sto complicando inutilmente
la vita?
Bye,
  Ricky





 
Secondo me no.
Ti stai complicando utilmente la vita (adesso), per semplificartela 
poi :)
Sinceramente anche io, nel mio piccolo, tengo dei corsi (di 
programmazione sotto Windows CE, più orientati al basso livello e al 
C/C++ però) e generalmente consiglio a chi proviene da VB di valutare 
la possibilità di fare uno sforzo extra per imparare C#.
I motivi (dedotti dall'esperienza di miei colleghi programmatori VB, 
io arrivo dal C++ e la scelta è più "semplice") principali sono:
1. una sintassi più chiara
La sintassi (già un po' arzigogolata) di VB è stata ulteriormente 
incasinata per supportare le funzionalità del CLR. Il risultato sono 
cose come gli operatori logici "ELSE OR" (se ricordo bene) che 
servono a sfruttare lo "short-circuit" booleano, mentre la vecchia 
sintassi (per compatibilità retroattiva), valuta sempre tutte le 
parti dell'espressione booleana generando codice meno performante.
2. maggiore disponibilità di codice di esempio
Credo che il rapporto tra codice C# disponibile in rete e codice 
VB.net sia tra il 60-40 e il 70-30 e che la maggior parte degli 
esempi in VB sia disponibile anche in C#. Conoscere il C# ti aiuterà 
a capire anche questi esempi e un minimo di sforzo ti consentirà 
(visto che arrivi da VB) di capire anche quelli in VB.net.
Aggiungerei che conoscendo C# è molto semplice capire anche il codice 
in java e, con qualche sforzo extra, pure quello in javascript e 
C/C++.
3. varie ed eventuali
IMHO passare da VB a VB.net nel modo corretto richiede 
l'apprendimento di concetti nuovi per un programmatore VB come 
ereditarietà, funzioni delegate etc.
Passare da VB a VB.net "alla buona" (provando a ricompilare i vecchi 
programmi e a utilizzare il linguaggio come se fosse il vecchio VB) è 
come comprarsi una ferrari e poi usare solo la prima e la seconda 
marcia.
Imparare la sintassi di C# non è così complesso (basta scoprire che 
per fare le graffe si fa prima con altgr+shift+parentesi quadra che 
digitanto alt+0123 e alt+0125 :)) e dover apprendere un nuovo 
linguaggio ti aiuterà a staccarti anche da qualche "cattiva" 
abitudine derivata da VB.
Tutto questo, ovviamente, rigidamente IMHO :)
-- 
Valter Minute
vmi...@inwind.it
 (the reply address of this message is invalid)

marcia.
Gia'. :-)
Alla fine, nella vita lavorativa di tutti i giorni, essendo io DBA,
dovro' cercare di capire come sfruttare al meglio C# per "parlare" con
i database che gestisco. In particolare, anche se non e' la mia
peculiarita', vorrei iniziare a mettere in piedi qualcosa di serio per
sfruttare 
ASP.NET
 onde dare agli utenti migliori opportunita' per
l'analisi dei dati aziendali, cosa che al momento e' delegata ad una
vecchissima applicazione in VB4 ereditata da una software house che
perferisco non nominare. :-)
In questo senso C# + 
ASP.NET
 sono la coppia vincente?
Bye,
  Ricky

 la vita?
No per niente, secondo me tra i due hai fatto la scelta giusta.
-- 
Lawrence Oluyede (l dot oluyede at virgilio dot it)
"If the implementation is hard to explain, it's a bad idea"
      The Zen Of Python, Tim Peters

Solo tre domande: due le troverai(ete) stupide ma, bazzico da un po' i
newsgroup ed ancora non ho afferrato il senso di alcune abbreviazioni.
Che vuol dire OT? 
Che vuol dire IMHO?
Invece, nel merito del thread, cos'è il CLR?
Grazie

 Invece, nel merito del thread, cos'è il CLR?
Common Language Runtime
Vedi 
msdn.microsoft.com
 per una descrizione dettagliata.
