Newsgroup: it.comp.lang.visual-basic
Titolo: SApete consigliarmi un buon libro per il vb 2008

salve, sapete consigliarmi un buon libro per il vb 2008 ?
ho sentito parlare molto bene di balena, pare che sia il miglior conoscitore 
del visual basic in assoluto,

 conoscitore del visual basic in assoluto
questo non l'ho ancora visto, ma vorrei prenderlo:
http://deghetto.wordpress.com/2008/04/01/e-uscito-il-mio-nuovo-libro-su-visual-basic-2008/
ciao, a.

 ha scritto nel messaggio 
news:685funF...@mid.individual.net...

Colgo l'occasione per esprimere una mia opinione
Sarebbe opportuno trovare in commercio
un testo che traduca pari pari il codice VB6
in .NET almeno per le principali operazioni
Es:
gestione file (sequanziale,random e binario)
e codice base I/O
etc..
etc...
Chiunque abbia l'esigenza di "migrare" verso
il .NET non ha bisogno di sorbirsi
pagine e pagine di
"Concetto di variabili,Concetto di matrici,Tipi dato "etc...)

 in .NET almeno per le principali operazioni
Non credo sia possibile. La filosofia è diversa, come sono diverse e 
peculiari le funzionalità che mette a disposizione .NET.
Non ha senso "tradurre pari pari".
Comunque puoi guardare questo:
http://www.vbmigration.com/Resources/migratingfromvb6.aspx
-- 
news:it-alt.comp.software.openoffice : Il newsgroup dedicato a
OpenOffice.org, la suite open source di applicazioni per ufficio.
Saluti, VITRIOL


Intandevo questo (per esempio )
    Open "C:\pippo.txt" For append as NumFile
        print #NumFile "Ciao"
    Close NumFile
Traduzione :
           xxxxx
           xxxxx
Etc..
ciao

 
Guarda, sono la persona meno adatta visto che non ho mai usato in vita 
mia VB6, comunque per il tuo esempio direi:
My.Computer.FileSystem.WriteAllText("d:\prova.txt", "Ciao", True)
Ma intendevo dire che le cose si imparano studiandosi le nuove 
funzionalità del linguaggio e le classi che Framework. Una sterile lista 
di frammenti di codice dubito che ti insegni a programmare come si deve, 
capendo e sfruttando tutte le possibilità.



Vedi, partendo dal presupposto che .NET non ha inventato
nulla di nuovo è semplicemente un approcio leggermente
più orientato agli oggetti ma sostanzialmente è solo
un problema di sintassi per chi già conosce la programmazione
in VB.

 ha scritto nel messaggio 
news:481da012$0$40212$4faf...@reader5.news.tin.it...


 in VB.
Mi sa che il presupposto è sbagliato :-)


 -- 
Forse mi sbaglio, ma sapresti dirmi
cosa c'è in .NET di effettivamente NUOVO ?

 cosa c'è in .NET di effettivamente NUOVO ?
Dipende cosa intendi per nuovo. Tutta l'infrastruttura, l'indipendenza 
dal linguaggio, l'OOP completo, la Base Class Library, WPF e XAML, LINQ, 
mille altre cose.
Poi ovviamente è una piattaforma di programmazione come tutte le altre, 
quindi un programmatore esperto avrà già gli strumenti necessari per 
capire e applicare. Però resta il fatto che una lista di frammenti di 
codice "convertiti" non è utile per capire e sfruttare .NET, a meno che 
non vuoi costruirti una applicazione a forza di copia/incolla.


 -- 
OK grazie
però con riferimento alla mia domanda
(ora chiarita rispetto il "nuovo" ) cosa è possibile
fare di nuovo che con VB6 non si possa fare ?
 

 Dipende cosa intendi per nuovo.
Che non si possa fare in VB6

 fare di nuovo che con VB6 non si possa fare ?
Non lo so, normalmente esiste qualcosa che si può fare con un 
linguaggio, e che sia impossibile farlo con un altro? E' difficile.
La cosa principale però è il *come* lo puoi fare.


 fare di nuovo che con VB6 non si possa fare ?
E ti pare poco?
Vuoi mettere la differenza che passa tra la semplice concatenazione di
stringhe e uno stringbuilder?
Vuoi mettere la differenza che passa tra ADO e 
ADO.NET
 (sono due cose
completamente diverse... vedi la discussione sui Dataset e i Data
Reader, quella sui provider ecc...) tale per cui non esiste piů il
concetto di Recordset.
Restano in tema di database: non esiste piů neanche il vecchio DAO
(sempre che fosse rimasto qualcuno ad usarlo).
E poi... nel tuo esempio, la scrittura del file puoi farla con
My.Computer.FileSystem.WriteAllText, ma puoi anche usare uno StreamWriter.
Come vedi non č pensabile fare un libro del genere... non andrebbe bene
per il ragazzino che sta imparando (perchč a questo punto č meglio
imparare da zero) e non andrebbe bene per il professionista che cerca,
spesso, di ottimizzare il proprio codice.
Nicola

 ha scritto nel messaggio 
news:481db826$0$17942$5fc...@news.tiscali.it...

OK, grazie anche per il tuo intervento.

 -- 
Grazie, anche per la tua pazienza.
Forse non riesco a rassegnarmi all'idea
di dover ripartire da capo un'altra volta.
ciao.

 cosa c'è in .NET di effettivamente NUOVO ?
il modo.
in vb6 per salvare un jpeg dalla rete ci metto una paginata di codice. non 
mio: di vb2themax, cioe' balena e amici, suppongo l'abbiano meditato.
in vb2008, 1 riga.
i problemi sulla scelta -- imho -- sono altrove.
ciao, a. 

 nulla di nuovo
parti molto male. non e' vb7, dotnet e' (un sottoinsieme di, o forse un 
soprinsieme di) un'altra cosa, nel bene e nel male.
anch'io rimpiango dao e 4 milioni di righe di tabella disponibili subito.
ma le prossime olimpiadi saranno a pechino, non a voghera.
poi uno fa quel che crede.
ciao, a.

 i problemi sulla scelta -- imho -- sono altrove.
altrove e ovunque :(
-- 
Greg 

 i problemi sulla scelta -- imho -- sono altrove.
Eh.
Come sai ho iniziato da poco un prog nuovo, e l'ho sviluppato
in VB5 [sic]. Probabilmente, anzi, quasi sicuramente, in .NET
sarebbe stato più semplice, ma per farlo in .NET avrei dovuto
scegliere: farlo in quattro mesi anziché due settimane,
reimparando tutto da capo, o ridurmi a fare copia-incolla di
codice scopiazzato dalla rete[1].
La prima non era una scelta accettabile, la seconda non mi piace:
su quel codice in futuro potrei doverci mettere le mani in profondità,
e su codice praticamente altrui non posso e non voglio farlo.
Concordo che prima o poi dovrò impararlo, ma ci ho provato
fin troppe volte, ho installato quasi tutte le versioni uscite, e
ogni volta è successa la stessa cosa: ci mettevo meno a
sviluppare in VB classico che ad imparare ex novo a fare
la stessa cosa in .NET.
[1] Oh, i motivi erano anche altri, fra cui alcuni tecnici, per
i quali quasi sicuramente non avrei in ogni caso potuto farlo
in .NET, ma questa è un'altra storia.
Bye, G. 

 fare di nuovo che con VB6 non si possa fare ?
Un esempio: applicazioni distribuite a più livelli.
1^ Livello: applicazione windows form che implementa l'interfaccia grafica
2^ Livello: web services che implementano la business logic
3^ Livello: database
Il 2^ e 3^ livello in realtà complesse si trovano su server diversi
(application server e database server). 
Separare fisicamente il 1^ e 2^ livello facilita lo sviluppo in team, dove
ogni sviluppatore lavora in un ambito specifico (mio caso personale in un
progetto per una multinazionale, io mi sono occupato all'80% del front-end,
conoscendo in profondità tools di terze parti come i prodotti Infragistics
e Active Reports, gli altri sviluppatori della business logic, recupero
dati su AS400 e compagnia).
Inoltre con VB.Net puoi realizzare web applications (siti .aspx): devi
sicuramente imparare le basi della realizzazione di applicazioni web ma il
resto del framework (adonet e altro) è comune.
PaF

 Un esempio: applicazioni distribuite a più livelli.
Non vorrei buttarti giù, ma AFAIR le three-layer applications
e le web applications erano già previste e creabili conVB5
Enterprise (nel '97...) e con VB6 Professional in seguito:
http://msdn.microsoft.com/en-us/library/aa232760(VS.60).aspx
Bye, G. 

 
http://msdn.microsoft.com/en-us/library/aa232760(VS.60).aspx
Beh io ho sempre sorvolato perchè non erano di mio interesse, ma ricordo che 
se parlava anche parecchio in libri, riviste, ecc..
vbnet avrà sicuramente tante cose buone e nuove. Ma il guaio, secondo me, è 
stato che anzichè aggiungere queste novita al VB6 si è preferito buttare a 
mare  VB6 e rifare tutto daccapo.
E non era assolutamente necessario, il vecchio e il nuovo potevano 
coesistere tranquillamente.
Cosi come col VB6 è syayo aggiunto ADO mantenendo DAO.....
-- 
Greg 



Si hai ragione, mi sono espresso male. Le applicazioni distribuite si
potevano fare anche con le Win32 e via di socket volendo (lo dico da
sviluppatore Win32 "puro" con il C++, ormai solo per hobby). 
Per i siti web non ho esperienza, ho saltato a piè pari tutto il periodo
.asp
Quello che cambia è la produttività: a fronte di una curva di apprendimento
più o meno ripida (dipende da molti fattori personali) personalmente il
nuovo ambiente di sviluppo mi ha reso molto più produttivo => codice di
buona qualità e funzionante in minor tempo.
Si può approfondire il discorso dicendo che ogni buon sviluppatore VB6 ha
ormai la propria libreria, i propri link, esempi etc dai quali recuperare
codice per nuovi progetti, per cui l'insieme delle classi del framework
possono essere viste come un'aggiunta rispetto al proprio modo di lavorare.
Aggiunta che inoltre richiede tempo per essere "digerita" come si deve...
Posso però dire che dopo aver preso la mano con il framework ciò che ti
viene dato in cambio del tempo speso è notevole: elaborazioni in-memory con
i dataset (con i quali si può fare veramente di tutto), classi per
maneggiare file xml, hash table, compressioni/decompressioni di stream di
vario tipo, ereditarietà visuale dei form (che per me da sola vale il 50%
dei vantaggi), tutto senza dover usare tools di terze parti (ocx) o
scrivere km di codice. 
Anche il fatto di poter eseguire gli .exe senza necessariamente fare il
setup per me è stato un positivo ritorno al passato (gli .exe Win32 "puri"
girano da Windows 95 a Vista senza differenza, se non usi API proprie di un
os).
Quello che tutt'ora non mi piace del framework sono le richieste di
memoria...ma ormai anch'io che ero abituato in C++ a contare i byte
allocati ora mi pongo qualche problema in meno (starò invecchiando...). 
Se proprio il target hardware non permette applicazione .net uso VB6, che
convive felice nella mia virtual machine con .net :-)
PaF

 coesistere tranquillamente.
Mah, Visual Studio 6 ed 2008 mi sembrano lontani anni luce (nel bene e nel
male), evidentemente hanno pensato che una semplice l'evoluzione di VB6
avrebbe ereditato tutte le magagne dell'approccio COM based (es. il dll
hell)
PaF

 Cosi come col VB6 è syayo aggiunto ADO mantenendo DAO.....
Esattamente. Tanto per dire la prima cosa che mi viene in
mente, moltissime funzioni del framework .NET sono a loro
volta dei wrapper per le stesse funzioni API del SO che c'è
sotto: più o meno come in VB la .PaintPicture è un wrapper
della StretchBlt. Ora, sarebbe stato possibile fare un lavoro
analogo per tante altre funzioni API e renderle disponibili
ad un "normale" programma VB, e si sarebbe venuti incontro
alle richieste di migliaia e migliaia di programmatori, e invece...
C'era, purtroppo non esiste più[1], un sito creato prima che
uscisse il .NET dove i programmatori potevano inserire le loro
VB7 wish list... beh, non è che i chiedessero molto, anzi.
Qaualcosa si rintraccia nei NG:
http://groups.google.it/groups/search?q=%2BVB7+wish+list
Un oggetto Printer decente, un controllo per le GIF animate,
ereditarietà migliore, degli operatori ++ e-- tipo quelli del C,
e qualcos'altro, ma in fondo niente di trascendentale.
Qualcuno aveva anche inserito l'idea di API documentate e
integrate, vedo :-).
[1] Anche se con webarchive, chissà... il problema è che
non ricordo il nome del sito e non ritrovo il link :-(.
Bye, G. 

 convive felice nella mia virtual machine con .net :-)
senti volevo chiederti una cosa, ma c'e 'la fai a programmare sia in vb6 che 
in vb2008 sensa fare confusione? te lo chiedeo, perche' io conosco poko il 
vb6, ora ho scaricato anche il vb2008 express, e da come ho capito leggendo 
i vari post, il vb6 e' troppo piu' semplice ( anche se' meno potente del 
vb2008) quindi volevo anche io imparare bene il vb6 per sviluppare 
programmini semplici semplici, e poi magari approfondire con il vb2008 per 
progetti piu' complessi. pero' leggevo che molti si trovano male dopo aver 
imparato il vb6 a imparare anche il vb2008.e mi avrebbero consigliato di 
lasciare stare completamente il vb6 per iniziare direttamente con il vb2008. 
pero leggendo del tuo post, quasi quasi mi sta tentando l'idea di impararli 
bene tutti e 2. te che li adotti entrambi cosa mi puoi consigliare?
ciao

 ciao
Ciao,
confusione non ne faccio, programmo in VB4-5-6 dal 1996 e in VB.Net dal
2003, sicuramente quando sono nel vecchio ambiente le limitazioni rispetto
al nuovo le sento, sia in termini di IDE (es. l'intellisense meno completo,
la mancaza totale del refactoring) sia in termini di sviluppo (es.
controlli custom embedded nello stesso exe).
Per uno che deve iniziare perň consiglio di partire da .Net, per me non ha
assolutamente senso apprendere oggi una tecnologia funzionante ma vecchia.
Tieni presente anche che mentre VB.Net Express te lo scarichi gratis e lo
puoi utilizzare anche per sviluppare applicazioni commerciali, il VB6 te lo
dovresti "procurare", con tutte le implicazioni legali del caso.
Ciao
PaF

 lasciare stare completamente il vb6 per iniziare direttamente con il vb2008. 
Ti dico anch'io così, per quello che vale :-)


 assolutamente senso apprendere oggi una tecnologia funzionante ma vecchia.
il senso che ci avevo trovato io, era che siccome prevedo di sviluppare 
anche programmini semplici semplici, mi pareva inutile di scomodare per 
quelli , un sistema tanto complesso e a quanto dicono anche pesante, e che 
da come ho capito,  richiede uno sforzo non indifferente per impararlo..

 anche programmini semplici semplici
Ma guarda che con .NET puoi scrivere anche programmi semplici semplici. 
Non è che si offende :-)
Anzi, con tutte le classi che contiene la BCL, .NET spesso fa la maggior 
parte del lavoro per te. Difficile che devi reinventare la ruota per la 
maggior parte delle esigenze di base, e anche per molte di quelle più 
avanzate.


 da come ho capito,  richiede uno sforzo non indifferente per impararlo..
cioe' prendere la patente a per guidare le moto e la b per le auto? non so. 
vb6 non e' proprio semplicissimo, richiede tempo anche lui. la 
programmazione e' prima di tutto testa, quindi qualunque esercizio va bene, 
anche programmare una lavatrice. ma, se ho capito, rischi di disperderti.
diverso il discorso per chi in vb classico ha un background, esperienza, per 
cui molte cose le si fa a occhi chiusi. ma se stai cominciando...
imho, ciao, a.

 dovresti "procurare", con tutte le implicazioni legali del caso.
Ecco, questo passaggio meriterebbe 2 minuti di riflessione.
Fino al vb6 ogni realease era a pagamento e aveva puntuamente il suo 
successo; adesso sono quasi 10 anni che lo regalano ma tantissima gente 
continua a preferire l'ultima versione a pagamento.
greg 

 continua a preferire l'ultima versione a pagamento.
La versione Express esiste solo da due versioni (2005 e 2008), non da 
dieci anni.
Ma le versioni professionali le vendo eccome, non te le regalano :-)
Quello che č sempre stato gratuito č in Framework .NET, completo anche 
dei compilatori. Se vuoi ti puoi scrivere la tua applicazione con 
Notepad, e poi compilarla a riga di comando, senza neppure avere 
installato Visual Studio.
Il Framework e i compilatori sono una cosa, l'IDE č un'altra, ben 
separata. Tanto che ci sono anche IDE open source, come SharpDevelop, 
che forniscono un ambiente di lavoro alternativo, ma sempre basandosi 
sull'infrastruttura che fornisce .NET.




Non esageriamo, la 1^ versione .Net Express (=> gratis) è stata rilasciata
nel 2005. Per il mondo VB "classic" ricordo qualcosa di simile con la
versione 5 Control Edition (1996 ? 1997 ?).
Il fatto che molti continuino ad usare VB6 non mi sembra strano: se lo hai
comprato (=>licenza regolare) nessuno ti obbliga a cambiare, soprattutto se
le tue esigenze professionali non te lo impongono.
Si può tranquillamente scavare un pozzo con un righello, però con una ruspa
si fa prima.  
PaF

 installato Visual Studio.
Tanto per capirci, il compilatore VB si chiama vbc.exe, e si trova nella 
directory del Framework. Per .NET 3.5 in 
C:\Windows\Microsoft.NET\Framework\v3.5\
Apri Notepad (o l'editor che preferisci) e scrivi:
Module Module1
     Sub Main()
         Console.WriteLine("Ciao mondo!")
     End Sub
End Module
Poi salva come prova.vb.
Ora apri una finestra DOS nella directory dove risiede il compilatore, e 
scrivi semplicemente:
vbc c:\prova.vb (o il tuo percorso).
Adesso prova pure il tuo eseguibile console compilato :-)


PS
Se vuoi provare emozioni "diverse"... :-)
class Prova
     {
         static void Main(string[] args)
         {
             System.Console.WriteLine("Ciao mondo in C#!");
         }
     }
Salvo come prova.cs
csc /out:C:\prova.exe C:\prova.cs


 la stessa cosa in .NET.
ecco. almeno da me, quando serve qualcosa, deve funzionare subito, su 
qualunque macchina, ecc ecc., quindi, se voglio trovare il modo anche di 
fare qualche passeggiata e foto, non ho ne' il tempo di studiare ne' 
tantomeno quello di provare, e ho da assistere 60 colleghi al pc invece dei 
5 degli inizi, connessioni informatiche e politiche che dieci anni fa non 
erano neanche all'orizzonte, ecc.
sono tutte considerazioni reali, ma che con dotnet non c'entrano 
assolutamente nulla, direi. c'entrano con ciascuno di noi.
per chi comincia ora, la scelta non mi sembra proprio stia fra 6 e dotnet, 
ma fra dotnet e java/python/altre cose che nascono piu' portabili. da noi il 
mondo e' praticamente solo windows, ma non e' detto che sia cosi' 
dappertutto.
imho, ciao, a.

 per cui molte cose le si fa a occhi chiusi. ma se stai cominciando...
mi sai indicare un libro buono ma veramente buono per chi inizia come me', 
per il vb 2008 express?
pero io ho qualche base teorica con il vb6, cioe' mi annoierebbe un libro 
che parte da cosa e' una variabile? o cose del genere, insomma non propio 
per gli esordienti assoluti. c'e' un buon libro  di balena?

 per gli esordienti assoluti. c'e' un buon libro  di balena?
ce n'erano su 2005 se non sbaglio, anche se 2008 introduce cose nuove il 
mondo e' quello. magari li ha anche aggiornati. ma per quanto ho visto, se 
anche riconsidero un po' le basi, con dotnet non e' male... parlo per me, 
poi vedi tu.
se vuoi proprio balena, cerca
balena visual basic 2008
nb: quando dice 
vb.net
, penso intenda di solito il vb2002/2003.
ciao, a.

 nb: quando dice 
vb.net
, penso intenda di solito il vb2002/2003.
io ne ho aquistato uno ad un prezzo stracciato, si kiama
VISUALBASIC.NET
  guida per lo sviluppatore della hoepli di matthew 
reynolds,richard blair,jonathan crossland,thearon willis e' un libbrone di 
778 pagine.
ci devo ancora metter mano, pero' e' per l'ambiento precedente cioe' kiamato 
.net e basta, secondo te' e' valico anche per il 2008 o sarebbe meglio 
partire propio con un libro per il vb2008 express?

 meglio partire propio con un libro per il vb2008 express?
la seconda che hai detto. ho l'impressione che negli ultimi 5 anni vb e fw 
siano cambiati parecchio. se proprio non trovi altro, almeno il 2005.
ciao, a. 

 ho l'impressione che negli ultimi 5 anni vb e fw siano cambiati parecchio.
Si sono aggiunte molte novità, ma quello che valeva per la prima 
versione di 
VB.NET
, in fin dei conti vale anche adesso.
Certo ti perdi un po' di cose.


 Certo ti perdi un po' di cose.
allora prendero un libro dedicato al vb2008 e terro qiel altro come 
riferimento casomai per ampliare gli argomenti 

 Ti dico anch'io così, per quello che vale :-)
Questo è sicuro. Partendo da zero o quasi conviene sicuramente
iniziare con .NET.
Bye, G. 

 mondo e' praticamente solo windows, ma non e' detto che sia cosi' dappertutto.
Bye, G. 

 * da due tecnici a ben... due tecnici :-(
E ma cosa intendi per tecnico?
Mo che mi ci fai pensare, da me, la persona che si occupa della parte 
hardware,  dal pc alla borchia al cavo al server, una era e una è rimasta.
-- 
Greg 

 hardware,  dal pc alla borchia al cavo al server, una era e una è rimasta.
E i quantitativi di HW/SW sono aumentati come i nostri ?
[1] La risposta naturalmente è "bene, grazie :-)".
Bye, G. 

 a capire perché una certa telecamera ha deciso di lavorare in bianconero
ma vi occupate di informatica o calcio? :P

 ma vi occupate di informatica o calcio? :P
Sì :-P
Bye, G. 

 Sì :-P
ok. calcio :P

 E i quantitativi di HW/SW sono aumentati come i nostri ?
Ovvio, grosso modo da 6 a 600.
E una sola persona segue la parte hard e una decina  la parte soft.
Niente programmi, si acquistano, ma fanno funzionare una rete dislocata 
anche geograficamente.
greg

 Devi avere la pazienza di Giobbe :)
In effetti, ho moglie e due figli... questo è un doppio motivo:
prima di tutto nel senso che ho imparato per forza ad avere
pazienza, in secondo luogo perché devo pur farli mangiare.
Bye, G. 

 fare di nuovo che con VB6 non si possa fare ?
Il buon vecchio turing c ha fatto un teorema "una qualsisasi funziome 
computabile è turing computabile" ovvero risolvibile con una macchina di 
turing, e ci sono fior fiori di teoremi sulla equivalenza dei modelli di 
calcolo (programmazzione) es. lambda calcolo, funzioni ricorsive, 
algoritmi di post, ecc. ecc. e tu mi vieni a dire cosa si può fare in 
piu??? si può fare PRIMA e MEGLIO ma in piu no di certo...quello che fai 
in .net ipoteticamente lo fai in fortran!
saluti MVB

"v@nb@asten4eveR99" ha scritto nel messaggio

A livello di logica siamo d'accordo. A livello di interfaccia col SO
o con l'hardware questo non è vero. Qualche esempio banale:
se il SO non ti concede di accedere ai singoli pixel del video,
o alle singole linee di una porta parallela o USB, col cavolo che
lo fai. Non è, sempre per esempio, che in teoria uno non possa
calcolare in Fortran i valori dei singoli pixel di una trasparenza in
video; il problema è che poi il linguaggio di programmazione
non ha le funzioni necessarie per accedere al video e visualizzarla.
Parlando di Windows, il SO isola il SW dall'HW, e fornisce delle
funzioni (vari tipi di API) per accedervi solo indirettamente.
Se il linguaggio non è in grado di utilizzare queste funzioni...
*PUPPA* :-).
Bye, G.