Postato originariamente da Carlo:
In questa sezione si discute di VB6, ho postato una domanda semplice: qualche programmatore usa ancora VB6?
No ... non hai posto questa domanda. Rileggi bene il tuo primo post.
Hai fatto solo "affermazioni" come fossero verità universali.
Per ora sembra che solo Carlos condivide con me la gioia di usare questo stupendo linguaggio
La "gioia" non c'entra nulla. Questo "è stato" uno stupendo linguaggio calato nel suo tempo e nel suo contesto.
Ma adesso è obsoleto, c'è poco da difendere, al di là del tuo entusiasmo.
E te lo dice uno che è stato, per un po' di anni, MVP per VB6 e che quindi una certa esperienza ce l'ha.
gli altri lo fanno solo perchè costretti a mantenere vecchi obsoleti applicativi e ne prendo atto.
Se si ha onestà intellettuale e preparazione nel campo (mi dispiace, ma sembra che tu non sia del campo, come io non sono del tuo e per questo non mi azzardo a giudicare migliore una telecamera di 15 anni fa rispetto ad una di questi tempi ...), si DEVE prendere atto che è necessario utilizzarlo solo per progetti attivi e non per altro.
Quando ho nominato VB.net in questa sezione, l'ho fatto in riferimento alla velocità di esecuzione (é giusto di un solo Thread) ed ho anche postato del codice che riempie una listbox ed aggiorna una label.
Non ho fatto una cosa astratta, mi aspettavo che qualcuno mi dicesse: "guarda che in VB.net non si programma così, stai usando VB.net con la logica di VB6 ed è sbagliato".
Quindi non hai fatto quella domanda di cui parli. Ma hai proposto un confronto tra le piattaforme. E' un'altra storia.
Il confronto non si fa sul riempimento di una listbox ma sulle caratteristiche globali, come ti ho già detto.
Gestione della sicurezza, gestione della memoria, possibilità di scrivere codice a 32/64 bit, possibilità di scrivere applicazioni client (non solo Windows Form ... c'è altro ...), ma anche web e app per smartphone (con possibilità di gestire diversi tipi di smartphone, vedi Xamarin) .... Insomma, un confronto tra due piattaforme non si fa così. Se non sei d'accordo, me ne farò una ragione ...
Un esempio serebbe stato gradito, invece di scagliarvi contro di me come se volessi attaccare VB.net.
Nessuno si scaglia contro di te. Ci sono state risposte di gente che ci lavora con queste cose e che ti ha spiegato come stanno le cose ma tu hai (scortesemente, confermo) snobbato tutti indicando che doveva rispondere solo chi era d'accordo con te ... andiamo ...
Tornado al codice e all'efficienza nel ciclo di for
un errore poichè è inutile aggiornare la label
E non solo ... anche l'assegnazione del dato nella label deve stare nella if, perché non serve finché non si vede ...
E dovresti aggiungere una SuspendLayout / ResumeLayout per la Listbox dato che il ridisegno durante il ciclo non ha senso.
E dovresti eliminare il riferimento di compatibilità Microsoft.VisualBasic in modo da usare classi e modalità di lavoro propri del VB.Net e non del VB6. Ricorda che un Long per il VB.Net è a 64 bit e non a 32 come per il VB6 ... (e l'Integer è a 32 non a 16...) ...
E devi tenere presente che la compilazione per il codice .NET avviene JustInTime ...
Insomma, se non ci lavori, puoi continuare ad utilizzare VB6 (o anche il Quick Basic se vuoi ...).
Se sei nel campo, allora devi solo gestire i tuoi progetti in produzione e iniziare i nuovi con .NET e gli "affetti" non c'entrano nulla. Io avevo, fino a qualche anno fa una grande e delicata applicazione VB6 ... l'ho riscritta (con calma e pazienza) in C# (che preferisco) e adesso sono libero da tanti problemi che NON mi portava il VB6 ma l'avanzare della tecnologia e degli ambienti in cui il programma veniva eseguito. Però ho anche tratto giovamento da .NET le prime volte che ho risolto problemi in pochi minuti, con poche linee, invece che con mille API e il VB6 ...
Ho anche scritto una grande parte di codice (in C++) collegata di un'altra applicazione VB6 (scritta da altri) che attualmente è in produzione in diversi paesi del mondo. Quella NON può essere migrata facilmente (non dipende solo da me) perché prevede investimenti e tempi notevoli, che non si sono voluti fare. Adesso ci sono ENORMI problemi a fare girare il tutto e si devono trovare PC appositi con configurazioni ad hoc molto traballanti per poter continuare a produrre. E tra qualche anno, quando veramente qualcosa bloccherà completamente il suo funzionamento, l'azienda in questione si troverà nei guai ... gli darò il tuo indirizzo per risolvere ... :-)