Repository 32bit  Forum
Repository 64bit  Wiki

c o c++ quale dei due?

Forum dedicato alla programmazione.

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.

c o c++ quale dei due?

Messaggioda inux » dom apr 13, 2008 21:37

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.
Avatar utente
inux
Packager
Packager
 
Messaggi: 529
Iscritto il: sab nov 03, 2007 11:36
Località: busto arsizio (VA)
Nome Cognome: Christian Reguzzoni
Slackware: 64 13.1
Desktop: kde

Re: c o c++ quale dei due?

Messaggioda spudhead » dom apr 13, 2008 21:57

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++!
Avatar utente
spudhead
Linux 2.0
Linux 2.0
 
Messaggi: 130
Iscritto il: sab dic 17, 2005 0:17
Località: Ancona, Italy
Slackware: 12.2
Kernel: 2.6.28.7
Desktop: KDE 3.5.10

Re: c o c++ quale dei due?

Messaggioda gioco » dom apr 13, 2008 22:06

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.

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.

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.
Avatar utente
gioco
Packager
Packager
 
Messaggi: 900
Iscritto il: sab giu 18, 2005 23:00
Località: in the court of the Wesnoth king
Slackware: last stable

Re: c o c++ quale dei due?

Messaggioda phobos3576 » dom apr 13, 2008 22:11

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!

Non ricordo chi disse questa bellissima frase: "chi non capisce nulla di una determinata materia la insegna all'università!"
Avatar utente
phobos3576
Staff
Staff
 
Messaggi: 2980
Iscritto il: sab apr 16, 2005 23:00
Slackware: 13.1
Kernel: 2.6.37-smp
Desktop: KDE 4.5.3

Re: c o c++ quale dei due?

Messaggioda inux » dom apr 13, 2008 22:16

grazie per le risposte ciao. :D
Avatar utente
inux
Packager
Packager
 
Messaggi: 529
Iscritto il: sab nov 03, 2007 11:36
Località: busto arsizio (VA)
Nome Cognome: Christian Reguzzoni
Slackware: 64 13.1
Desktop: kde

Re: c o c++ quale dei due?

Messaggioda aschenaz » lun apr 14, 2008 6:09

Il mio prof dell'universita delle Marche ha sempre definito il C++ come "una porcheria"... Preferisce il Java per gli oggetti... Mah!

Non è che intendeva il c#?
pensieriemotivi.aschenaz.eu - music-blog
Avatar utente
aschenaz
Staff
Staff
 
Messaggi: 4425
Iscritto il: mar lug 27, 2004 23:00
Località: Reggio Calabria
Nome Cognome: Nino
Slackware: current 64bit
Kernel: 3.14.18
Desktop: KDE 4.10.5

Re: c o c++ quale dei due?

Messaggioda 414N » lun apr 14, 2008 9:46

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à.
Avatar utente
414N
Iper Master
Iper Master
 
Messaggi: 2882
Iscritto il: mer feb 13, 2008 16:19
Località: Bulagna
Slackware: 14.0 (x64)
Kernel: 3.2.29
Desktop: LXDE

Re: c o c++ quale dei due?

Messaggioda absinthe » lun apr 14, 2008 10:09

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
Avatar utente
absinthe
Iper Master
Iper Master
 
Messaggi: 2354
Iscritto il: sab mag 14, 2005 23:00
Località: Prato
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze

Re: c o c++ quale dei due?

Messaggioda 414N » lun apr 14, 2008 10:28

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

Insomma... L'ereditarietà multipla la vedo un po' sporchina in C++...
Avatar utente
414N
Iper Master
Iper Master
 
Messaggi: 2882
Iscritto il: mer feb 13, 2008 16:19
Località: Bulagna
Slackware: 14.0 (x64)
Kernel: 3.2.29
Desktop: LXDE

Re: c o c++ quale dei due?

Messaggioda gioco » lun apr 14, 2008 10:54

414N ha scritto:
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

Insomma... L'ereditarietà multipla la vedo un po' sporchina in C++...

Diciamo che con il C++ il programmatore deve sapere quello che sta facendo. Il Java, invece, risolve i problemi del programmatore introducendo limitazioni.
Avatar utente
gioco
Packager
Packager
 
Messaggi: 900
Iscritto il: sab giu 18, 2005 23:00
Località: in the court of the Wesnoth king
Slackware: last stable

Re: c o c++ quale dei due?

Messaggioda cymon » lun apr 14, 2008 11:14

gioco ha scritto:
414N ha scritto:
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

Insomma... L'ereditarietà multipla la vedo un po' sporchina in C++...

Diciamo che con il C++ il programmatore deve sapere quello che sta facendo. Il Java, invece, risolve i problemi del programmatore introducendo limitazioni.


Come avevo letto su un blog di Perl (altro linguaggio piuttosto anarchico) JAVA fa delle assunzioni piuttosto offensive su chi lo usa :badgrin: .
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 :oops: ). 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.
Avatar utente
cymon
Linux 2.4
Linux 2.4
 
Messaggi: 430
Iscritto il: ven gen 05, 2007 1:40
Località: Milano
Slackware: 13.1
Kernel: 2.6.33.4-smp
Desktop: Fluxbox

Re: c o c++ quale dei due?

Messaggioda kreen » lun apr 14, 2008 11:43

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.



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.

[-X
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.
Avatar utente
kreen
Linux 2.4
Linux 2.4
 
Messaggi: 228
Iscritto il: mer feb 01, 2006 18:32
Località: Verona
Slackware: 12.0
Kernel: 2.6.21.5-smp
Desktop: KDE

Re: c o c++ quale dei due?

Messaggioda cymon » lun apr 14, 2008 11:58

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.


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à.
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.
Avatar utente
cymon
Linux 2.4
Linux 2.4
 
Messaggi: 430
Iscritto il: ven gen 05, 2007 1:40
Località: Milano
Slackware: 13.1
Kernel: 2.6.33.4-smp
Desktop: Fluxbox

Re: c o c++ quale dei due?

Messaggioda targzeta » lun apr 14, 2008 12:27

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
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6176
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: c o c++ quale dei due?

Messaggioda cymon » lun apr 14, 2008 13:46

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.


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.
Avatar utente
cymon
Linux 2.4
Linux 2.4
 
Messaggi: 430
Iscritto il: ven gen 05, 2007 1:40
Località: Milano
Slackware: 13.1
Kernel: 2.6.33.4-smp
Desktop: Fluxbox

Prossimo

Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite