Newsgroup: it.comp.lang.visual-basic
Titolo: Cosa mi consigliate?

Ciao a tutti,
sono sempre io, quello che voleva passare da VB a VB .NET :)
dico volevo, perché leggendo qua e la, ho sentito molti esprimere un
pensiero più o meno di questo tipo: "dopo che ho visto vb .net ho deciso di
passare a C#\C++".
Sin da quando ho imparato vb mi sono sentito sempre "inferiore" (forse è un
po grosso come termine, ma rende l'idea) ad altri programmatori che
conoscevano linguaggi tipo il C++. E siccome la m$ ha trasformato vb in un
vero linguaggio ad oggetti, e quindi molto diverso da vb6, va ristudiato
tutto se non da 0, da 2..
A questo punto, mi conviene passare a vb .NET, comprandomi il libro di
balena, o iniziare con un altro linguaggio, tipo C# (di cui non conosco
assolutamente niente)?
Certamente voi mi direte, dipende da quello che devi farci con un linguaggio
di programmazione, realizzare un dialog con vb richiede 16 secondi
(cronometrati ;)), con c++ 16 mesi (non cronometrati), l'unica cosa che non
vorrei comunque, è aver studiato un linguaggio "for dummies" (non mi viene
proprio il termine adatto oggi)
grazie per i consigli sinceri :)
ciao

 assolutamente niente)?
Che sappia io C# e VB.Net sono "lo stesso minestrone servito in due piatti
differenti"... Cambia la sintassi ma fondamentalmente il linguaggio è il
medesimo...
Diverso è il discorso con il C++ dove la maggior difficoltà  
nell'implementazione
la paghi in cambio di una maggior potenza sotto il piano della  
programmazione
a basso livello...
P.S. 
VB.NET
 è un ottimo linguaggio di programmazione... ognuno dica ciò che
crede sul fatto che gira su un framework, o sul fatto che è MS e io posso
darvi ragione, ma come linguaggio è un ottimo linguaggio di programmazione
(finalmente OO).
P.P.S. Ho sentito dire che se conosci bene 
VB.NET
 passi a C# in due  
settimane...
non ci ho ancora provato ma ci posso tranquillamente credere...
Saluti
-- 
I'm sorry you never check
the bag in my head for a bomb
and my halo was a needle hole

passare a C#\C++".
Io non ti posso dare un consiglio, posso al piu' dirti cosa mi sono
risposto io, senza la pretesa di voler insegnare nulla a nessuno.
Io ho lavorato molto in C prima e in C++ dopo. Sono sempre stato
affascinato dalla potenza di questi linguaggi e dalle possibilità che
ti danno - invero, anche di fare immani porcherie.
A VB sono arrivato per una serie di motivi con cui non ti tedio.
Confesso che non mi e' mai piaciuto piu' di tanto: troppe limitazioni,
dovevo essere io ad adattarmi al linguaggio e non era il linguaggio ad
adattarsi a me, e in fin dei conti avevo un sistema buono per fare
qualche maschera con velocita', ma difficoltoso da utilizzare per le
cose molto piu' complesse che di quando in quando mi venivano in
mente.
Confesso che avevo trovato difficolta' analoghe, anche se qualcuna
meno, quando ho utilizzato i sistemi di Borland basati su Pascal.
Ho avuto poi modo di dare un occhio a Java. Non sono un esperto, sono
un modesto principiante, sia chiaro, ci ho fatto solo qualche
cosuccia. L'ho pero' trovato ottimo per scrivere servlets, un po' meno
buono per scrivere applicazioni complesse. Capiamoci, il problema non
e' il linguaggio, che continuo ad apprezzare, e' che il runtime non e'
poi cosi' performante, e le applicazioni che sono scritte in Java sono
di una lentezza a volte esasperante.
Veniamo al mondo .NET. Lo sto studiando a livello assolutamente
amatoriale, e devo dire che mi sta affascinando. Ha i pro dell'ultimo
arrivato, intendendo con questo che sistema alcune delle
caratteristiche negative dei sistemi di sviluppo precedenti (purtroppo
non tutte) e se, come sembra, verranno eseguiti porting su altri
sistemi (vedi MONO o altri progetti open source), potra' finalmente
realizzarsi quella possibilita' di scrivere applicativi cross-platform
che il solo Java, pero' col limite sopra esposto, e' in grado di
consentire. Diciamo che da parte mia e' una scommessa, ma visto
l'interesse che c'e' nei confronti di questa piattaforma anche in
ambianti insospettabili, posso anche dire che e' una scommessa con un
rischio poco limitato.
Veniamo a C#. E' il linguaggio predefinito di .NET. Qualsiasi
distribuzione di .NET tu prenderai in considerazione (Microsoft, MONO
o altri) C# ci sara' sempre. Confesso la mia ignoranza, non so se per
VB e' cosi', pero' mi sembrerebbe strano. Se questo e' vero allora,
visto che comunque il passaggio da VB6 a 
VB.NET
 non e' cosi' indolore
(nel senso che non c'e' solo qualche aggiunta, ma si tratta di un
ridisegno globale), allora capirai come per me, che preferivo la
sintassi di C/C++, se si deve spendere sudore e' piu' opportuno farlo
orientandosi verso C#.
Infine, c'e' una cosa che mi piace. Sto sviluppando - lo ripeto, in
modo amatoriale - con un prodotto open source che si chiama
SharpDevelop. Ha un unico limite, nella release attualmente
disponibile non e' ancora integrato il debugger. Pero' per ora sto
solo studiando. Un domani, dovessi sentirne l'esigenza, potrei
scegliere VisualStudio o, in modo indifferente, il C#Builder di
Borland.... :))
--
Ciao!
Luca Menegotto

Se conosci VB6 passa a .NET usando 
VB.NET
, ci sono talmente tante cose da
imparare che aggiungere la complessita' dovuta al case sensitive, i ;, le
{}, la gestione diversa degli eventi, la mancanza del background compiler e
la sintassi stessa puo' rendere il tuo studio di .NET alquanto arduo.
Vuoi un esempio banale banale...
Dim f as single=1/24 'f=0.041
in C#
float f=1/24 'f=0.0
per carita', basta leggersi le specifiche e non ci sono problemi, il fatto
e' che tu hai tonnellate di documentazione e concetti da capire e perdersi
con questi 'dettagli' mi pare inadeguato (almeno all'inizio)
Quando avrai imparato _bene_ 
VB.NET
 allora _impara_ anche C# (a questo punto
ci vuole veramente poco) e poi quando conoscerai entrambi deciderai quale ti
piace di piu' e, sopratutto, conoscerli entrambi ti permettera':
1-Capire i punti di forza e debolezza di entrambi
2-Essere piu' ricco Tu, come professionista
3-Capire come spesso chi denigra VB non lo conosce affatto (c'e' chi crede
che si usino ancora i numeri di riga o che VBNET non faccia cose che C# puo'
fare (vedi Generics nella versione 2005)
Ricorda inoltra che nella prossima release, VB 2005 avra' alcune features
che C# non avra', non cito My perche' ne possiamo tutti fare a meno, ma
Edit&Continue e la possibilita' di continuare in caso di eccezione non
gestita (come VB6 insomma).
Questa e' l'opinione di uno che ormai li usa entrambi e quando e' in C#
invidia alcune cose di VB e mentre usa VB invidia alcune cose di C#... :-)
Ora decidi tu e ricorda, la differenza la fa il programmatore.
-- 
Corrado Cavalli [Microsoft .NET MVP-MCP]
UGIdotNET - 
http://www.ugidotnet.org
Weblog: 
http://www.ugidotnet.org/710.blog


Hai dimenticato il punto e virgola.... ;-)
--
Ciao!
Luca Menegotto

invidia alcune cose di VB e mentre usa VB invidia alcune cose di C#... :-)
Credo che il linguaggio perfetto non esista. E' come hai detto tu. Pur
studiando C#, ne ho appena trovata una odiosa: in ciascuno dei case di
uno switch sono obbligato a mettere break. Non posso fare altrimenti.
Il che vuol dire che sono costretto a scrivere una cosa inutile,
quando con poco sforzo si sarebbe potuto eliminare del tutto e far
adottare allo switch il comportamento che ha l'analofa struttura
select in VB!!
--
Ciao!
Luca Menegotto

:-) non e' quello il problema... semmai il fatto che l'IDE continua a 
segnalarmi la mancanza anche dopo che ho messo il ; fino al successivo 
rebuild...
Riguardo switch... se potessi avere la flessibilita' di Select Case in C#... 
e degli enumerati? ne vogliamo parlare? :-)
Riguardo al fatto se 
VB.NET
 sara' presente ad ogni release di C# (PS:Mono 
includera' il compilatore VB...) ecco il blog di Soma Somasegar (VP della 
divisione Development di Microsoft)
http://blogs.msdn.com/somasegar/archive/2004/08/01/204540.aspx


 ciao
Andrea

 disponibile non e' ancora integrato il debugger.
Per questo posso darti un consiglio.
Sto sperimentando la cosa in questi giorni e non è affatto male: affianchi a
#D il CLRDbg.exe (distribuito con l'SDK del framework, fai una ricerca sul
disco perchè lo hanno ben nascosto).
Selezioni l'exe, fai uno step-throu e hai il tuo bel codice completamente
debuggabile.
Ciao
-- 
NeoDataType : 
http://www.neodatatype.net
Sito Comune : 
http://www.it-lang-vb.net

 "voglia" di mettertici su.
Personalmente non vedo queste difficolta a passare da 
vb.net
 a c# e
viceversa.
Credo che il problema di fondo stia nel fatto che quasi tutti li intendono
come linguaggi diversi, e partono a studiare il linguaggio, cioè partono
dall'alto, e ignorano completamente che sotto c'è il framework che è comune
e che è il vero cuore del problema.
Se si capiscono le basi del framework, scrivere Shared anzichè static o
MustInherit anzichè abstract non mi pare tanto complesso.
Poi moltissimo aiuta il compilatore: ad es. gli operatori bitwise e logici
che in VB sono uguali, mentro in C# si differenziano, se sbagli a scrivere
il compilatore te lo dice evitandoti tantissimi errori (che invece
passerebbero con VB.net con l'option strinc off).
Ad es. se scrivi
if (a = b)
perchè sei abituato in VB a usare l'"=" il compilatore te lo dice.
Io li sto imparando pian piano entrambi di pari passo, e quello che finora
ho imparato lo posso tranquillamente portare da 
vb.net
 a c# senza alcun
problema.



Sapevo che c'era, perche' ne avevano parlato in una delle sessioni on
line di microsoft. Per dire il vero, non ne ricordavo il nome, per cui
ti ringrazio, mi hai risparmiato ancora un po' di tempo. Il fatto e'
che con C# (ma magari andando avanti riprendero' anche il VB) sono
ancora a livello di "Hello, world!" o poco di piu'.... :)
--
Ciao!
Luca Menegotto