Newsgroup: it.comp.lang.visual-basic
Titolo: Curiosità

Ciao a tutti,
qualcuno potrebbe togliermi una curiosit�? Come mai ancora in molti usano 
visual basic 6 quando gi� da anni, parecchi anni sono disponibili versioni 
pi� recenti e meglio supportate dai nuovi sistemi operativi?
Si tratta di costi?
Cosa ha in pi� visual basic 6 che le versioni piu recenti non hanno?
Sto domandando perch� ho notato che in molti continuano a preferire visual 
basic 6 alle pi� nuove e dal momento che sto iniziando ad avvicinarmi a 
visual basic.. vorrei capirci meglio partendo da qui.
Grazie in anticipo a chi mi potr� rispondere.
 

 pi� recenti e meglio supportate dai nuovi sistemi operativi?
Perch� le versioni successive a VB6 sono basate sul Framework .NET, che 
rappresenta un cambiamento radicale di tecnologia. I progetti in VB6 non 
possono essere convertiti agevolmente in .NET, e nella pratica ha pi� 
senso riscrivere tutta l'applicazione daccapo.
Anche gli stessi sviluppatori devono apprendere un diverso paradigma di 
programmazione sulla nuova piattaforma, e paradossalmente sono proprio i 
programmatori VB6 a trovare pi� difficolt�, perch� sono stati abituati 
con un ambiente che era una porcheria da quando � nato :-)
Uno sviluppatore Delphi, C++ o Java si trova invece pi� a suo agio fin 
da subito, ma forse tendenzialmente si orienter� pi� su C# che su 
VB.NET
.
-- 
news:it-alt.comp.software.openoffice : Il newsgroup dedicato a
OpenOffice.org, la suite open source di applicazioni per ufficio.
Scarica "OpenOffice.org 3.0 Soluzioni a raccolta", molto pi� di semplici 
FAQ! 
http://it.openoffice.org/doc/manuali/

Cooper ha scritto:

Anche io sono abbastanza nuovo nell'ambiente, tuttavia credo che la 
scelta si basi su due fattori principalmente:
  - Il lungo "testing" del linguaggio e del compilatori del suddetto 
(ovvero, � parecchio che c'� in giro quindi probabilmente pi� stabile)
  - Convertire dei progetti da VB6 a 
VB.NET
 (ad esempio) � una cosa che 
richiede, oltre all'acquisto della nuova "suite" (o IDE, che dir si 
voglia), anche un "ricompilamento" (passatemi la parola) generale che ci 
pu� metter tempo, cos� anche la "conversione automatica". Inoltre, 
alcune parti dovrebbero essere riscritte per funzionare meglio, o per 
funzionare proprio (metodi/attributi magari resi obsoleti e non pi� 
funzionanti, o non pi� esistenti).
Inoltre, 
VB.NET
 richiede l'installazione nei sistemi client del 
"framework", ergo va impacchettato (son centinaia di mega) insieme al 
programma di installazione (se c'�) e non � esattamente "comodo". E 
considerando che solo da Vista � installato di default (ma solo l'1.1 se 
non sbaglio), comunque bisogna scaricarlo o distribuirlo.
Ma lascio ai pi� esperti la parola :-P
Enrico

 non sbaglio)
Vista comprende il Framework 3.0, mentre Seven il 3.5.


 Vista comprende il Framework 3.0, mentre Seven il 3.5.
Ok chiedo ammenda :-P
Enrico


Beh dipende, questo non sempre... chi proviene dal vecchio pascal dove la 
programmazione a oggetti non esisteva ancora...  la difficolt� credo sia la 
stessa di chi proviene da vb6 e vuol passare a .net.
 


Il framework � parte del sistema operativo; ammesso che non sia installato e 
l'applicazione lo necessiti il sistema operativo non informa l'utente della 
necessit� del framework e quindi provvede all'installazione automatica?
Che senso avrebbe quindi allegarlo? Se parliamo di win98 posso capire, ma 
ormai win98 non � piu usato e per di pi� non piu supportato... 

 programmazione a oggetti non esisteva ancora...
Ho detto Delphi, quindi Object Pascal fin dalla prima edizione. Ci sono 
molte analogie tra Delphi e 
VB.NET
, che vanno al di l� della 
programmazione a oggetti.
Comunque i Dephisti adesso hanno anche l'opzione Lazarus Free Pascal, 
che � davvero invitante :-)
Per quanto riguarda i costi invece dipende, il costo diretto e immediato 
pu� anche essere zero. Il Framework .NET � gratuito, e viene fornito gi� 
coi compilatori anche nella sola versione ridistribuibile. Per l'IDE 
esistono le versioni dei singoli linguaggi di VS Express, gratuiti e 
ottimi per cominciare.
Esiste anche SharpDevelop, leggero, gratuito e open source.


Cosa ha in pi� visual basic 6 che le versioni piu recenti non hanno?
E' molto pi� semplice ed elastico di altri linguaggi, e a mio parere pi� facile
da apprendere.
Per� queste sue doti sono le cose che vengono pi� contenstate da parte di
programmatori 'professionali'.
Mi riferisco per esempio alla possibilit� di non dichiarare le variabili, al
fatto che basti un DEFLNG A-Z all'inizio di un modulo per non avere pi�
problemi.
Poi il fatto che sia stato pensato ai tempi di W98 non � sempre un male, se
pensi che per aprire VB5 ci vogliono su un pc moderno meno di 2 secondi contro i
30 - 40 o pi� per aprire l' ide di VB.net.
E anche la rapidit� di esecuzione e le ridotte dimensioni dell'eseguibile o del
pacchetto di installazione sono un vantaggio,  per� se devi fare applicazioni
web based i vantaggi che offre il .net sono moltissimi.
In conclusione, se devi iniziare adesso ti conviene partire con il .net e
turarti il naso.
Per chi come il sottoscritto ha diversa roba scritta in VB ci mette molto meno a
fare una applicazione, ma se � una cosa nuova magari con un winsock conviene
partire con .net perch� alla fine i vantaggi possono essere superiori agli
svantaggi.
--
ciao
  Stefano

 E anche la rapidit� di esecuzione e le ridotte dimensioni dell'eseguibile
Le dimensioni di un eseguibile .NET credo che siano quasi sempre 
inferiori a quelle di una analoga applicazione VB6.
In pi� una tipica applicazione .NET pu� essere distribuita semplicemente 
copiando la directory che la contiene, e non � obbligatoria alcuna 
procedura di installazione. Le librerie usate possono starsene 
tranquillamente nella dir dell'eseguibile, e non necessitano di 
registrazione.
Con ILMerge � addirittura possibile inglobare le librerie esterne 
nell'eseguibile (licenza permettendo) in modo da ottenere un unico file EXE.
Il problema principale resta tuttora la presenza (o meglio, la possibile 
assenza) di .NET sul sistema, anche se man mano che passa il tempo 
questo problema si ridimensiona sempre di pi�.


 ma ormai win98 non � piu usato e per di pi� non piu supportato...
Sul "non pi� usato" non direi proprio. Semmai le percentuali sono sono 
molto rilevanti certo.
Sul non supportato, eviterei di scatenare polemiche, ma la mia idea � 
che si faccia solo e soltanto del marketing a casa Microsoft, e quindi 
rendere non supportato XP forzatamente dopo anni di sviluppo, dopo una 
piattaforma finalmente stabile e veloce, su macchine decenti, solo per 
promuovere l'ultimo prodotto e incassare un po' di soldi, non mi pare 
una scelta corretta.
Enrico

 questo problema si ridimensiona sempre di pi�.
Vedi miei messaggi precedenti.
Enrico

 processore rispetto al VB6?
Parlavo di mera dimensione su disco. Le risorse occupate invece sono 
ovviamente superiori rispetto a un analogo programma compilato in codice 
nativo.


 processore rispetto al VB6?
La prima esecuzione � pi� lenta in quanto il programma viene compilato
in linguaggio nativo.
Dalla prima esecuzione in poi hai un programma che gira in codice nativo
ottimizzato per la tua macchina, quindi molto pi� performante di un
equivalente programma VB6.
Nicola

 dovrebbero orientarsi sulla nuova piattaforma no?
VB6 gi� ora non � pi� supportato da MS ma questo non significa che i
programmi smettono di girare.
Non conviene neanche a MS impedire l'esecuzione di codice VB6. Hai idea
di quanti milioni di software in VB6 esistono? Se MS non garantisse la
retrocompatibilit� sarebbe il suo suicidio.
Pensa che, ad oggi, ci sono ancora vecchi programmi DOS che girano in
molte aziende.
Nicola

equivalente programma VB6.
Sul 'molto pi� performante' non sono d'accordo, almeno in termini di velocit�
per le prove che ho fatto a suo tempo con VB2005 e VB5.
Durante l''esecuzione di alcuni cili semplici il VB5 era pi� veloce rtispetto al
.net, mi sembra di circa un 20% (vado a memoria, ma avevo fatto diversi loop e
la differenza cambiava a seconda del tipo di variabile usata)
--
ciao
  Stefano

 la differenza cambiava a seconda del tipo di variabile usata)
Secondo me � difficile fare paragoni, ma semplificare per semplificare 
ho provato un ciclo da 1 a 10.000.000. A ogni ciclo calcola il logaritmo 
naturale dell'intero i e lo assegna a una variabile double.
Non avendo VBx ho confrontato con Lazarus Free Pascal :-)
Lazarus: 520 millisecondi
VB.NET
 (Framework 3.5): 935 millisecondi
Ne dovrei dedurre che 
VB.NET
 � pi� lento dell'80% rispetto a Lazarus.


Ne dovrei dedurre che 
VB.NET
 � pi� lento dell'80% rispetto a Lazarus.
A fare quel tipo di operazioni direi proprio di si.
Qualcuno potrebbe obiettare che questo tipo di test non prova molto, ma fare dei
semplici benchmark serve a vedere cosa fa un software in determinate situazioni.
In determinate applicazioni se serve rapidit� di calcolo � utile sapere queste
cose.
A proposito, ho scaricato anch'io Lazarus per usarlo su Linux ARM, non sono
ancora riuscito a fare un eseguibile funzionante, ma devo anche dire che ci ho
perso poco tempo.
Poi il Pascal che ho usato appartiene ai tempi lontani del TurboPascal per DOS e
non mi ricordo tutto.
I miei vecchi neuroni cominciano a usurarsi.  :-(
--
ciao
  Stefano

 I miei vecchi neuroni cominciano a usurarsi.  :-(
Per il linguaggio e per le librerie di funzioni trovi tutto qui, in PDF:
http://www.freepascal.org/docs.var


PS
Alcune informazioni sul cross compiling le trovi qui:
http://wiki.freepascal.org/Cross_compiling
Cio� produrre un eseguibile per una piattaforma diversa rispetto a 
quella sulla quale si sta programmando.
Normalmente credo che per i classici SO per PC sia pi� agevole compilare 
i sorgenti direttamente sulla piattaforma di destinazione, perch� questo 
� quello che avviene normalmente senza necessit� di alcun intervento 
particolare.



http://www.freepascal.org/docs.var
Grazie
--
ciao
  Stefano

particolare.
Si, per� non credo che l'IDE giri con Ubuntu ARM, finora ho fatto un s.o.
virtuale su QEmu e uso Mono ARM con il complatore VB.net.
Sono partito da qui:
http://iomem.com/archives/2-Running-Linux-for-ARM-processors-under-QEMU.html
Se usando questo riesco a fare un eseguibile in Lazarus posso provare se gira in
emulazione per poi trasferirlo sul tablet.
http://wiki.freepascal.org/Setup_Cross_Compile_For_ARM
Devo dedicarci del tempo, e tra l'altro il pc che uso per quella cosa � un
portatile con sVista che adesso sta usando qualcun altro, ma ci prover� appena
possibile.
--
ciao
  Stefano

 Grazie
Considera anche che il 99% (stima approssimativa, da non prendere come 
certezza :-)) del codice che trovi su internet per Delphi � utilizzabile 
pari pari anche su Lazarus.


particolare.
Si, per� non credo che l'IDE giri con Ubuntu ARM, finora ho fatto un s.o.


 nativo.
Purtroppo IMHO per ora il disco � uno dei problemi "secondari".
Enrico

 Nicola
Certo certo. Innanzitutto non � ottimizzato per la TUA macchina ma per 
l'architettura di base che dovrebbe essere i586 o i686, e da l� si ferma.
L'unico software (e gruppo di software) che ho visto compilato in modo 
da attivare le ottimizzazioni (o, se vogliamo, il "dialetto") del 
processore sono i kernel e i software open source e similari (leggasi, 
Linux e BSD, e i software GNU).
Inoltre io stesso ho fatto prove con software in C e 
VB.NET
. E sono 
arrivato alle stesse conclusioni di "SB".
Enrico



Per� � anche difficile immaginare che una piattaforma di programmazione 
attuale e moderna, che fornisce una sterminata quantit� di librerie e di 
aiuti per il programmatore, possa avere la leggerezza di una piattaforma 
di oltre 10 anni fa.
In campo informatico sono ere geologiche, e un PC di oggi � il lontano 
parente di uno si 10 anni fa.
Poi di sicuro � vero che molti prodotti MS abbiano tendenze elefantiache 
e invasive, per questo bisogna tenere aperte le porte e guardare sempre 
anche alle alternative. Si sceglier� di volta in volta gli strumenti che 
soddisfano i nostri bisogni, non i bisogni di altri.
