VB6 vs C++

TomSawyer1
Per un programmatore che userà sempre e solo Windows, che farà programmi solo per Win32, secondo me non conviene neanche un po' usare il C++ e abbandonare VB6. 1) Le applicazione con VB6 si creano molto velocemente (essendo VB6 un RAD, rapid application developer); col c++, invece, per creare un semplice form ci vuole molto più codice. 2) Una semplice console application, con c++, occupa dieci volte di più di una stessa applicazione VB6 (che in più è dotata anche di un'interfaccia grafica).

So benissimo che il c++ è molto, ma molto più potente, quindi la miglior cosa sarebbe usare il c++ laddove non basti più VB6 e creare delle DLL potenti da essere usate nelle applicazioni VB6. So anche che in genere tutti preferiscono il C++ per la portabilità e altri motivi, ma non sempre i conti tornano a favore del C++.

Risposte
stellacometa
Io come promesso sto iniziando a fare i primi passettini con C++ però come hai ben detto tu, bisogna stare attenti a non abbandonare il VB6 perchè nel suo piccolo è molto agevole e veloce, almeno, io mi trovo bene!!!

luciano791
Se hai la possibilità di conoscere tutti e 2 i linguaggi non ha senso "abbandonarne" uno. A seconda del programma scegli il linguaggio + opportuno. Quando si tratta di gestire file di grosse dimensioni conviene indubbiamente utilizzare il C++.
Lavorando con file anagrafici ho avuto l'esigenza di crearmi programmi standard di ordinamento. Col primo programma fatto in C riesco ad ordinare 1.000.000 di record (con una media di 400 byte di lunghezza) nel giro di 30 secondi. Con VB ci metto almeno un paio di minuti, pur avendo più volte rifatto/migliorato il programma.
Inoltre il C++ è anche + divertente da usare

carlo232
"luciano79":
Inoltre il C++ è anche + divertente da usare


Io penso che il C++ sia un linguaggio esteticamente più bello dal punto di vista matematico, perchè faccia i controlli sui tipi di variabili, distingua = e ==... e anche perchè i compilatori C++ permettono maggiore flessibilità nello scrivere il codice, possiamo andare a capo quando ci pare basta che a fine istruzione scriviamo ;.

Penso anche che il C++ permetta di capire meglio come funziona un programma, ovviamente non è adatto per fare programmi con una grafica elevata in poco tempo e già un animazione con un refresh decente richiede molto tempo e a volte conoscenze non facili da trovare in giro...

Alla fine la storia è sempre la stessa, saper scegliere il linguaggio migliore in base a quello che si deve fare...

Ad esempio VB sarà comodo, ma per le pagine internet vi sconsiglio di usare i VBscript!

eugenio.amitrano
Bisogna fare attenzione.

Il confronto piu' adatto e' tra Basic e C++, che tra i due senza dubbio il Basic e' piu' limitato.

Cio' che rende il VB molto comodo da usare e' la sua eccezionale piattaforma.
Non so se esiste una simile piattaforma anche per il C++, pero', io ne uso una della National che mi mette a disposizione una buona interfaccia grafica e la possibilita' di utilizzare molti oggetti parenti al VB.

Eugenio

TomSawyer1
I compilatori VB offrono più flessibilità (anche in VB si possono scrivere più comandi sulla stessa riga, basta usare ":"), soprattutto il non-obbligo di dichiarare tutte le variabili. E anche in fase di progettazione, VB6 facilita molto le cose.

Se mai dovrò scrivere un programma che non riesco a scrivere con VB6, allora lo prenderò in considerazione, però, per ora, impiego sempre molto meno tempo e memoria per scriverli in VB6.

cianoser
mah... un programmatore non scrive mai due istruzioni sulla stessa riga perchè nel tempo impara a proprie spese cosa siano la leggibilità del codice la ricerca degli errori ecc... Credo che il basic andrebbe eliminato e rimpiazzato da un C-like come ad esempio era il Clipper 5 (database a parte intendo proprio il linguaggio) almeno si potrebbe parlare di coerenza logico formale e potenza. Il VB mi pare un tunnel senza uscita. Uno crede di fare più alla svelta con VB... ma se la cosa è minimamente complessa ci mette 10 volte più che col C. A me risulta così.

carlo232
"cianoser":
mah... un programmatore non scrive mai due istruzioni sulla stessa riga perchè nel tempo impara a proprie spese cosa siano la leggibilità del codice la ricerca degli errori ecc...


Adesso proprio mai mi sembra una esagerazione! Se devo fare una cosa stupida tipo ripetere l'istruzione A e l'istruzione B dieci volte non vedo il motivo di scrivere

for(int i=1;i<=10;i++)
{
         A;
         B;
}


Invece di

for(int i=1;i<=10;i++){A;B;}


beh, se poi non sono l'unico che lavora sul codice allora è un altro discorso...

eugenio.amitrano
"cianoser":
mah... un programmatore non scrive mai due istruzioni sulla stessa riga perchè nel tempo impara a proprie spese cosa siano la leggibilità del codice la ricerca degli errori ecc... Credo che il basic andrebbe eliminato e rimpiazzato da un C-like come ad esempio era il Clipper 5 (database a parte intendo proprio il linguaggio) almeno si potrebbe parlare di coerenza logico formale e potenza. Il VB mi pare un tunnel senza uscita. Uno crede di fare più alla svelta con VB... ma se la cosa è minimamente complessa ci mette 10 volte più che col C. A me risulta così.


Sono daccordo su tutto tranne che per l'eliminazione Basic.
Quale puo' essere il mioglior linguaggio per un approccio con la programmazione se non il Basic.
Il Basic e' il linguaggio che piu' si avvicina all'algoritmo. Giusto ?

Eugenio

luciano791
"cianoser":
mah... un programmatore non scrive mai due istruzioni sulla stessa riga perchè nel tempo impara a proprie spese cosa siano la leggibilità del codice la ricerca degli errori ecc...

Io invece appoggio ampiamente questa affermazione. Non mi interessa se devo scrivere tanto o poco, l'importante è scrivere tutto in modo omogeneo per una facile leggibilità.
Per quello che riguarda il fatto che VB6 non è obbligatorio dichiarare variabili :( . E' un buon motivo per sbagliare e non accorgersi di quello che realmente sta succedendo. Le variabili andrebbero sempre dichiarate!
Inoltre col passare del tempo un programmatore si può creare tanti ocx o dll da rendere il C maneggevole come il VB.

eugenio.amitrano
"luciano79":
Per quello che riguarda il fatto che VB6 non è obbligatorio dichiarare variabili :( . E' un buon motivo per sbagliare e non accorgersi di quello che realmente sta succedendo.

Verissimo!
Quando si iniziano a scrivere programmi complessi, molto spesso per questo motivo in Basic non e' facile capire l'errore.

A presto,
Eugenio

Eredir
"luciano79":
Per quello che riguarda il fatto che VB6 non è obbligatorio dichiarare variabili :( . E' un buon motivo per sbagliare e non accorgersi di quello che realmente sta succedendo. Le variabili andrebbero sempre dichiarate!


E' vero, ma si può rendere obbligatoria la dichiarazione delle variabili con "Option Explicit".

eugenio.amitrano
Bella questa....

luciano791
"Eredir":
E' vero, ma si può rendere obbligatoria la dichiarazione delle variabili con "Option Explicit".


:lol:
Credo che questo lo sapevano tutti.
Si sta discutendo di un'altra cosa: è un vantaggio o no il fatto di non dover dichiarare le variabili?

"Crook":
impiego sempre molto meno tempo e memoria per scriverli in VB6.


Se parli di RAM lo scopo dei puntatori è quello utilizzare meno memoria per rendere il tutto + veloce, quindi guadagni sia in memoria che in velocità (non di poco, ma anche centinaia o migliaia di volte, specie se si tratta di gestione file anagrafici). Se parli di hardisk la memoria che può occupare l'eseguibile influisce in modo praticamente nullo visto i pc di oggi.
In sintesi, li vantaggi che offre VB6 sono l'accessibilità a tutti, la semplicità dell'utilizzo dell'editor, il linguaggio che si avvicina + a quello umano e la velocità di sviluppo di piccoli applicativi.
Tutto il resto, ma soprattutto le prestazioni, vanno a vantaggio del C

carlo232
"luciano79":

Si sta discutendo di un'altra cosa: è un vantaggio o no il fatto di non dover dichiarare le variabili?


Come in ogni cosa nella programmazione... dipende da ciò che si intende fare.

Per programmi semplici o a cui non sia affidata una grande responsabilità, la dichiarazione delle variabili non è così necessaria.

Invece se si tratta di cose importanti come programmi per l'accesso protetto a database o per l'autenticazione su una rete allora direi che la dichiarazione delle variabili dove essere obbligatoria.

In primo luogo permette di trovare più in fretta gli errori, ma soprattutto è più sicura!

Avevo letto un articolo che parlava di come fu forzato (ovviamente agli albori dell'informatica) un programma per la gestione di database aziendali inserendo in un campo per l'autenticazione, dove andava immessa una cifra tra 0 e 9, la lettera "a" che veniva considerata come il numero 65 (il suo codice ascii) e produceva un errore, il software aspettava solo un numero tra 0 e 9, che permetteva di passare i controlli.

Oggi cose del genere non succedono più, comunque con la dichiarazione delle variabili si sta tranquilli, speriamo...

Eredir
"luciano79":
:lol:
Credo che questo lo sapevano tutti.


Se lo dici tu. :-D

"luciano79":
Si sta discutendo di un'altra cosa: è un vantaggio o no il fatto di non dover dichiarare le variabili?


Non credo sia una buona cosa non dichiarare le variabili.
Tuttavia può essere una facilitazione per chi si avvicina alla programmazione e vuole vedere il proprio programmino girare in poco tempo, senza dover stare ore a cercare quale errore di tipo ha commesso.

TomSawyer1
Non penso sia il nodo cruciale la dichiarazione di variabili o meno. Se si fanno programmi di cui non si ha l'intenzione di pubblicare io di rileggere in futuro l sorgente, allora si può fare anche a meno; altrimenti le dichiaro sempre, mi sembra sensato.

Io non conosco bene il c++, quindi penso sia un po' normale non sentirsi a proprio agio agli inizi.

Ecco, a me piacerebbe vedere un esempio del vantaggio che ha il c++ in velocità rispetto al VB6. Intendo lo stesso programma scritto in questi due linguaggi. Così capirei molto meglio.

gigilatrottola2
...nessuno cita il fatto che dichiarando le variabili si permette alla macchina di riservare lo spazio necessario ed allo stesso tempo di trovare errori sintattici/semantici in fase di compilazione...

Tanto per citare un paio di motivi.

vl4dster
scusate ma paragonare il C++ al VisualBasic... non scherziamo dai

Diravan
"vl4d":
scusate ma paragonare il C++ al VisualBasic... non scherziamo dai


sono anche io di questa linea di pensiero a mio modo di vedere non c'è paragone...
Il C++ è decisamente migliore per tutto potenza efficienza pulizia ed ordine del programma

Io sono anche profondamente contrario al " non dichiariamo le variabili tanto... " questo era uno dei punti di " Forza " di PHP e se non erro nella versione 6.0 verrà tolto...

gigilatrottola2
E' anche un brutto vizio di javascript, per rimanere in ambito scripting.

Al di là di tutto... basta guardare i programmi che uno ha installato sul proprio pc: il 95% (almeno) è con ogni probabilità in C++. I giochi lo sono di sicuro.Ci sarà un motivo.
Anzi ce n'è piu di uno.

Ovviamente se uno lo fa solo per hobby, dedicandogli il tempo che riesce a ritagliarsi tra lavoro, studio, cose varie... allora diventa frstrante perche probabilmente impiega quel poco tempo a dover riguardare quanto gia fatto.

Bisogna stargli dietro parecchio e con costanza, perche le cose sono tante. A livello di hobby credo sia molto piu gratificante Java.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.