|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jul 2006
Messaggi: 95
|
che linguaggio tra C e C++?
Da premettere che devo studiare uno dei due. Alcuni dicono che conviene prima imparare C e poi passare in C++. Altri dicono che è meglio iniziare direttamente con C++ che è più semplice a livello di codice e fa tutto quel che C può fare. Cosa mi consigliate ad un neofuturoprogrammatore?
|
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
devi decidere da solo, qui non otterrai mai una risposta univoca ad una domanda del genere (
); anche se ti rispondono alla fine toccherà a te decidere quale risposta prendere in considerazione, quindi non hai concluso granché dulcis in fundo, posso concederti una considerazione molto saggia, che non risponde direttamente alla tua domanda ma quantomeno va molto oltre le semplici risposte "C" e "C++". la considerazione è la seguente: dipende da cosa vuoi fare; the right tool for the right job. prima scegli la tua strada, poi torna qui e riponi la stessa domanda in questi termini: "quale linguaggio è migliore per fare questo, questo e quell'altro?" sicuramente otterrai risposte molto più utili. infine per confonderti un po' le idee aggiungo che la tua domanda non ha molto senso: se impari C++ impari implicitamente anche C, tranne qualche minima differenza tra i due linguaggi limitata comunque alla sola sintassi; concettualmente il C++ è un sovrainsieme del C. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2000
Città: MILANO
Messaggi: 2662
|
quando programmi in c++ sei costretto o ti viene comodo usare spesso librerie scritte in c. per es. se usi le opengl fino ad oggi sei obbligato. personalmente adoro il c++ perchè per me rimane il linguaggio di alto livello più potente e con più strumenti per strutturare tuttavia il c quando devi accedere ai devices a basso livello è più comodo perchè in quei casi ti serve meno strutturare. il c++ per certi versi, dove non si usano le classi, è più lasco nel senso che ti permette di fare delle cosucce sulle quali il c è più rigido. in buona sostanza io non riuscirei a dirti di scegliere uno o l'altro. io studierei prima il c e poi passerei al c++ ma il problema non sono le differenze sintattiche ma proprio la logica che sta sotto un programma e il modo di strutturare un programma in c e uno in c++ che è ben diversa. sotto ci sono sempre i concetti di tipo opaco ma si aggiungono quello di ereditarietà di varianza e controvarianza nell'utilizzo di una classe o una sua figlia come parametri ecc. insomma se vuoi davvero imparare a programmare la cosa che ti servirà prima o poi è un bel libro di ingegneria del software magari con un po' di assembly che ti spieghi, almeno per cenni, quello che succede a basso livello e che soprattutto ti spieghi quali meccanismi esistono e si vogliono implementare nei vari linguaggi, quale logica c'è dietro. la sintassi di un linguaggio è meno importante di questi concetti. Usare costruttori di tipo come le classi senza avere ben capito la logica che le sottende è solo un modo di fare casino e scrivere programmi sporchi e con una struttura mal fatta. per iniziare comunque a impratichirti con il linguaggio lascerei stare il c++ e comincerei col c. io mi trovo da dio con questo libro: C Didattica e Programmazione di AL KELLEY e IRA POHL della addison-wesley. lo consulto spesso per fare programmi di diverso tipo anche quando scrivo in c++. Per il c++ , come libro didattico per me è eccellente il Lippman sempre della addison-wesley : Corso di programmazione C++.
E' molto utile anche lo stroustrup, che ha inventanto il c++, però è molto meno didattico per chi inizia. Insomma prima assaggia e entra 'nel clima' poi più avanti se ne senti l'esigenza approfondisci l'ing. del software e studia c++. ps 71104 mi sa che nellla prima frase che hai in firma manchi un 'manent' Ultima modifica di Black imp : 12-07-2006 alle 02:13. |
|
|
|
|
|
#4 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
![]() la traduzione sarebbe: le parole volano, le cose scritte pure se ci fai l'aeroplanino |
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Nov 2000
Città: MILANO
Messaggi: 2662
|
Quote:
ommadonna hai ragione ho tradotto etiam con anche se invece di anche |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
io ti consiglio di iniziare col c++ e una volta che ci hai preso familiarita di imparare la sintassi del c, visto che l'unica differenza e la sintassi e qualche funzione in piu nel c++
p.s. 71104 ora traduci anche la seconda |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
|
Quote:
__________________
-> The Motherfucking Manifesto For Programming, Motherfuckers |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Opinione MOOOLTO Personale:
Impara il C++, sicuramente il linguaggio ad oggetti più veloce. C lo siu usa per applicativi più "seri", quando lavori a livello più vicino all'HW. C++ ci fai quello che vuoi, e te lo dice uno che ancora non ha avuto il tempo di mettersi a fare qualcosa di serio con C++. [OT] Non resisto, devo chiedertelo: Perchè C o C++, e invece non menzioni JAVA???[/ot]
__________________
My gaming placement |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
Quote:
qualcosa in contrario?
|
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Nov 2004
Messaggi: 357
|
Si, parecchio
La programmazione oo non sono solo "qualche funzione in più"(che già di per se non significa molto) Inoltre non vedo dove sia diversa la sintassi. E' stata mantenuta la sintassi del C(proprio perchè conosciuta dai più, e dato che il passaggio da C a C++ è più naturale) per poi essere estesa. |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
per funzioni in piu intendevo l'oop, l'overloading delle funzioni ecc.
e poi, riguardo la sintassi, secondo te Codice:
cout << "Hai "<< anni << " anni"; Codice:
printf ("Hai %d anni",anni);
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Nov 2004
Messaggi: 357
|
L'oop non è una funzione, è un modo completamente diverso dal programmare rispetto al procedurale.(il mio vecchio prof di ing del sw ti ucciderebbe
La sintassi è diversa perchè stai facendo due cose diverse con due librerie diverse, non vedo cosa c'entri. Anche in c++ puoi usare la printf() e la sintassi è la stessa. Poi come ho detto il linguaggio è stato esteso con gli iostream, ma non vuol dire cambiare la sintassi Ultima modifica di Andlea : 12-07-2006 alle 12:04. |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
|
io ti consiglierei il c++. Parti subito con lo sviluppo in OOP(e qua oltre a un buon libro sul c++ ti servirebbe un buon libro sulla programmazione a oggetti, non di quelli che ti spiegano comè fatta, ma di quelli che ti spiegano quando e come usarla, che è tutta un altra cosa), che è un paradigma di programmazione piu avanzato della programmazione procedurale.
altrimenti ti avrei consigliato java. E meno potente(meno controllo sulla memoria, no overload degli operatori, no ereditarietà multipla), ma molto piu semplice, visto che devi stare dietro a meno cose. E la potenza in meno(apparte per la gestione della memoria, che non è essenziale avere in tutti gli ambiti) la senti veramente poco. |
|
|
|
|
|
#14 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
FrankPayne, le risposte provenienti dai membri del team di Diamond Crush sono di parte
![]() tranne la mia che è saggia e generica |
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
|
Quote:
Codice:
template <int N>
struct Factorial
{
enum { value = N * Factorial<N - 1>::value };
};
template <>
struct Factorial<0>
{
enum { value = 1 };
};
// Factorial<4>::value == 24
// Factorial<0>::value == 1
__________________
-> The Motherfucking Manifesto For Programming, Motherfuckers |
|
|
|
|
|
|
#16 |
|
Member
Iscritto dal: Jul 2006
Messaggi: 95
|
Ok deciso, imparo C. Grazie per le risposte
|
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
io ho detto di imparare il c++, ma non imparare nel senso di imparare alla perfezione classi, template ecc, intendevo imparare in generale, per poi capire come si fanno le stesse cose in c, in modo da confrontare, ocme ho fatto io, visto che non sono due linguaggi diversi.
se poi nn e un buon metodo, allora.. |
|
|
|
|
|
#18 | |
|
Senior Member
Iscritto dal: Nov 2000
Città: MILANO
Messaggi: 2662
|
Quote:
mi raccomando ricordati che il concetto di interfaccia e di tipo astratto opaco lo puoi anzi lo DEVI sviluppare anche in C solo che è meno protetto e che queste cose non te le spiegano i manuali dei linguaggi. |
|
|
|
|
|
|
#19 | ||
|
Senior Member
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
|
Quote:
Quote:
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n; Utilizzando atomi trivalenti drogheremo il silicio di tipo p; Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo |
||
|
|
|
|
|
#20 |
|
Member
Iscritto dal: Oct 2004
Città: Bologna
Messaggi: 50
|
Come fate a confrontare due linguaggi di programmazione solo dalla loro sintassi?
Fin da subito andava detto che il C++ è un linguaggio orientato agli oggetti, mentre il C non è altro che un linguaggio procedurale, un assembly un po' meno ostico. Quindi anche se sintatticamente il C++ è un sovrainsieme del C, sono due linguaggi che usano due paradigmi diversissimi. Se vuoi studiarti il C, pigliati un tutorial e comincia a provare a buttare giù qualche riga di codice. Può esserti utile per prendere confidenza con le basi della programmazione. Poi dimentica tutte le abitudini che hai preso perchè saranno veleno egli altri linguaggi. Se vuoi studiarti il C++, prendi un libro o un sito che ti spieghi bene i concetti della programmazione agli oggetti (ereditarietà, interfacce, overloading, classi, oggetti, etc.) poi a quel punto puoi pigliarti un libro di C++ o di java per vedere come i vari linguaggi implementano il paradigma a oggetti.
__________________
And the salad is frightful! I have an important message to deliver to all the cute people all over the world. If you're out there and you're cute, maybe you're beautiful. I just want to tell you something: there's more of us ugly mother-fuckers than you are, hey-y, so watch out. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:43.











); anche se ti rispondono alla fine toccherà a te decidere quale risposta prendere in considerazione, quindi non hai concluso granché 








