c o c++ quale dei due?
Moderatore: Staff
Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- inux
- Packager
- Messaggi: 529
- Iscritto il: sab 3 nov 2007, 11:36
- Nome Cognome: Christian Reguzzoni
- Slackware: 64 13.1
- Desktop: kde
- Località: busto arsizio (VA)
c o c++ quale dei due?
finalmente ci si risente dunque girando un po sulla rete ho avuto modo di vedere molti post a riguardo e non ci ho capito niente anzi è aumentata la confusione quindi torno a casa per sentire dei pareri e consigli nella mia community.quale linguaggio è meglio imparare per programmare il c o c++?premetto che sto gia studiando il c, cosa si puo fare col c che non si può fare col c++ e viceversa?quali sono le potenzialita di uno rispetto all'altro? vi prego aiutatemi a capire grazie ciao.
- spudhead
- Linux 1.x
- Messaggi: 130
- Iscritto il: sab 17 dic 2005, 0:17
- Slackware: 12.2
- Kernel: 2.6.28.7
- Desktop: KDE 3.5.10
- Località: Ancona, Italy
Re: c o c++ quale dei due?
Ciao!
Non sono un gran programmatore, anzi, la mia conoscenza è a livelli minimi! Comunque io ti consiglio di capire prima il C, poi il passo al C++ è relativamente "facile", basta capire gli oggetti.
Il C++ è object-oriented mentre il C no ma secondo me iniziare a studiare gli oggetti senza aver sbattuto la testa su puntatori/strutture/liste/alberi non va bene! Il C ti forma meglio! E poi col C ci scrivono il kernel di GNU/Linux!!!
Ti consilgio il libro di C dei Deitel&Deitel... Veramente fatto bene! Ma comunque internet è pieno di guide piu o men chiare! A, ovviamente c'è la Bibbia del C, il Kernighan Ritchie "Il linguaggio C. Principi di programmazione e manuale di riferimento" ma ovviamente è tosto!!!
Giorgio
PS. Il mio prof dell'universita delle Marche ha sempre definito il C++ come "una porcheria"... Preferisce il Java per gli oggetti... Mah!
PPS: riassumendo il mio pensiero: impara il C, poi passa a C++!
Non sono un gran programmatore, anzi, la mia conoscenza è a livelli minimi! Comunque io ti consiglio di capire prima il C, poi il passo al C++ è relativamente "facile", basta capire gli oggetti.
Il C++ è object-oriented mentre il C no ma secondo me iniziare a studiare gli oggetti senza aver sbattuto la testa su puntatori/strutture/liste/alberi non va bene! Il C ti forma meglio! E poi col C ci scrivono il kernel di GNU/Linux!!!
Ti consilgio il libro di C dei Deitel&Deitel... Veramente fatto bene! Ma comunque internet è pieno di guide piu o men chiare! A, ovviamente c'è la Bibbia del C, il Kernighan Ritchie "Il linguaggio C. Principi di programmazione e manuale di riferimento" ma ovviamente è tosto!!!
Giorgio
PS. Il mio prof dell'universita delle Marche ha sempre definito il C++ come "una porcheria"... Preferisce il Java per gli oggetti... Mah!
PPS: riassumendo il mio pensiero: impara il C, poi passa a C++!
- gioco
- Packager
- Messaggi: 900
- Iscritto il: dom 19 giu 2005, 0:00
- Slackware: last stable
- Località: in the court of the Wesnoth king
- Contatta:
Re: c o c++ quale dei due?
Ti consiglio di continuare a studiare il C, sopratutto se stai facendo i primi passi con la programmazione, perchè ti da la possibilità di apprendere i fondamenti della programmazione strutturata, il paradigma procedurale, concetti come i puntatori, la gestione (consapevole) della memoria; tutte cose che un buon programmatore deve conoscere, anche se si ritrovasse a programmare in Java o in altri linguaggi da guanti di velluto.inux ha scritto:premetto che sto gia studiando il c, cosa si puo fare col c che non si può fare col c++ e viceversa?quali sono le potenzialita di uno rispetto all'altro? vi prego aiutatemi a capire grazie ciao.
Il C è un linguaggio ancora molto usato, ma è adatto soprattutto alla programmazione di sistema. Comunque sotto Linux è stato usato per fare di tutto, anche programmi con GUI (GTK).
Il C++ è molto usato, è general purpose, ci puoi fare di tutto: videogiochi, applicazioni varie. E' fondamentalmente un linguaggio a oggetti, anche se essendo un'estensione del C permette di utilizzare anche il paradigma procedurale. Il C++ è adatto se hai intenzione di scrivere programmi con GUI, dato che sono disponibili ottimi toolkit grafici (QT). Ha anche una buona portabilità.
Fatti le ossa con il C e poi passa al C++, c'è a disposizione l'ottimo testo liberamente scaricabile: c++ annotations (http://www.icce.rug.nl/documents/cplusplus/).
Anche per il C trovi molto in rete, ad esempio il gapil (http://gapil.truelite.it/) che troverai molto utile se ti appassionerai alla programmazione di sistema.
- phobos3576
- Staff
- Messaggi: 2980
- Iscritto il: dom 17 apr 2005, 0:00
- Slackware: 13.1
- Kernel: 2.6.37-smp
- Desktop: KDE 4.5.3
Re: c o c++ quale dei due?
Non ricordo chi disse questa bellissima frase: "chi non capisce nulla di una determinata materia la insegna all'università!"spudhead ha scritto:PS. Il mio prof dell'universita delle Marche ha sempre definito il C++ come "una porcheria"... Preferisce il Java per gli oggetti... Mah!
- inux
- Packager
- Messaggi: 529
- Iscritto il: sab 3 nov 2007, 11:36
- Nome Cognome: Christian Reguzzoni
- Slackware: 64 13.1
- Desktop: kde
- Località: busto arsizio (VA)
Re: c o c++ quale dei due?
grazie per le risposte ciao.
- aschenaz
- Staff
- Messaggi: 4623
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
Re: c o c++ quale dei due?
Non è che intendeva il c#?Il mio prof dell'universita delle Marche ha sempre definito il C++ come "una porcheria"... Preferisce il Java per gli oggetti... Mah!
- 414N
- Iper Master
- Messaggi: 2922
- Iscritto il: mer 13 feb 2008, 16:19
- Slackware: 15.0
- Kernel: 5.15.19
- Desktop: KDE5
- Località: Bulagna
- Contatta:
Re: c o c++ quale dei due?
Impara bene il C che è un'ottimo strumento anche per capire come funziona il baracchino a basso livello.
Estendi la conoscenza del C tramite il C++ che introduce (anche se in maniera piuttosto "sporca" rispetto a Java e C#) il paradigma ad oggetti ed altre amenità.
Estendi la conoscenza del C tramite il C++ che introduce (anche se in maniera piuttosto "sporca" rispetto a Java e C#) il paradigma ad oggetti ed altre amenità.
- absinthe
- Iper Master
- Messaggi: 2354
- Iscritto il: dom 15 mag 2005, 0:00
- Nome Cognome: Matteo Nunziati
- Slackware: 12.1 - defunct
- Kernel: 2.6.32-5-amd64
- Desktop: gnome
- Distribuzione: debian squeeze
- Località: Prato
- Contatta:
Re: c o c++ quale dei due?
ci fai esattamente le stesse identiche cose. il c++ supporta la programmazione ad oggetti e la programmazione generica (template). il c è procedurale. a parte la logica diversa, se il progetto non è di dimensioni pantagrueliche e non richiede limature di velocità particolari il c e il c++ si equivalgono. IMHO usare le librerie di base del c++ per fare input/output su std* è da rinco... quindi comunque un pò di c conviene saperlo. ripeto però che salvo condizioni estreme, si tratta di gusti...
M
PS: il c++ non implementa in maniera sporca il paradigma a oggetti, evita IMHO di impiegare il paradigma semplicemente per sprecare tempo (vedi la definizione del main in java . ops... devo aver inavvertitamente innescato una miccia :-P
M
PS: il c++ non implementa in maniera sporca il paradigma a oggetti, evita IMHO di impiegare il paradigma semplicemente per sprecare tempo (vedi la definizione del main in java . ops... devo aver inavvertitamente innescato una miccia :-P
- 414N
- Iper Master
- Messaggi: 2922
- Iscritto il: mer 13 feb 2008, 16:19
- Slackware: 15.0
- Kernel: 5.15.19
- Desktop: KDE5
- Località: Bulagna
- Contatta:
Re: c o c++ quale dei due?
Insomma... L'ereditarietà multipla la vedo un po' sporchina in C++...absinthe ha scritto:PS: il c++ non implementa in maniera sporca il paradigma a oggetti, evita IMHO di impiegare il paradigma semplicemente per sprecare tempo (vedi la definizione del main in java . ops... devo aver inavvertitamente innescato una miccia :-P
- gioco
- Packager
- Messaggi: 900
- Iscritto il: dom 19 giu 2005, 0:00
- Slackware: last stable
- Località: in the court of the Wesnoth king
- Contatta:
Re: c o c++ quale dei due?
Diciamo che con il C++ il programmatore deve sapere quello che sta facendo. Il Java, invece, risolve i problemi del programmatore introducendo limitazioni.414N ha scritto:Insomma... L'ereditarietà multipla la vedo un po' sporchina in C++...absinthe ha scritto:PS: il c++ non implementa in maniera sporca il paradigma a oggetti, evita IMHO di impiegare il paradigma semplicemente per sprecare tempo (vedi la definizione del main in java . ops... devo aver inavvertitamente innescato una miccia :-P
- cymon
- Linux 2.x
- Messaggi: 430
- Iscritto il: ven 5 gen 2007, 1:40
- Slackware: 13.1
- Kernel: 2.6.33.4-smp
- Desktop: Fluxbox
- Località: Milano
- Contatta:
Re: c o c++ quale dei due?
Come avevo letto su un blog di Perl (altro linguaggio piuttosto anarchico) JAVA fa delle assunzioni piuttosto offensive su chi lo usa .gioco ha scritto:Diciamo che con il C++ il programmatore deve sapere quello che sta facendo. Il Java, invece, risolve i problemi del programmatore introducendo limitazioni.414N ha scritto:Insomma... L'ereditarietà multipla la vedo un po' sporchina in C++...absinthe ha scritto:PS: il c++ non implementa in maniera sporca il paradigma a oggetti, evita IMHO di impiegare il paradigma semplicemente per sprecare tempo (vedi la definizione del main in java . ops... devo aver inavvertitamente innescato una miccia :-P
Personamente la mia idea è che il C bisogna impararlo, almeno di base, anche solo perché non puoi andare in giro a dire di non saperlo (io, ad esempio, non ricordo quasi una cippa, ma non posso ammetterlo ). Una volta fatto quello ti si presentano varie scelte, C++ non è una necessaria evoluzione, puoi andare su JAVA alla stessa maniera o anche salpare per lidi pià lontani.
- kreen
- Linux 2.x
- Messaggi: 228
- Iscritto il: mer 1 feb 2006, 18:32
- Slackware: 12.0
- Kernel: 2.6.21.5-smp
- Desktop: KDE
- Località: Verona
Re: c o c++ quale dei due?
inux ha scritto:quale linguaggio è meglio imparare per programmare il c o c++?premetto che sto gia studiando il c, cosa si puo fare col c che non si può fare col c++ e viceversa?quali sono le potenzialita di uno rispetto all'altro? vi prego aiutatemi a capire grazie ciao.
Prima del C++ mi sono occupato del C, ma il passaggio non è per nulla obbligatorio.
Con il C++ puoi fare le identiche cose che fai con il C ed usare le sue librerie.
Tieni in mente una cosa, però (IMHO) non è il C o il C++ che fanno la differenza. La differenza la fa il programmatore.
Puoi scrivere lo stesso programma con entrambi i linguaggi, magari affrontarlo dal punto di vista procedurale con il C, o usando gli oggetti con il C++. Il punto è che la qualità del software la detti a prescindere da quali dei due strumenti utilizzi. Puoi conoscere a menadito tutta la libreria standard del C, ma ciò non ti attribuisce lo status di programmatore.
[-Xgioco ha scritto:Diciamo che con il C++ il programmatore deve sapere quello che sta facendo. Il Java, invece, risolve i problemi del programmatore introducendo limitazioni.
Infatti, all'esame di programmazione all'uni nessuno dei miei compagni ha avuto problemi con il linguaggio Java. Lo dimostra l'alto numero di voti dal 20 al 25 e l'impallamento davanti ad una funzione ricorsiva. Questa storia del Java etichettato come linguaggio di categoria B non la condivido. Il programmatore C è figo. Infatti, bella li', "io all'ITIS ho fatto C, questo Java è una cagata": beccati un bel 22. Eppure sei l'elite del C, uno abituato a puntatori a funzione e allocazione dinamica della memoria doverreb fumarselo un tema del genere.
IMHO, il programmatore deve SEMPRE sapere quello che sta facendo, in C, C++, BASIC e anche in Java.
- cymon
- Linux 2.x
- Messaggi: 430
- Iscritto il: ven 5 gen 2007, 1:40
- Slackware: 13.1
- Kernel: 2.6.33.4-smp
- Desktop: Fluxbox
- Località: Milano
- Contatta:
Re: c o c++ quale dei due?
Concordo assolutamente, il programmatore in una porzione di codice contribuisce al 95%, il linguaggio al 5%. Infatti non sono molto d'accordo con quelli che vogliono imparare diciotto linguaggi, io credo che se ne debba imparare uno VERAMENTE BENE (ovvero non solo in merito alla sintassi, ma anche in merito alla filosofia che gli è sottesa) così da poterlo sfruttare in tutte le sue potenzialità.kreen ha scritto: Infatti, all'esame di programmazione all'uni nessuno dei miei compagni ha avuto problemi con il linguaggio Java. Lo dimostra l'alto numero di voti dal 20 al 25 e l'impallamento davanti ad una funzione ricorsiva. Questa storia del Java etichettato come linguaggio di categoria B non la condivido. Il programmatore C è figo. Infatti, bella li', "io all'ITIS ho fatto C, questo Java è una cagata": beccati un bel 22. Eppure sei l'elite del C, uno abituato a puntatori a funzione e allocazione dinamica della memoria doverreb fumarselo un tema del genere.
IMHO, il programmatore deve SEMPRE sapere quello che sta facendo, in C, C++, BASIC e anche in Java.
JAVA non è un linguaggio di serie B, la sua disciplina è affascinante e essere un ottimo programmatore JAVA è sempre meglio di essere un mediocre programmatore C, ma se si hanno due programmatori mediocri, JAVA e C, soprattutto magari per le cose apparentemente "marginali" come ordine e pulizia, almeno il programmatore JAVA ha delle imposizioni che gli impediscono di essere eccessivamente caotico. Questo, ad esempio in contesti aziendali, è fondamentale.
- targzeta
- Iper Master
- Messaggi: 6628
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: c o c++ quale dei due?
Ho sempre considerato il C IL linguaggio di programmazione e il C++ IL linguaggio di programmazione ad oggetti. C'è da dire che anche con il C si programma ad oggetti, anzi, credo che dopo aver imparato la programmazione ad oggetti non ne si può più fare a meno, e quindi diventa naturale plasmare il C sul paradigma ad oggetti. Quindi si inizia a programmare creando una struttura e una serie di funzioni che ne modificano lo stato. La differenza stà semplicemente nel modo in cui si invocano queste funzioni o metodi (nel caso della programmazione a oggetti).
Una volta che hai imparato questi due linguaggi, in particolare, una volta che hai imparato a programmare con il C e imparato il paradigma di programmazione ad oggetti con il C++, tutti gli altri linguaggi li puoi imparare facilmente.
Per quanto riguarda la storia del "programmatore che fa la differenza", è normale che è il programmatore che fa la differenza, altrimenti non esisterebbero le università di informatica, si insegna il C anche alle superiori o alle università di fisica e ingegnieria informatica. Ma quello che ti insegnano all'università di Informatica è tutta un altra cosa, li ti si insegna a giocare con il linguaggio, non ad usarlo. Ma nonostante tutto, spetta sempre a chi lo apprende innamorasi o no.
La vera differenza è la conoscenza delle librerie a disposizione. Ci sono un sacco, ma proprio un sacco di librerie per C e C++ che fanno praticamente tutto. Solo che non è semplice capire se e dove/come usarle.
Ad esempio io volevo usare la libreria id3tag, ma non ci ho capito una mazza!!! Non ha un manuale con le API, e se devo leggermi il codice per capire cosa vogliono fare i programmatori, tanto vale scrivermelo da me. Però cercando ho scoperto anche la libreria id3lib, che è scritta bene e ben documentata ed ora uso quella se voglio manipolare i tag id3.
Che dire, impara il C e il C++ e poi inizia a divertirti .
Spina
Una volta che hai imparato questi due linguaggi, in particolare, una volta che hai imparato a programmare con il C e imparato il paradigma di programmazione ad oggetti con il C++, tutti gli altri linguaggi li puoi imparare facilmente.
Per quanto riguarda la storia del "programmatore che fa la differenza", è normale che è il programmatore che fa la differenza, altrimenti non esisterebbero le università di informatica, si insegna il C anche alle superiori o alle università di fisica e ingegnieria informatica. Ma quello che ti insegnano all'università di Informatica è tutta un altra cosa, li ti si insegna a giocare con il linguaggio, non ad usarlo. Ma nonostante tutto, spetta sempre a chi lo apprende innamorasi o no.
La vera differenza è la conoscenza delle librerie a disposizione. Ci sono un sacco, ma proprio un sacco di librerie per C e C++ che fanno praticamente tutto. Solo che non è semplice capire se e dove/come usarle.
Ad esempio io volevo usare la libreria id3tag, ma non ci ho capito una mazza!!! Non ha un manuale con le API, e se devo leggermi il codice per capire cosa vogliono fare i programmatori, tanto vale scrivermelo da me. Però cercando ho scoperto anche la libreria id3lib, che è scritta bene e ben documentata ed ora uso quella se voglio manipolare i tag id3.
Che dire, impara il C e il C++ e poi inizia a divertirti .
Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
- cymon
- Linux 2.x
- Messaggi: 430
- Iscritto il: ven 5 gen 2007, 1:40
- Slackware: 13.1
- Kernel: 2.6.33.4-smp
- Desktop: Fluxbox
- Località: Milano
- Contatta:
Re: c o c++ quale dei due?
E su questo bisogna dire che Java è anni luce avanti e forse una delle spinte più importanti al linguaggio la ha data proprio la strutturazione della sua documentazione. Qualunque libreria o pacchetto o suite implementato con un minimo di decenza ha un javadoc che è una reference fondamentale (e standard!) per lo sviluppo.spina ha scritto: Ad esempio io volevo usare la libreria id3tag, ma non ci ho capito una mazza!!! Non ha un manuale con le API, e se devo leggermi il codice per capire cosa vogliono fare i programmatori, tanto vale scrivermelo da me. Però cercando ho scoperto anche la libreria id3lib, che è scritta bene e ben documentata ed ora uso quella se voglio manipolare i tag id3.