Newsgroup: it.comp.lang.visual-basic
Titolo: generic classes

salve, è un secolo che non lurko più né scrivo questo NC (ai 
tempi aborrivo la sola idea del dot net, ricordo bene di avere 
scritto, per i runtime elefantiaci etc etc).
Fatto sta che poi ho scoperto che erano free anche gli IDE 
versione express, e li ho scaricati.
Pur senza ancora avere scritto una singola riga di codice ho 
iniziato un po' a spulciare gli help, e stento a riconoscere il 
basic, non solo, stento anche a credere di avere capito giusto.
La domanda è secca e a bruciapelo (mi capirà al volo chi conosce 
il C++, gli altri immagino mi risponderebbero in modo più tortuoso)
ma le generic class (quelle dichiarate con
OF tipo AS constraint) sono o non sono l'equivalente dei 
TEMPLATE del C++ ?
In effetti penserei di si, fatta pure qualche differenza, solo 
che sono sbalordito dall'introduzione di una caratteristica 
tanto potente e sofisticata (e soprattutto estranea 
completamente al basic sino a questa piattaforma).
Se vero, penso che anche soltanto per questa singola 
caratteristica (vabbè, per cautela forse bisogna aspettare di 
provarla, eh eh he) mi rimangio volentieri molte perplessità 
espresse per lungo tempo.
Ahh, altra cosa : che altra caratteristica molto innovativa e 
super utile consigliereste di andare a studiarsi prima di 
scrivere codice e cogliere il valore delle versioni dot net ?
Conosco grossomodo sia il vecchio VB che il C++, per cui in 
effetti se mi segnalate queste caratteristiche magari 
sottolineando le analogie col c++ riesco a capire più facilmente 
le osservazioni e i parallelismi (tra l'altro ho intravisto 
anche NEW e i costruttori per cui in effetti penso che di questo 
passo VB.net sarà definibile VB soltanto di nome, ma di fatto ho 
la sensazione che stia dolcemente confluendo in un c++ managed a 
tutti gli effetti, con al massimo qualche pennellata di facility 
di alto livello per l'interfaccia grafica e altri componenti di 
win XP)
grazie di ogni aiuto
Soviet_Mario

 win XP)
Tutti i linguaggi managed si basano sullo stesso framework e quindi, a 
parte le differenze di sintassi e quelle poche caratteristiche specifiche 
di un linguaggio, anzichè di un altro, fanno in modo che alla fine, la 
scelta del linguaggio è solo l'ultimo dei pensieri che deve avere uno 
sviluppatore .NET.
Riguardo le "qualche pennellata di facility", se ci si riferisce all'IDE e 
alle nuove funzionalità, beh, la comparazione non è possibile farla 
neanche paragonando l'IDE diVB6 a quello di VB3.
Le versione Express hanno ovviamente qualche caratteristica in meno 
rispetto a VS 2005, ma già sono sufficienti a capire quanto si può essere 
più produttivi rispetto a prima.
Non metto in dubbio che:
- Bisogna portarsi dietro 20 e passa mb di Runtime (Windows Serve 2003 
(già ora, ver. 1.1), e Windows Vista (domani), lo avranno integrato)
- Che per sviluppare ci vuole una macchina decente
- Che anche il client non può essere un Win98 con 64 mb di ram
- Che per uno sviluppatore di basso-medio livello, il passaggio a .NET non 
è banale
- ecc. ecc.
Ma sono, al limite, problemi transitori.
Ciao
-- 
Gianluca Cannalire
Microsoft MVP/MCP - Visual Basic
http://www.visual-basic.it
http://community.visual-basic.it/gianluca

 (già ora, ver. 1.1), e Windows Vista (domani), lo avranno integrato)
20 MB ? Pensavo decisamente di più. Evidentemente ero pure 
disinformato, o le cose si sono evolute in modo positivo durante 
il periodo in cui non me ne sono più occupato. In ogni caso con 
l'HW di oggi non sono più chissàche
ciao e grazie
Soviet_Mario


 20 MB ? Pensavo decisamente di più.
Il Framework 2.0 ridistribuibile è questo (link lungo):
http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&DisplayLang=en
Sono poco più di 22 MB, ma in futuro sarà davvero difficile non trovarlo 
già installato.
-- 
Saluti
VITRIOL

 
grazie del link
Uhm, ma eri stato tu a indicarmi VB express gratis, vero ? Che 
memoria fallace tengo !
ciao
Saijetsky_Mario


 Uhm, ma eri stato tu a indicarmi VB express gratis, vero ?
Sì, anche perché stavo iniziando anch'io a provarlo appena era stato 
rilasciato.
-- 
Saluti
VITRIOL

 ho letto bene ?
Sono molto simili ma non sono la stessa cosa, ad esempio ai templates non 
puoi applicare dei contraints
Altri dettagli
http://msdn.microsoft.com/msdnmag/issues/05/06/PureC/
HTH
-- 
Corrado Cavalli [Microsoft .NET MVP-MCP]
UGIdotNET - 
http://www.ugidotnet.org
Weblog: 
http://blogs.ugidotnet.org/corrado/

 puoi applicare dei contraints
vero, ottima osservazione.
Se te ne vengono in mente altre, sono naturalmente benvenute.
P.S. aggiungo un'altra domandina cui forse uno pratico riesce a 
rispondere in breve.
Esiste nel nuovo VB.net express una specie di costrutto 
equivalente alle classi astratte (pure virtual) del c++ ?
P.P.S.
Per chi non lo sapesse sono in qualche modo (dico così 
cautamente perché non conosco l'ereditarietà in VB, eh he he !) 
correlate alle interfacce, penso, ossia sono tipi-classe di cui 
non è mai possibile istanziare oggetti veri e propri, ma servono 
solo per fornire una infrastruttura vuota di metodi che altre 
classi derivate, non pure virtual, concrete, dovranno 
implementare e overloadare e renderanno possibile istanziare 
oggetti usabili.
riciao e rigrazie
Soviet_Mario


Non sono un esperto di C++, ma direi di si
Public MustInherith Class BaseClass
 Public MustOverride Sub DoSomething()
 End Sub
End Class


Corrado Cavalli ha scritto:
Grazie, cercherň anche queste parole chiave !
ciao
Soviet
