PDA

View Full Version : C++ o VB???


Mattyfog
22-08-2008, 11:40
Ciao,

ecco qua la mia ultima domanda prima di partire per le vacanze:
mi conviene passare dal C++ al Visual Basic???
voi mi risponderete: "non si può dire", ma io insisto.
Per ora so solo un po' di C++ e mi chiedevo se avesse senso questo passaggio. Una delle domande che più mi assilla è: <<a livello base (diciamo conoscendoli nè bene nè male), si possonoo realizzare applicazioni più complesse con C++ o Visual Basic?
Probabilemente saranno domande un po' assurde ma spero mi sappiate dare una risposta.
ciao e grazie
ps: se mi consigliate il VB meglio VB 6 o VB.NET?

Ziosilvio
22-08-2008, 11:45
Se ti serve un linguaggio abbastanza potente da realizzare applicazioni complesse, ma meno complicato di C++, faresti bene a provare Python.

cdimauro
22-08-2008, 11:53
Concordo: con Python puoi fare praticamente tutto, spendendo anche un decimo del tempo che impiegheresti con linguaggi come C/C++. :cool:

Per iniziare a programmare in Python... vedi firma. :p

k0nt3
22-08-2008, 12:00
visto che stai imparando C++ non ha senso passare a VB dato che ha una sintassi completamente diversa (per VB sottointendo .NET :p VB6 non è nemmeno da prendere in considerazione).
quindi ti consiglio di passare a C# o a Java

WarDuck
22-08-2008, 12:05
Onestamente non conosco Visual Basic, o meglio so che è pappa e ciccia con Windows, ma non vedo perché oggi come oggi bisognerebbe imparare un linguaggio del genere.

Non sarebbe meglio C# che quantomeno è più recente?

variabilepippo
22-08-2008, 12:07
se mi consigliate il VB meglio VB 6 o VB.NET?

VB6 è morto. :yeah:


si possonoo realizzare applicazioni più complesse con C++ o Visual Basic?


Si possono realizzare applicazioni più complesse in C++, ma è complesso realizzare applicazioni complesse in C++... ;)


mi conviene passare dal C++ al Visual Basic???


Io li eviterei entrambi, ci sono linguaggi più produttivi del C++ e linguaggi più potenti del VB (6).

k0nt3
22-08-2008, 12:07
Onestamente non conosco Visual Basic, o meglio so che è pappa e ciccia con Windows, ma non vedo perché oggi come oggi bisognerebbe imparare un linguaggio del genere.

Non sarebbe meglio C# che quantomeno è più recente?

VB.NET non c'entra niente con VB6 (se non per le prime due lettere che compongono il nome :p )
sarebbe perfettamente equivalente a C#, ma consiglio quest'ultimo (o Java) perchè per uno che proviene da C++ è più semplice

Mattyfog
22-08-2008, 12:14
ok grazie

ho visto che mi cosigliate il C#, ma allora una domanda, si tratta di una sorta "di aggiunta" al C o al C++ (oppure non è un aggiunta per niente)? Poi non ho capito è addirittura più recente del VB.NET (sparo)?
Mi avete consigliato anche Python, ma non è un po' vecchiotto (sparo anche qui)?
Infine ultima domanda, mi fate i nomi dei linguaggi più potenti e semplice?
grazie e ciao
ps: sono un bel po' di domande!!!:D

k0nt3
22-08-2008, 12:18
ok grazie

ho visto che mi cosigliate il C#, ma allora una domanda, si tratta di una sorta "di aggiunta" al C o al C++ (oppure non è un aggiunta per niente)? Poi non ho capito è addirittura più recente del VB.NET (sparo)?
Mi avete consigliato anche Python, ma non è un po' vecchiotto (sparo anche qui)?
Infine ultima domanda, mi fate i nomi dei linguaggi più potenti e semplice?
grazie e ciao
ps: sono un bel po' di domande!!!:D

- C# non è un'aggiunta al C++
- VB.NET e C# sono contemporanei
- non c'entra niente quanto è vecchio un linguaggio (talvolta si evolvono)
- Java secondo me è un filino più semplice di C#

Mattyfog
22-08-2008, 12:29
allora resta solo questa domanda:
meglio C# Java Python o esiste altro di più potente???
Ho sentito spesso parlare del delphi ma forse è troppo vecchio.
Riguardo all'età dei linguaggi sono abbastanza rigido, in quanto avendo solo 14 anni non vorrei, se mai mi servisse in futuro, ritrovarmi con qualcosa di antiquato in mano.
ps: se non sbaglio java è multipliattaforma

k0nt3
22-08-2008, 12:33
allora resta solo questa domanda:
meglio C# Java Python o esiste altro di più potente???
Ho sentito spesso parlare del delphi ma forse è troppo vecchio.
Riguardo all'età dei linguaggi sono abbastanza rigido, in quanto avendo solo 14 anni non vorrei, se mai mi servisse in futuro, ritrovarmi con qualcosa di antiquato in mano.

non so cosa intendi per potente, perchè con qualsiasi linguaggio puoi fare qualsiasi cosa :fagiano:
se vuoi qualcosa di simile a C++ prova o Java o C#
se invece vuoi provare qualcosa di totalmente diverso prova Python.
quello che però devi tenere presente è che non conta quale linguaggio usi, le capacità di programmazione che apprendi sono indipendenti dal linguaggio e ti saranno utili per sempre :O

cdimauro
22-08-2008, 12:36
allora resta solo questa domanda:
meglio C# Java Python o esiste altro di più potente???
Tutti i linguaggi di programmazione sono equipotenti.
Ho sentito spesso parlare del delphi ma forse è troppo vecchio.
E' vecchio, ma abbastanza aggiornato (fra qualche mese dovrebbe uscire la versione 2009 :D).
Riguardo all'età dei linguaggi sono abbastanza rigido, in quanto avendo solo 14 anni non vorrei, se mai mi servisse in futuro, ritrovarmi con qualcosa di antiquato in mano.
E' un dubbio legittimo. Python è un linguaggio abbastanza moderno e in continua crescita come utenza.

Inoltre hai il vantaggio di impiegare molto meno tempo a sviluppare un'applicazione rispetto a tanti altri linguaggi, avendo comunque un codice che generalmente è molto più leggibile e manutenibile. :cool:
ps: se non sbaglio java è multipliattaforma
Sì, ma non è l'unico: anche Python lo trovi per tantissime piattaforme.

variabilepippo
22-08-2008, 12:39
meglio C# Java Python


Dipende dai gusti e da cosa devi realizzare.


Ho sentito spesso parlare del delphi ma forse è troppo vecchio.


Non è vecchio, purtroppo è poco supportato, anche se IMHO è ancora il miglior strumento RAD per win32.


Riguardo all'età dei linguaggi sono abbastanza rigido, in quanto avendo solo 14 anni non vorrei, se mai mi servisse in futuro, ritrovarmi con qualcosa di antiquato in mano.


Il linguaggio C risale al 1972 ma è ancora ampiamente usato in molti contesti, la fase progettuale del C++ è iniziata alla fine degli anni '70, il Cobol nasce nei primissimi anni '60. Molti linguaggi migliorano con il passare del tempo (come il vino buono) altri nascono e muoiono nell'arco di pochi anni (vedi VB6).

Scegline uno tra Python, Java e C#, ciò che impari potrai tranquillamente riutilizzarlo quando passerai ad altri linguaggi.

altairz
22-08-2008, 12:49
per non parlare poi del FORTRAN (uno dei primi linguaggi di programmazione, la prima versione è del 1954) che è ancora molto utilizzato in ambito scientifico.
Il dubbio sull'anzianità di un linguaggio è legittimo, ma finchè è ben supportato non dovrebbe costituire un problema.
Tutto dipende da quello che pensi di fare.

Mattyfog
22-08-2008, 12:57
con il python si può realizzare un'interfaccia grafica??

Ziosilvio
22-08-2008, 13:01
Python, ma non è un po' vecchiotto
Si dice collaudato.
con il python si può realizzare un'interfaccia grafica??
Sì, ci sono svariati moduli che lo consentono, ad esempio wxPython è un front-end per le wxWidgets.

Mattyfog
22-08-2008, 13:05
poi toglietemi un'altra dubbio, come mai rispetto ad esempio al C++ o VB il C# e il Java e in particolare Python sono meno utilizzati???
forse alla fine opterò per il C#...

k0nt3
22-08-2008, 13:09
poi toglietemi un'altra dubbio, come mai rispetto ad esempio al C++ o VB il C# e il Java e in particolare Python sono meno utilizzati???
forse alla fine opterò per il C#...

perchè non è vero! credo che java sia il linguaggio più usato al mondo attualmente :sofico:
per quanto valgono questi grafici.. guarda qui http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
indica la diffusione dei vari linguaggi su internet

variabilepippo
22-08-2008, 13:10
come mai rispetto ad esempio al C++ o VB il C# e il Java e in particolare Python sono meno utilizzati???


Chi ti ha detto questa cosa? :rolleyes:

Mattyfog
22-08-2008, 13:13
no bè ho guardato qualche forum e ho visto che c'erano meno messaggi così come su pierotofy i file uplodati erano meno.
Non è che sia indicativo, cioè lo è pochissimo.
Forse ho posto la domanda in maniera sbagliata, dovevo chiedere:
sono meno utilizzati???

DanieleC88
22-08-2008, 13:13
Python è più giovane come linguaggio, ovvio che non sia stato ancora abbracciato da tante persone quante quelle che fanno uso da anni di C++ e simili... E credo che sia un ottimo linguaggio per iniziare.

Probabilmente tu vorrai realizzare applicazioni grafiche con poco sforzo, il che mi sembra normale (dopo che ti sei messo a pasticciare le API Win32 nude e crude ovvio che ti venga lo sconforto... :p), e con Python dovresti "lavorare un pochino di più" perché dovresti usare moduli o strumenti esterni. A questo punto ti consiglio anche io di dare uno sguardo a C#. :)

ciao ;)

k0nt3
22-08-2008, 13:19
Probabilmente tu vorrai realizzare applicazioni grafiche con poco sforzo, il che mi sembra normale (dopo che ti sei messo a pasticciare le API Win32 nude e crude ovvio che ti venga lo sconforto... :p)

:eek: cioè iniziare a programmare e trovarsi davanti le Win32 è decisamente qualcosa di non consigliabile :asd:
c'è di meglio per creare interfacce grafiche in C++, la colpa non è del linguaggio :fagiano:

variabilepippo
22-08-2008, 13:19
sono meno utilizzati???


Devi partire dal presupposto che i linguaggi di programmazione sono strumenti, quindi vengono (o almeno "dovrebbero essere") usati per risolvere nel modo più appropriato i problemi. Linguaggi come il C++ hanno sempre molto "fascino" su chi si avvicina alla programmazione, anche se esistono linguaggi più idonei del C++ per vari compiti.

Quindi prima di chiederti se sono più o meno utilizzati o quanto siano "vecchi", dovresti chiederti: "cosa voglio fare IO con un dato linguaggio?". Per esempio il linguaggio C è molto usato (nonostante l'età) in alcuni contesti e pochissimo in altri, lo stesso discorso vale per quasi tutti i linguaggi.

Python, C# e Java sono tra quelli attualmente più usati perché ti consentono di risolvere una vasta gamma di problemi senza dare le testate contro il muro che daresti se utilizzassi, per esempio, il C.

Mattyfog
22-08-2008, 14:07
ciao grazie,

devo dire che comunque con le api (per quel poco che ho voluto fare) non è che mi trovassi così male (però è anche vero che non conosco le altre possibilità).
Ho guardato lo schema che k0nt3 mi ha indicato e devo dire che il fatto che il C# venga usato solo dal 3% dell'utenza un po' sconforta pensando che molte cose le impararo chiedendo su internet.
Piuttosto perchè mi avete sconsigliato il VB (che tra l'altro pensandoci se poi imparassi il VBA quello certamente mi sarebbe comodo per fare qualcosina con mia madre)?

DanieleC88
22-08-2008, 15:03
Guarda, le API Win32 sono ben poco "automatiche" e molto scomode per le cose di tutti i giorni (se dovessi farmi un'applicazione con una finestrella e poco più la scriverei a mano in quel modo anche io, in passato l'ho fatto, ma per roba "grossa" non me lo sognerei nemmeno). Dai una chance a toolkit più automatici come Qt o wxWidgets e vedrai come sarà più semplice il lavoro. ;)

Non preoccuparti delle percentuali, se dai un'occhiata alla pagina di Wikipedia sul C# (C Sharp) troverai anche i link a community italiane che supportano i neofiti del linguaggio. Il Visual Basic puoi anche impararlo, ma è un linguaggio che a me non piace per diverse cose (dalla sintassi alle opzioni che ti fanno scegliere da che indice parte un'array, cose da pazzi :D), oltre al fatto che è un linguaggio troppo "Windows-dipendente".

ciao ;)

Mattyfog
22-08-2008, 15:12
ok,
ma scusa il C# gira su linux??? mi sembta di no...
e poi ultima domanda conclusiva:
che vantaggi avrei a passare al C#? (lo so che ha questo punto sembra una domanda idiota ma io ho aperto questa discussione proprio per capire se fare un passaggio o no).

nico159
22-08-2008, 15:17
oltre al fatto che è un linguaggio troppo "Windows-dipendente"
Mono pare che abbia sistemato questo punto
http://www.mono-project.com/VisualBasic.NET_support
E mono gira su Mac OS X, Linux, Solaris, FreeBSD... :D

ma scusa il C# gira su linux??? mi sembta di no...
Certo, http://www.mono-project.com/CSharp_Compiler
Tra un pò dovrebbe uscire la versione 2.0 :O

DanieleC88
22-08-2008, 15:21
ok,
ma scusa il C# gira su linux??? mi sembta di no...
"Non esattamente", perché non è ufficialmente supportato, ma con lo sforzo del progetto Mono più o meno riesci a fare partire anche su Linux roba scritta per Windows (io l'ho provato per semplici applicazioni grafiche e mi funzionava, ma non so dirti quanto sia completo il supporto, non credo sia particolarmente avanzato).
e poi ultima domanda conclusiva:
che vantaggi avrei a passare al C#? (lo so che ha questo punto sembra una domanda idiota ma io ho aperto questa discussione proprio per capire se fare un passaggio o no).
Avresti il vantaggio di imparare un linguaggio "serio" che sta cominciando ad essere abbastanza richiesto a livello professionale, e che è anche semplice a sufficienza per non far scappare chi vuole imparare. :)

DanieleC88
22-08-2008, 15:24
oltre al fatto che è un linguaggio troppo "Windows-dipendente"
Mono pare che abbia sistemato questo punto
http://www.mono-project.com/VisualBasic.NET_support
E mono gira su Mac OS X, Linux, Solaris, FreeBSD... :D
Ah questa del VB.NET non la sapevo! :D
Però comunque resta il problema del linguaggio... :p

nico159
22-08-2008, 15:32
"Non esattamente", perché non è ufficialmente supportato, ma con lo sforzo del progetto Mono più o meno riesci a fare partire anche su Linux roba scritta per Windows
http://www.mono-project.com/Software
Diciamo che se la cava, no?
Se si usano le Gtk o le QT non si dovrebbero avere problemi a scrivere app in Linux
EDIT: senza contare http://blog.secondlife.com/2008/08/20/mono-launch/ definitivamente Mono è sulla strada giusta

Mattyfog
22-08-2008, 15:37
ok mi avete convinto proverò il C#!!!
poi se mai imparerò il VBA mi farò un'infarinatura di VB 6!!!
Comunque riguardo ai compilatori:
so che c'è Visual C# Express Edition 2008, ma c'è ne sono altri???
preferirei non fare uso di software piratati!

DanieleC88
22-08-2008, 15:41
http://www.mono-project.com/Software
Diciamo che se la cava, no?
Se si usano le Gtk o le QT non si dovrebbero avere problemi a scrivere app in Linux
EDIT: senza contare http://blog.secondlife.com/2008/08/20/mono-launch/ definitivamente Mono è sulla strada giusta
Ma infatti io ho solo detto che personalmente l'ho provato solo per roba semplice e non conosco fino a che punto sia arrivato il progetto Mono, mica dubito della bontà del progetto. :D

@Mattyfog: vai con la Express... :)

nico159
22-08-2008, 15:43
poi se mai imparerò il VBA mi farò un'infarinatura di VB 6!!!
NON FARLO :D
so che c'è Visual C# Express Edition 2008, ma c'è ne sono altri???
Uhm...non era gratuito? :mbe:
Altrimenti
http://www.go-mono.com/mono-downloads/download.html
Ma purtroppo MonoDevelop non è certo ai livello dell'IDE Microsoft :fagiano:

DanieleC88
22-08-2008, 15:48
Uhm...non era gratuito? :mbe:
Sì, tutta la suite Express è gratuita. Ovviamente mancano un po' di cose, ma per imparare va più che benissimo. :D

DanieleC88
22-08-2008, 15:53
Ma purtroppo MonoDevelop non è certo ai livello dell'IDE Microsoft :fagiano:
C'è anche SharpDevelop: http://www.icsharpcode.net/opensource/sd/

WarDuck
22-08-2008, 15:59
Secondo me a questo punto a lui conviene Java + un IDE come Eclipse o NetBeans (personalmente preferisco quest'ultima, specialmente per le interfaccie grafiche).

Se vuoi usare C# ovviamente vai con il Visual C# Express Edition 2008 della Microsoft: è gratuito.

Mattyfog
22-08-2008, 16:23
meglio il Visual della microsoft che SharpDevelop vero?

variabilepippo
22-08-2008, 16:26
meglio il Visual della microsoft che SharpDevelop vero?


Sì, aveva senso usare #Develop quando non esistevano le versioni Express.

Mattyfog
22-08-2008, 16:43
ok mi sapete consigliare un tutorial online per cominciare?
ho visto che ce n'è uno su html.it , se ne sapete altri sparate, se no cercherò poi io su google.
ciap

variabilepippo
22-08-2008, 16:48
Sarebbe meglio usare un libro, possibilmente in formato cartaceo... Comunque puoi partire dallo studio del testo gratuito AB...C#, Guida alla programmazione in C# (http://www.dotnetarchitects.it/downloadbook.aspx).

Indice:


Introduzione a C# e .NET.
Espone l’architettura del framework .NET ed i suoi componenti e concetti fondamentali, come il Common Language Runtime, la compilazione JIT, la gestione della memoria.

Il primo programma in C#.
E’ un capitolo introduttivo con il quale comincerete immediatamente a mettere le mani in pasta, scrivendo, compilando, eseguendo il classico esempio introduttivo, con una veloce analisi del codice scritto.
Concetti di base.
Il capitolo illustra i concetti fondamentali del linguaggio e della programmazione in C#, introducendo i suoi tipi fondamentali.
Controllo di flusso.
Il quarto capitolo illustra i costrutti di C# per il controllo del flusso di un programma e gli operatori del linguaggio.
Programmazione ad Oggetti.
In questo capitolo vedremo cosa significa programmare ad oggetti e come C# supporta il paradigma di programmazione object oriented.
Classi fondamentali.
Il capitolo espone ed illustra le classi fondamentali messe a disposizione da .NET, come le stringhe, e le collezioni di oggetti.
Concetti avanzati.
E’ un capitolo su argomenti leggermente più avanzati, ma indispensabili se si pensa di sviluppare seriamente in C# o in generale in un linguaggio .NET: eccezioni, delegati ed eventi.
Cenni di Windows Forms.
Qualche cenno sullo sviluppo di un’interfaccia grafica è dato in maniera indipendente da qualunque ambiente di sviluppo integrato, facendo uso semplicemente del puro linguaggio e delle classi .NET dedicate allo scopo.
Cenni di Input/Output.
Nell’ultimo capitolo sono dati i concetti essenziali per potere salvare dati e leggerli da diversi tipi di file, cosa essenziale per applicazioni di una certa importanza.
Appendice: Opzioni del compilatore csc.
Nell’appendice è riportato un rapido riferimento delle opzioni da utilizzare con il compilatore csc da riga di comando.

Mattyfog
22-08-2008, 17:03
si lo so, probabilmente farò così (come ho fatto con il C++) ma, per iniziare, volevo una guida online.
Ciao e grazie