|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: May 2006
Città: Monza
Messaggi: 3686
|
The difference between C & C++
Chi me le spiega?
Oltre a sapere le potenzialità, intendo come programmazione, i comandi sono diversi? Quanto diversi? Se imparo C , ci vorrà molto per imparare ad utilizzare C++, o è meglio che impari prima quest'ultimo? Oppure posso impararli parallelamente senza creare confusione?
__________________
" Disprezzato e reietto dagli uomini, uomo dei dolori che ben conosce il patire, come uno davanti al quale ci si copre la faccia, era disprezzato e non ne avevamo alcuna stima." ... "Maltrattato, si lasciò umiliare e non aprì la sua bocca; era come agnello condotto al macello, come pecora muta di fronte ai suoi tosatori, e non aprì la sua bocca" |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
Io direi di iniziare direttametne dal Java ![]() Altrimenti tra quelli da te proposti direi indubbiamente il C++. Nel 2006 non ha alcun senso partire con la programmazione procedurale ormai ![]()
__________________
![]() |
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
Quote:
il C è la base....sopratutto del C++... partire da 0 con C++ vuol dire farsi del male. io partirei con un buon libro tipo K&R, per poi passare a vedere le classi. |
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: May 2006
Città: Monza
Messaggi: 3686
|
Quote:
__________________
" Disprezzato e reietto dagli uomini, uomo dei dolori che ben conosce il patire, come uno davanti al quale ci si copre la faccia, era disprezzato e non ne avevamo alcuna stima." ... "Maltrattato, si lasciò umiliare e non aprì la sua bocca; era come agnello condotto al macello, come pecora muta di fronte ai suoi tosatori, e non aprì la sua bocca" |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
![]() e mi spieghi a ke ti serve partire con la programmazione procedurale? Anke all'università ai tempi eravamo partiti con i costrutti base del C++ (ke sono assolutametne identici al C). Ma mettersi ad imparare la programmazione procedurale nel 2006 non ha il minimo senso. Tanto vale iniziare da un linguaggio come Java o Python/Ruby per capire la programmazione ad oggetti fregandosene delle cose + a basso livello. Ormai la base è saper programare BENE ad oggetti. Ke poi tu sappia usare un linguaggio oppure un altro non ti cambia assolutamente nulla. Almeno io non ho alcuna difficoltà a imparare linguaggi ke non conosco.
__________________
![]() |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
The C Programming Language, Second Edition
by Brian W. Kernighan and Dennis M. Ritchie. la "BIBBIA" del C, meglio in lingua originale la traduzione lascia a desiderare. la versione italiana è di: Gruppo Editoriale Jackson l'originale credo: Prentice Hall, Inc il motivo per cui ti consiglio di partire dal C, è perche libri e documentazione di C++ danno per scontato: sintassi, costrutti e problematiche del C!!!! sfido chiunque sia adigiuno di C a leggere questo libro http://www.research.att.com/~bs/3rd.html ![]() e a capirci qualcosa di più dei primi capitoli Ultima modifica di vizzz : 14-12-2006 alle 16:30. |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: May 2006
Città: Monza
Messaggi: 3686
|
Quote:
__________________
" Disprezzato e reietto dagli uomini, uomo dei dolori che ben conosce il patire, come uno davanti al quale ci si copre la faccia, era disprezzato e non ne avevamo alcuna stima." ... "Maltrattato, si lasciò umiliare e non aprì la sua bocca; era come agnello condotto al macello, come pecora muta di fronte ai suoi tosatori, e non aprì la sua bocca" |
|
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
Proprio per quel motivo il mio consiglio è di lasciar perdere completametne il C/C++ e di concentrarsi piuttosto su C#/Java/Python/Ruby. In questo modo imparerà direttamente la programmazione ad oggetti magari con una buona introduzione sui costrutti di base.
__________________
![]() |
|
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: May 2006
Città: Monza
Messaggi: 3686
|
Quote:
P.S. Devo cmq partire da C o C++, all'esame che devo conseguire devo portare loro due. Però non dico che non mi piacerebbe imparare il C# adesso che M$ ha rilasciato il XNA game studios ![]()
__________________
" Disprezzato e reietto dagli uomini, uomo dei dolori che ben conosce il patire, come uno davanti al quale ci si copre la faccia, era disprezzato e non ne avevamo alcuna stima." ... "Maltrattato, si lasciò umiliare e non aprì la sua bocca; era come agnello condotto al macello, come pecora muta di fronte ai suoi tosatori, e non aprì la sua bocca" Ultima modifica di stgww : 15-12-2006 alle 13:47. |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Feb 2004
Messaggi: 1454
|
tiger non vedo le ragioni di questo tuo accanimento verso i linguaggi di basso livello. la programmazione a oggetti è comoda e facile, ma poco efficiente e quindi decisamente inadatta a certe problematiche. inoltre è molto più semplice da capire se si hanno già le basi della programmazione procedurale.
|
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Il problema principale dei corsi che fin'ora ho visto è che spiegano come usare il linguaggio, ma non spiegano ciò che comporta l'uso dei vari costrutti... Di fatto io preferirei che ci fosse un'introduzione generale alla programmazione OO, spiegando magari le varie entità in gioco (con UML ? Potrebbe essere una strada valida) ed i possibili collegamenti fra le entità... A quel punto è sicuramente possibile imparare come primo linguaggio un linguaggio OO... Imparare direttamente il C++ porta spesso ad usarlo come il C ![]() Quando gli insegnanti capiranno che conoscere un linguaggio non vuol dire solo conoscerne il framework allora sarà possibile... Tutte le difficoltà che si hanno con il C++ derivano secondo me solo dall'approccio sbagliato... Presentare il C++ come un linguaggio OO e non come un insieme di librerie risolverebbe molti problemi di "mentalità" di chi lo usa... Ultima modifica di cionci : 15-12-2006 alle 09:04. |
|
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
volendo potrei anke usare java perchè no? ![]() Il punto nodale ke hai beccato sta proprio nell'ultima frase che hai detto: "il linguaggio è il mezzo, non il fine". E poichè il mezzo deve essere quello che mi dia il risultato migliore, non vedo perchè ad esempio devo masochisticametne mettere a programmare in C su Symbian x il cellulare quando con un decimo del tempo posso fare le stesse cose in Java. Potenzialmente l'ideale sarebbe programmare TUTTO in linguaggi ad alto livello o addirittura in linguaggi di scripting e solo ed esclusivamente le parti "mission-critical", se necessitano di un'ulteriore ottimizzazione, in linguaggi + a basso livello. Purtroppo però questo non è sempre possibile x diverse applicazioni, ma cmq in generale è la soluzione migliore. In questo modo il fine torna ad essere il software da ottenere. Il mezzo + semplice, e quindi quello da utilizzare, non è quasi mai il C, tranne ke in poki casi particolari km appena detto. E cmq una volta imparato il paradigma di programmazione ad oggetti gli verrà naturale cambiare da un linguaggio di programmazione all'altro dato ke cambieranno solo la sintassi di base e le API. Ovviamente se questo gli serve x un corso universitario allora è inutile pensare a kos'è meglio x lui perchè tanto è costretto ad utilizzare uno dei 2 ![]() Cmq fosse x me all'università farei prima corsi di Java e solo dopo quelli di C/C++. Ma si sa.. in italia il masochismo, soprattutto nel mondo del software, è MOLTO ma MOLTO diffuso ![]()
__________________
![]() |
|
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Dec 2001
Città: Milano
Messaggi: 545
|
Da un punto di vista didattico ritengo fondamentale soffermarsi *prima* sugli algoritmi e le strutture dati, senza distrarsi con aspetti OO. Conoscere solo questi ultimi non ti permette comunque di affrontare la stragrande maggioranza dei problemi informatici che si incontrano nella pratica.
Inoltre la programmazione OO non è, imho, lo stato dell'arte.
__________________
Angus the Hunter @ Realm of magic | Angus Young @ Batracer °SetiEmperor°| Ninja Technologies { qualunque cosa sia, è veloce e fa male (cit.) } |
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Dec 2004
Città: Italy
Messaggi: 1248
|
Quote:
Il mio consiglio è partire dalla procedurale, e dallo studio delle varie strutture dati, poi il passaggio alla OO sarà molto semplice. Iniziare subito con le classi senza passare dalle basi secondo me non va molto bene. Poi se uno vuole imparare solo OO per passione o così, nessuno lo vieta ![]() |
|
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
E' chiaro che le strutture dati siano fondamentali e devono essere fatte. Niente vieta di farle dopo la teoria sulla programmazione ad oggetti e di usare un linguaggio OO per le esercitazioni. Sono cose completamente distinte.
|
![]() |
![]() |
![]() |
#16 | |
Senior Member
Iscritto dal: Dec 2001
Città: Milano
Messaggi: 545
|
Quote:
![]()
__________________
Angus the Hunter @ Realm of magic | Angus Young @ Batracer °SetiEmperor°| Ninja Technologies { qualunque cosa sia, è veloce e fa male (cit.) } |
|
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
The difference between C & C++: ++
![]()
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
![]() |
![]() |
![]() |
#18 | |
Senior Member
Iscritto dal: Oct 2003
Città: Roma
Messaggi: 5735
|
Quote:
![]() In ogni caso se ci si diverte a programmare si parte da dove si vuole, se lo si deve fare per lavoro o cmq necessità è bene capire il fine dell'apprendimento quale sia. Cosa devi fare con la programmazione? Come ho già detto io inizierei a vedermi gli algoritimi, ed inizierei a sbattere la testa su come trasformare vari problemi in algoritmi efficienti, così da avere delle buone basi. La documentazione che si trova su internet abbonda (e forse è un problema ![]() ![]() Io in ogni caso ho iniziato con Java, è quello che mi serve per l'università e anche se ho iniziato a scrivere qualche hello world ![]() ![]() |
|
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: May 2006
Città: Monza
Messaggi: 3686
|
Che ci devo fare?
Sicuramente programmi riguardanti l'analisi matematica, e la fisica. Questo lo devo fare, ma già che ci sono volevo imparare anche a fare anche altro. Chi ha visto i miei primi due programmi in C ha capito che sono proprio prima dell'inizio con la programmazione (anche se qualche anno fà avevo seguito un corso di GWBasic ![]() ![]() penso cmq di iniziare a questo punto da C, insomma mi sembrate tutti daccordo sul fatto che sia la base di tutto. Forse il libro che mi ha consigliato vizzz ce l'ha un mio amico, però la versione inglese, che è anche vero che mi ha detto che è migliore, ma che mazzata tradurlo tutto, secondo voi ne vale la pena andarmelo a comprare e i italiano? Nel senso Con quello in italiano si perde molto di qualità? E' semplice da tradurre quello inglese?
__________________
" Disprezzato e reietto dagli uomini, uomo dei dolori che ben conosce il patire, come uno davanti al quale ci si copre la faccia, era disprezzato e non ne avevamo alcuna stima." ... "Maltrattato, si lasciò umiliare e non aprì la sua bocca; era come agnello condotto al macello, come pecora muta di fronte ai suoi tosatori, e non aprì la sua bocca" |
![]() |
![]() |
![]() |
#20 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:46.