Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - c Vs VB6
Forum - C/C++ - c Vs VB6

Avatar
cuore napoletano (Normal User)
Pro


Messaggi: 129
Iscritto: 03/02/2011

Segnala al moderatore
Postato alle 14:27
Martedì, 08/03/2011

Salve a tutti,
vorrei proporre una domanda.
Ho cominciato a programmare in VB6 e mi piace molto perchè è facile creare form con tanti controlli.
Invece in C se ho capito bene si possono creare solo videate testuali senza controlli come bottoni textbox listbox e tanto altro.
Ho sfogliato la bibbia del C di kernigm richter e non ho trovato niente di simile.
Ma solo esempio con stampe testuali sul video tipo "Ciao mondo!"
chiedo lumi, grazie

PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 14:33
Martedì, 08/03/2011
in C la "grafica" ovvero la GUI viene realizzata con opportune funzioni di sistema, come ad esempio CreateWindow, etc... Nei libri di C non c'è perchè è dipendente sia dal sistema operativo sia dalla versione di quest'ultimo.

Devi anche considerare i diversi scopi dei linguaggi di programmazione: il vb6 è un linguaggio (o meglio un ambiente) RAD ovvero Rapid Application Development. Parzialmente orientato agli oggetti e incentrato sul concetto di form.

Il C invece è un linguaggio di medio livello general purpose, ovvero ci puoi fare qualsiasi cosa. In vb6 no.

Oltre al fatto dell'obsolescenza di vb6, praticamente deprecato dalla stessa microsoft in favore del framework .NET, non è una gran cosa iniziare a programmare con esso, in quanto è un pessimo esempio di programmazione e porta a produrre un codice veramente di bassa qualità.

Il mio personale consiglio è di lasciar perdere vb6 e studiare .NET, se ti piace la sintassi VB-like studia VB.NET, se C-like studia C#

PM Quote
Avatar
a_butta (Member)
Expert


Messaggi: 578
Iscritto: 16/03/2010

Segnala al moderatore
Postato alle 16:26
Martedì, 08/03/2011
Testo quotato

Postato originariamente da HeDo:
Il C invece è un linguaggio di medio livello general purpose, ovvero ci puoi fare qualsiasi cosa. In vb6 no.



Mi introduco bruscamente nella domanda, essendo il mio quesito "in-topic": che cosa non puoi fare con VB6? Perché ho sentito questa cosa più volte, ma non ho mai compreso a fondo questo dubbio :)

PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 17:04
Martedì, 08/03/2011
Testo quotato

Postato originariamente da a_butta:

Mi introduco bruscamente nella domanda, essendo il mio quesito "in-topic": che cosa non puoi fare con VB6? Perché ho sentito questa cosa più volte, ma non ho mai compreso a fondo questo dubbio :)



beh innanzitutto non c'è un supporto vero (se non con workaround) al multithreading. Tutto il codice vb6 viene eseguito in STA (http://en.wikipedia.org/wiki/Component_Object_Model#Thread ...

non è full-oop, mancano infatti sia l'ereditarietà sia il polimorfismo.

essendo basato su COM si porta dietro tutti i problemi legati al DLL Hell (http://en.wikipedia.org/wiki/Dll_hell)

non è possibile creare dll native, quindi qualsiasi cosa che debba passare per un hook di sistema è irrealizzabile.

non è possibile realizzare servizi di sistema.

non è possibile predicare sui metadati delle classi, in pratica manca il supporto alla reflection.

il framework di base (senza ActiveX/Oggetti COM aggiuntivi) è piuttosto scarno.

ma soprattutto non è più supportato dalla stessa microsoft :)


PM Quote
Avatar
Mte90 (Member)
Guru


Messaggi: 1144
Iscritto: 25/03/2008

Segnala al moderatore
Postato alle 17:16
Martedì, 08/03/2011
Se mi posso intromettere il codice è molto più prolisso e non standard come negli altri lginguaggi per alcune cose.
Inoltre non funziona bene sulle versioni successive ad xp perchè nel frattempo sono cambiate diverse cose.
Per concludere non è saggio affidarsi ad una tecnologia obsoleta e con software costati molto tempo e fatica e ritrovarsi un giorno su un windows nuovo su cui non funzionano o danno problemi, e che non sono facilmente aggiornabili a .Net.
Si ci sono convertitori vb6 in vb.net ma non sono il massimo per via delle differenze di linguaggio e le varie inclusione e chiamate a librerie che in .net non servono più, ci si ritrova quindi a fare il software daccapo.
Poi va detto che i vari controlli o supporti ai nuovi database o librerie non è detto che ci siano ancora per vb6.

PM Quote
Avatar
Ultimo (Member)
Guru


Messaggi: 877
Iscritto: 22/05/2010

Segnala al moderatore
Postato alle 18:25
Martedì, 08/03/2011

In pratica il VB6 è un linguaggio morto, al contrario del C :D


If ok Then GOTO Avanza else GOTO Inizia

PM Quote
Avatar
cuore napoletano (Normal User)
Pro


Messaggi: 129
Iscritto: 03/02/2011

Segnala al moderatore
Postato alle 14:28
Mercoledì, 09/03/2011
ringrazio

PM Quote