Newsgroup: it.comp.os.linux.iniziare
Titolo: riguardo il linguaggio C/C++ ... quale S/O va meglio ?

Ciao a tutti, ora che ho scaricato tutto l'impossibile... che ho anche tutto
l'occorrente che mi serve per studiare (ho già cominciato...) ... e premesso
che userò GPP/GCC (se potete anche spiegarmi la differenza)...la domanda è
questa:
mi conviene* installare un altro sistema operativo quale linux oppure E'
MEGLIO per il linguaggio c/c++ usare windows98 ?? quanto è importante
imparare questo linguaggio sotto linux/Unix piuttosto che sotto Windows95/98
?
* non dal punto di vista economico, ma più che altro per imparare un
linguaggio di base "che duri" ...che serva sapere bene fin dall'inizio e non
che dopo un po' di tempo "scade"
la vostra risposta sarà fondamentale per la mia ardua decisione, speriamo
bene.
ciao ciao

 ciao ciao
Ciao Gianni.

 premesso che userò GPP/GCC (se potete anche spiegarmi la differenza)...la
g++ : c++
gcc : c
ciao,
matteo merli

Io uso da molti anni C e C++ in Win con MFC, e Linux con wXWindows
Devi valutare:
Costi e Piattaforme
Se riesci a procurarti MS VC++, per iniziare č indubbiamente il piů adatto
per imparare, anche i libri sono di piů e fatti meglio.
Se vuoi la portabilitŕ parti subito con wXWindows ed evita le MFC.
Puoi usare GCC con Linux e sotto Win con CygWin.
Lebo

 
I *linguaggi* C e C++ sono gli stessi ovunque. A maggior ragione non
ci sara' nessuna differenza tra le diverse piattaforme. Se hai gia'
Linux comincia pure con Linux --- a meno che il tuo obbiettivo sia di
imparare a progammare aplicazioni per Windows, ovviamente.
Personalmente penso che programmando su Windows si usano molte piu'
cose specifiche al SO ed e' piu' difficile distinguere che cosa e' nel
linguaggio e che cosa e' un'aggiunta della Microsoft, Borland etc.
Progammnado su Unix/Linux non devi usare nessun file che non sia nelle
librerie standard. Certo se poi vuoi programmare interfacce grafiche
devi imparare altre cose, ma per il *linguaggio* e' meglio.
-- 
Stefano - Hodie Idibus Iuniis MMI est

librerie standard.
Mica vero.
Molto spesso con Unix/Linux si usa POSIX e i socket, nonche' i
thread, tutte cose non previste dallo standard del linguaggio.
--
Andrea Laforgia - walkietalkie(at)
libero.it
#exclude <windows.h>

 thread, tutte cose non previste dallo standard del linguaggio.
Volevo dire che se apri un progetto, o come si chiama, in per esempio
Borland C++ Builder, *automaticamente* vengono in cluse un sacco di
cose non standard. In Linux/UNIX se vuoi ce le metti tu, e sai quando
ce le metti. Che poi per interagire col sistema operativo in modo
sofisticato sono richieste cose non standard del linguaggio e'
perfettamente vero.


ce le metti. 
Non e' un confronto accettabile.
C++ Builder e' un ambiente di programmazione.  Anche se programmi
con KDevelop, l'ambiente comincia a includerti cose che non
c'entrano con lo standard, e' chiaro che sia cosi'.
Sotto DOS/Windows, puoi ottenere la stessa cosa che sotto Linux,
ti basta utilizzare un compilatore a riga di comando (come in
Linux) e non avrai nulla di predefinito.


Il problema vero non è quale sistema operativo utilizzare o quale
linguaggio scegliere, il problema è cosa vuoi scrivere come programmi, C
e C++ sono molto simili e molto diversi contemporaneamente, sono simili
perchè condividono la stessa sintassi di scrittura, sono diversi perchè è
completamente opposta l'ottica di progettazione della struttura del
software.
Il C è il prototipo del linguaggio procedurale (qui si arrabbieranno i
fautori del Pascal) per cui la progettazione del software va fatta
tenendo presente la sequenza delle operazioni da svolgere. Il C++ è
invece un linguaggio ad oggetti e in questo caso quando progetti il
software devi pensare prima di tutto ai dati che dovrai elaborare e solo
successivamente alle operazioni che devi svolgere per elaborarli.
Più prosaicamente si può dire che il C è ottimo per scrivere programmi
semplici o che se non altro hanno uno svolgimento lineare (è ottimo per
l'implementazione di algoritmi di calcolo), il C++ è invece molto utile
per lo sviluppo di applicazioni complesse perchè permette uno sviluppo
modulare del programma e consente di mantenere una struttura molto
ordinata del codice.
In definitiva scegliere C o C++ per sviluppare un programma è più una
questione di gusti personali che una reale esigenza, in ogni caso questi
sono 2 linguaggi di programmazione che difficilmente perderanno di
importanza in breve tempo.
Per quanto riguarda i sistemi operativi il discorso è analogo, se
preferisci Linux be, sviluppa sotto Linux, altrimenti lavora sotto
Windows, l'unico consiglio che posso darti è quello di cercare gli
strumenti di sviluppo più adatti per la piattaforma che intendi
utilizzare, come editor con l'higlight del codice e sistemi per la
gestione del progetto in grado di aiutarti  nello sviluppo di
applicazioni complesse.
Per Linux ci sono Anjuta e Kdevelop che ritengo molto validi, mentre per
Windows credo che non ci sia niente di meglio del Visual C++.
Ciao.
Archi.

Complimenti Archi per le ottime precisazioni che condivido.
Lebo
P.S. Sei a Genova ?

walkie...@libero.it
 (Andrea Laforgia) writes:

Non ho detto che non si puo' fare, ho detto che e' piu' semplice farlo
in Linux/UNIX. P.es. in windows gcc, vi ed emacs devono essere
installati dall'utente, e se uno non ha le idee chiare su cosa fare da
subito e' molto piu' probabile che si installi un ambiente di sviluppo
di quelli summenzionati.
-- 
Stefano - Hodie postridie Idus Iunias MMI est