Newsgroup: it.comp.lang.c++
Titolo: Dummies - Chi mi da un buon motivo per imparare C++ anzichè VBasic ?

Scusate l'intrusione, ma sto decidendo l'iscrizione ad una scuola di
programmazione (con relativi costi). Avevo pensato a Visual Basic, che già
conosco abbastanza ma alcuni amici mi hanno consigliato il C++. Il problema
è che non mi hanno saputo dare una motivazione valida.
Voi cosa ne dite?
Innanzi tutto qual'è la differenza base tra C#, C++ e VisualC ?
Quali sono le differenze con la piattaforma .NET?
Grazie a  tutti per l'aiuto offerto. Sarà prezioso.
NDAM

 Quali sono le differenze con la piattaforma .NET?
C++ č standard! Gli altri sono cose private di Microsoft. Quindi la scelta
č: voglio un qualcosa di valido in tutto il mondo, oppure mi voglio legare
ai capricci di un'azienda, che potrebbe anche decidere la dismissione di
queste cose?
Ciao.

 queste cose?
a onor del vero, dire che con il C++ standard vai ovunque è come dire che
non vai da nessuna parte, visto che nel momento che il tuo programma
interagisce con il sistema operativo, il tuo programma diventa non portabile
(ad ovvia esclusione delle applicazioni console che usano gli standard input
ed output).
quindi la domanda che potresti porti è: che cosa ci devo fare? qual'è
l'obiettivo?
se l'obiettivo è specializzarsi, ad esempio, su .NET, allora il C# è più
produttivo, ed è preferibile al vb proprio perchè cugino di altri linguaggi
più evoluti.
se l'obiettivo è sviluppare applicazioni che richiedono lo sfruttamento
massiccio delle potenzialità del tuo calcolatore mantenendo cmq uno stile di
programmazione ad alto livello, allora sicuramente il C++ è imbattibile (il
C è più veloce, ma lo stile di programmazione .. beh .. è tutt'altra cosa).
se l'obiettivo è di creare applicazioni (e non procedure) complete e
portabili, allora il mercato offre Java.
le differenze sostanziali sono  nelle performance, nello stile di
programmazione, nella robustezza, nella portabilità e nella "difficoltà"
tra i citati,
C++ :
- ottime performance
- ottimo livello di standard
- programmazione ad oggetti discreta
- discretamente difficile
- la robustezza dipendente dalla bravura del programmatore
- portabilità elevata se si usa solo ed esclusivamente lo standard
N.B. La portabilità di C++ tra le piattaforme è legata solo ed
esclusivamente al linguaggio. non esiste un framework (ovvero delle classi
per gestire l'interfaccia utente, ad esempio) che funzionino allo stesso
modo su piattaforme diverse.
C#
- perfomance discrete
- in via di standardizzazione (cmq ricorda che è del tutto simile a JAVA)
- programmazione ad oggetti sufficiente
- discretamente semplice
- robustezza "elevata" e cmq legata alla robustezza di .NET
- portabilità limitata a .NET
N.B. La potenza di C# è legata alla potenza del FRAMEWORK .NET, e quindi se
anche il linguaggio è semplice, usare il framework .NET non è cosa che si
imparara in un giorno
JAVA
- performance bassine
- SUN riesce a garantire ottimi livelli di standardizzazione
- programmazione ad oggetti sufficiente
- discretamente semplice
- robustezza elevata
- portabilità quasi universale (lo stesso programma java funziona
virtualmente su ogni piattaforma)
N.B. La potenza di JAVA è legata alla potenza del FRAMEWORK java (standard,
pocket o enterprise), e quindi se anche il linguaggio è semplice, usare il
framework non è cosa che si imparara in un giorno
ora decidi tu: VB è ottimo (anzi uno tra i migliori) per fare certe cose
(interfaccia utente etc) ma scordati di poter fare le stesse cose che fai in
C++ o in Java.
prima individua i tuoi obiettivi e poi decidi verso quale linguaggio andare.
Hope to Help
bye! :)

 
Non è certo bello dipendere dai "capricci" della microsoft, ma tieni 
presente che il C++ "standard" difficilmente può servirti, da solo, 
per sviluppare un'applicazione.
Dovrai molto probabilmente "sporcarti le mani" imparando delle API 
(magari pensate per il C), un framework (che magari sfrutta solo in 
parte le potenzialità del C++), l'architettura di un S.O. (tutti non 
necessariamente microsoft!) o di un microcontrollore (anche se in 
quell'ambito è ancora il C a farla da padrone) e credo che questa sia 
una parte importante (e secondo me divertente) del lavoro di 
programmatore.
Il C++ è uno strumento molto potente ma, proprio per questo, deve 
essere utilizzato (IMHO) da chi ha già delle basi e, per alcuni 
compiti, è utile avere anche le conoscenze necessarie per decidere 
che altri strumenti (linguaggi di script, ad esempio) possono essere 
più adatti per raggiungere lo scopo (ho una visione Machiavellica 
della programmazione :)).
Su it.comp.programmare.win32 si vedono parecchi esempi di persone a 
cui sono stati "messi in mano" MFC o altri framework senza che 
avessero le basi necessarie per comprenderne il funzionamento e che 
si vanno ad "arenare" su problemi davvero banali.
Linguaggi come python, java e ora C# mettono a disposizione un 
framework più ricco rispetto a quello della libreria standard C++ e 
sono forse più adatti per "sperimentare" (vedendo magari qualche 
risultato concreto) prima di tuffarsi nel C++ e suoi "derivati" 
(intesi come API, librerie e framework).
-- 
Valter Minute
vmi...@inwind.it
 (the reply address of this message is invalid)

prima individua i tuoi obiettivi e poi decidi verso quale linguaggio andare.
E se invece di iscriversi ad una scuola (sei sicuro della sua
qualità?) imparasse da solo, magari partendo da qualcosa di più
semplice ed adatto per imparare come Python e Pascal?
[x-post e f/up su it.comp.lang, qui ormai siamo OT]
-- 
Marco Barisione (ICQ 84277092)

 semplice ed adatto per imparare come Python e Pascal?
se volesse imparare da solo il ragionamento non cambia, anzi credo che
sistemi come C# o java abbiano delle curve di apprendimento molto più
rapide.
ultima nota: il linguaggio non è tutto! anche gli ambienti di sviluppo hanno
una loro parte. che ci piacciano o no, questi IDE facilitano il processo di
sviluppo (e quello di apprendimento). purtroppo gli ambienti di sviluppo
(stile VB o stile Delphi) generano codice che magari è anche lontanamente
standard, ma di certo non è portabile.
con Java, invece, puoi sviluppare sotto Windows con NetBeans un programma
che poi potrai lanciare sotto linux piuttosto che sotto mainframe.
ovviamente, ma questo è ovvio (almeno credo), imparare un linguaggio senza
saper programmare non è la scelta migliore.
Hope To Help
bye

l'unica "libreria" [...]
Potremmo, per favore, continuare il discorso su it.comp.lang (o anche
un altro newsgroup) in cui siamo IT?
Ormai questi discorso c'entra troppo poco con il C++.


 saper programmare non è la scelta migliore.
Mi spieghi questa frase!
Ciao
Francesco

 > saper programmare non č la scelta migliore.


gli algoritmi. o no?
Difficilmente concludi qualcosa senza un linguaggio sotto, per questo
è meglio usare un linguaggio semplice che ti distragga poco, non VB
(trope finestre e bottoncini) e C++ (troppo complicato).


 (trope finestre e bottoncini) e C++ (troppo complicato).
sempre per un newbie concordo. e quindi cosa proponi?
se consideriamo anche il mercato cosa potrebbe essere indicato per un
newbie?
da parte mia a chi vuole iniziare ora proporrei di cambiare mestiere .. no
scherzo .. proporrei C#.NET per le seguenti ragioni: ha un mercato, si
impara a lavorare sotto windows con .NET, si impara un pò di object
oriented, ma non è una montagna come il C++, insomma ci si fa un idea per il
futuro e si è già pronti per il mercato. non che il C++ non abbia mercato,
ma magari ha un mercato più esperto e meno incline a dar spazio a chi
inizia.

newbie?
Python non ha molto mercato ma sta crescendo molto velocemente. Poi
meglio partire da un buon linguaggio e imparare a programmare e in un
secondo tempo imparare un linguaggio piů richiesto che non imparare
con un linguaggio molto richiesto.


 standard, ma di certo non è portabile.
Occhio al fatto che le cose stanno cambiando.  
C# e' un linguaggio, di per se', portabile (e' standard ECMA).
C'e' gia' l'implementazione mono di .NET sotto Linux, abbastanza 
completa e funzionante.  Di Delphi c'e' Kylix, il gemello sotto
Linux e sfruttando la libreria CLX scrivi e compili sotto Windows,
trasportando sotto Linux e viceversa.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Siete stati tutti di grande aiuto.
Vorrei spezzare una piccola lancia a mio favore. Non sono proprio cosě a
terra. Conosco la struttura di un processore e il suo funzionamento (sono
perito elettronico). Ho delle basi di Assembly. Faccio dei piccoli programmi
in VBasic e Lotus Script su Domino.
Volevo solo addentrarmi in un linguaggio che mi permetta di creare piccole
applicazioni aziendali.
Grazie comunque a tutti VOI.

 con un linguaggio molto richiesto.
Quello che non ho capito dalla vostra discussione e' se il C++ rimanga un 
linguaggio che valga ancora la pena apprendere o se esistono alternative 
(JAVA, C#, Python, etc.) che permettano di fare le stesse cose del C++ nel 
99% dei casi con 1/10 dello sforzo. Insomma, il C++ e' diventato un 
linguaggio "di nicchia", usato da pochi esperti solo per sviluppi di 
applicazioni particolari oppure ha ancora una larga diffusione?
Saluti
Un Wintermute che teme di aver sbagliato strada...
-- 
La speranza e' l'ultima a morire. Ma muore.

applicazioni particolari oppure ha ancora una larga diffusione?
Se potessi decidere io il C++ me lo toglierei dalle scatole...ma sai
com'č ci sono GIGABYTES di codici e applicazioni scritte in quel
linguaggio :) e VC++ č uno degli ambienti piů usati nella
programmazione professionale, etc, etc, etc
--
Rhymes
rhy...@myself.com
" ride or die "