Βιβλιο C++ (για αρχαριους)

Ξεκίνησε από mhtsos_25, 11 Φεβ 2017, 01:53:19 ΜΜ

« προηγούμενο - επόμενο »

mhtsos_25

Καλησπερα σας!
Θα ηθελα μια καλη προταση για βιβλιο C++ καθως προσφατα τελειωσα την εκμαθηση της C (η οποια ηταν και η πρωτη γλωσσα που εμαθα) και θα ηθελα να συνεχισω με C++.Θα προτιμουσα καποιο βιβλιο το οποιο εχει μεταφραστει στα ελληνικα(ή ειναι ελληνικο) καθοτι δεν θα ηθελα σε πρωτη επαφη να παιδευτω με τα αγγλικα :P.Δεν με απασχολει ιδιαιτερα το πληθος των σελιδων αρκει να ειναι αναλυτικο και οσο το δυνατον πιο κατανοητο για εναν πρωταρη ακομη στο κοσμο του προγραμματισμου :)

itt

Το καλύτερο που θα μπορούσες να βρεις σε ελληνική μετάφραση είναι το The C++ Programming Language του Bjarne Stroustrup και δεν ξέρω αν υπάρχει μετάταφραση του 4ου edition που έχει μέσα και για τη C++ 11.

Στο έχω πει και θα στο ξαναπώ, στη φάση που είσαι θα σου είναι πολύ πιο εύκολο να κάτσεις να μάθεις Python (βασικά δεν μπορώ να φανταστώ καν γιατί να θες να μάθεις C++) και να κάνεις expand στα πολύ βασικά πράγματα που έχεις μάθει στη C.

evry

Για μένα το καλύτερο είναι των Deitel που υπάρχει και στα ελληνικά:
https://www.mgiurdas.gr/biblia/c-programmatismos-4i-ekdosi
Δεν είναι κανένα φοβερό βιβλίο που αξίζει να έχεις στη βιβλιοθήκη σου σε αντίθεση με αυτό του Stroustrup αλλά είναι από τα καλύτερα για να μάθεις μόνος σου. (Αν είσαι τύπος που μαθαίνει προγραμματισμό από βιβλίο κάτι ξεπερασμένο σήμερα  :( )

Ένα άλλο πολύ καλό βιβλίο που μπορείς να κατεβάσεις και δωρεάν είναι η σειρά του Bruce Eckell
http://mindview.net/Books/TICPP/ThinkingInCPP2e.html

Αυτά έχω εγώ υπόψη μου γιατί από αυτά έμαθα αλλά σίγουρα τα τελευταία χρόνια θα έχουν βγει και καλύτερα όπως τα παρακάτω που δίνει η λίστα του stack overflow:
Λίστα Βιβλίων C++ από stack overflow

Τώρα σχετικά με το βιβλίο του Stroustrup αν ο itt αναφέρεται στο παλιό καλό βιβλίο δεν θα σου συνιστούσα να το πάρεις σε καμία περίπτωση για να μάθεις μόνος σου γιατί θα απογοητευτείς. Πρέπει ήδη να ξέρεις C++!!!

Ενώ είναι σίγουρα ένα εξαιρετικό και πλήρες βιβλίο δε νομίζω ότι είναι το καλύτερο για έναν αρχάριο στον προγραμματισμό με C++.
Εκτός και αν ο itt εννοεί κάποια πιο πρόσφατη έκδοση που απευθύνεται και σε ταπεινούς θνητούς
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

pgrontas

Συμφωνώ με τον Ευριπίδη ειδικά για το βιβλίο του Stroustrup, ως παθών. Προσπάθησα να μάθω C++ από τη δεύτερη έκδοση τού -  νομιζω- και απέτυχα -  σίγουρα δεν είναι για αρχάριους.

Παράλληλα ή καλύτερα  μετά  το βιβλίο που θα επιλέξεις τελικά θα σου προτείνα να κοιτάς έτοιμο κώδικα και να πειραματιστεις. Μπορείς να ψάξεις στο Github για κάτι που σε ενδιαφέρει.  Ίσως σου φανούν χρήσιμα και τα παρακάτω βιβλία του Δ. Σπινελλη
http://www.spinellis.gr/codereading/
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

SPY

Παράθεση από: itt στις 11 Φεβ 2017, 07:51:18 ΜΜ
.........
Στο έχω πει και θα στο ξαναπώ, στη φάση που είσαι θα σου είναι πολύ πιο εύκολο να κάτσεις να μάθεις Python (βασικά δεν μπορώ να φανταστώ καν γιατί να θες να μάθεις C++) και να κάνεις expand στα πολύ βασικά πράγματα που έχεις μάθει στη C.
Μήπως μπορείς να γίνεις λίγο σαφέστερος itt; Γιατί να μάθει Python; Να ξεκινήσει κάποιος με Python ως πρώτη γλώσσα το καταλαβαινω. Αλλά να το γυρίσει από C σε Python και μετά πίσω στη C++; Τι όφελος θα έχει;

itt

Παράθεση από: evry στις 11 Φεβ 2017, 10:37:37 ΜΜ
Για μένα το καλύτερο είναι των Deitel που υπάρχει και στα ελληνικά:
https://www.mgiurdas.gr/biblia/c-programmatismos-4i-ekdosi
Δεν είναι κανένα φοβερό βιβλίο που αξίζει να έχεις στη βιβλιοθήκη σου σε αντίθεση με αυτό του Stroustrup αλλά είναι από τα καλύτερα για να μάθεις μόνος σου. (Αν είσαι τύπος που μαθαίνει προγραμματισμό από βιβλίο κάτι ξεπερασμένο σήμερα  :( )

Ένα άλλο πολύ καλό βιβλίο που μπορείς να κατεβάσεις και δωρεάν είναι η σειρά του Bruce Eckell
http://mindview.net/Books/TICPP/ThinkingInCPP2e.html

Αυτά έχω εγώ υπόψη μου γιατί από αυτά έμαθα αλλά σίγουρα τα τελευταία χρόνια θα έχουν βγει και καλύτερα όπως τα παρακάτω που δίνει η λίστα του stack overflow:
Λίστα Βιβλίων C++ από stack overflow

Τώρα σχετικά με το βιβλίο του Stroustrup αν ο itt αναφέρεται στο παλιό καλό βιβλίο δεν θα σου συνιστούσα να το πάρεις σε καμία περίπτωση για να μάθεις μόνος σου γιατί θα απογοητευτείς. Πρέπει ήδη να ξέρεις C++!!!

Ενώ είναι σίγουρα ένα εξαιρετικό και πλήρες βιβλίο δε νομίζω ότι είναι το καλύτερο για έναν αρχάριο στον προγραμματισμό με C++.
Εκτός και αν ο itt εννοεί κάποια πιο πρόσφατη έκδοση που απευθύνεται και σε ταπεινούς θνητούς

Για να "μάθεις" οντως C++ πρέπει να διαβάσεις όλη της σειρά της Addison-Wesley για τη C++ (μιλάμε πάντα στο τι πρέπει να διαβάσεις, ξεχνώντας τις άπειρες ώρες που πρέπει να χαλάσεις στο να κάνεις develop, debugging και γενικά να _δουλέψεις_ C++), να μάθεις να δουλεύεις με την STL, με τη Boost, με TMP κλπ. Επίσης μετά υπάρχουν πολύ ωραία βιβλία όπως το Windows via C++, που μπορούν σου δείξουν εις βάθος, πολύ ενδιαφέρονται concepts.

Ξέρεις ότι είμαι της άποψης πώς δεν αξίζει, σε πρώτη φάση τουλάχιστον, να προσπαθήσεις μάθεις προγραμματισμό με C++, άμα είσαι παντελώς αρχάριος, γιατί η C++ ( ομοίως και η C φυσικά) απαιτούν και να έχεις μια επαφή με το πώς δουλεύει το hardware και το λειτουργικό.

Παράθεση από: SPY στις 12 Φεβ 2017, 07:05:52 ΜΜ
Μήπως μπορείς να γίνεις λίγο σαφέστερος itt; Γιατί να μάθει Python; Να ξεκινήσει κάποιος με Python ως πρώτη γλώσσα το καταλαβαινω. Αλλά να το γυρίσει από C σε Python και μετά πίσω στη C++; Τι όφελος θα έχει;

Εγώ δεν είπα να το γυρίσει σε C++ μετά την python. Είπα να δει python επειδή η C δεν έχει standard βιβλιοθήκη με collections, που σημαίνει ότι μπορεί πολύ εύκολα στην python να παίξει με lists (dynamic arrays) και με associative arrays. Το να κάνει expand μετά, σημαίνει ότι μπορεί να γυρίσει πίσω στη C και να ψαχτεί. Πώς φτιάχνω ένα δυναμικό array;  Πώς αποφασίζω το growth factor αν χρειάζεται reallocation;  Γιατί να μην κάνω απλά το array expand κάτα 1; Τι σκατά κάνει αυτή η memcpy;

Τα hashtables πέρα από το, ουάου αλγόριθμη, ασυμπτωτική ανάλυση, amortized O(1) search time, μπλα μπλα, μπορούν να επιτρέψουν στον άνθρωπο να κάνει τη ζωή του πιο εύκολη.

Μπορεί να γράψει ένα telephones['Νίκος'] = (landline, mobile) και να μην χρειάζεται να έχει διαβάσει 20 σελίδες στον CLRS για να βγάλει άκρη τι παίζει. Αφού δει τι όμορφα είναι τα hashtables ας κάτσει να διαβάσει για perfect hashing και γιατί πρέπει το array με τα buckets να έχει μήκος πρώτο αριθμό και πώς το φτιάχνω όλο αυτό στην ρημάδα τη C, που άμα κάνω ένα χαζό λάθος, μπορεί απλά να πεθάνει το process χωρίς κανένα διαγνωστικό μήνυμα.

Βέβαια σε όλη αυτήν τη συζήτηση δεν έχουμε βάλει καν τον παραγόντα του ότι είμαστε στο 2017 και μπορείς να μην ασχολήθεις καν με C άμα θες να μάθεις μια native γλώσσα για να κάνεις τέτοια πράγματα (η D και η Rust είναι πολύ καλύτερες επιλογές χρόνια τώρα).



dimitrios67

από Python δεν ξερω και πολλα, ειμαι "οπαδος" της "παλιας καλης" C.
Για τον Strourstup εχω την ιδια αποψη με τον Ευριπίδη..ειναι για καποιον "ψαγμενο" που ηδη ξερει πολλα από προγραμματισμό.

Κατα τη γνωμη μου, ενα πολύ καλο βιβλίο για C++ "for beginners" ειναι το "Absolute C++" του Savitch.
Υπαρχει σε ελληνικη μεταφραση ως "Πληρης C++", (ενω το "Absolute Java" το μετεφρασαν σε "Απολυτη Java"??).

Βεβαια τα αγγλικα των βιβλίων προγραμματισμού ειναι (γενικά) απλα.
Οπότε, καλυτερα να κανει καποιος μια προσπαθεια να "συνηθισει" να διαβαζει βιβλία στα αγγλικά,
παρα να "παιδευεται" με ενα μεταφρασμενο βιβλίο.

Η γλώσσα που χρησιμοποιούν ειναι απλη, και χρησιμοποιουνται συνεχως οι ιδιοι και οι ιδιοι οροι του προγραμματισμου κλπ.
Εγω κοιταξει και την ελληνικη εκδοση αλλα περισσοτερο με μπερδεψε παρα με βοήθησε.



dpa2006

#7
Παράθεση από: mhtsos_25 στις 11 Φεβ 2017, 01:53:19 ΜΜ
Καλησπερα σας!
Θα ηθελα μια καλη προταση για βιβλιο C++ καθως προσφατα τελειωσα την εκμαθηση της C (η οποια ηταν και η πρωτη γλωσσα που εμαθα) και θα ηθελα να συνεχισω με C++.Θα προτιμουσα καποιο βιβλιο το οποιο εχει μεταφραστει στα ελληνικα(ή ειναι ελληνικο) καθοτι δεν θα ηθελα σε πρωτη επαφη να παιδευτω με τα αγγλικα :P .Δεν με απασχολει ιδιαιτερα το πληθος των σελιδων αρκει να ειναι αναλυτικο και οσο το δυνατον πιο κατανοητο για εναν πρωταρη ακομη στο κοσμο του προγραμματισμου :)

Ξεκίνησε με Python...
και άσε την C++ (του Herbert Schield είναι πολύ καλό εισαγωγικό βιβλίο) για μετά...!
:)
Computer science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed engines and protein structures in a human cell.source:http://en.wikipedia.org/wiki/Computer_science

pagouris

Γράφω εδώ επειδή δεν θέλω να ανοίξω νέο thread. Μας είχαν δώσει στο ΤΕΙ (Μηχανικών Αυτοματισμού) δύο βιβλία προγραμματισμού το ένα είναι του Deitel το C++ προγραμματισμός ή αλλιώς C++ how to programm και το αλλο του Νίκου Χατζηγιαννάκη Η γλώσσα C++ σε βάθος... Όλα αυτά πέρσι. Ο καθηγητής μας πρότεινε το πρώτο εξάμηνο να ασχοληθούμε με του Χατζηγιαννάκη και στο δεύτερο με του Deitel γιατί το θεωρούσε πιο βαρύ ας πούμε. Το θέμα είναι όμως ότι και τα δύο βιβλία είναι εκδόσεις του 2008. Συγκεκριμένα, επειδή προσπάθησα να εγκαταστήσω στα w10 το cd του Deitel και προφανώς απέτυχα του έστειλα email και του είπα το θέμα που είχα. Μου απάντησε εκτός των άλλων ότι η έκτη έκδοση που έχω είναι σχετικά παλιά και αρκετά πράγματα έχουν αλλάξει (λογικό). Το θέμα είναι όμως ότι το ίδιο μπορεί να ισχυεί και με το βιβλίο του Χατζηγιαννάκη. Τι πιστεύετε; Είχα αρχίσει το βιβλίο του Χατζηγιαννάκη πέρσι και σκέφτομαι μήπως συνεζίσω με αυτό. Κάθε απάντηση ευπρόσδεκτη.

dimitrios67

Προχωρα με τον Χατζηγιαννακη...
Ο DEitel ειναι πολυ "verbose", λεει πολλα και ειναι κουραστικός.
Κατα τη γνωμη μου το καλύερο που εχω δει μεχρι τωρα ειναι το "absolute C++" του Savitch.
Το εχει μεταφρασει ο Τζιολας και ελπίζω να μπει στον "Ευδοξο".

Τις εγκαταστασεις των compilers θα τις κανεις κατεβαζοντας τα προγραμματα απο τα αντιστοιχα sites
π.χ. για τη C++ καλα ειναι το DEvCpp και το CodeBlocks. (orwell devcpp οχι "σκετο" devcpp).
Το δευτερο ειναι σαφως καλύτερο, αλλα αν εχεις δουλεψει με το devcpp και το εχεις συνηθισει...ειναι οκ.
Καλή συνεχεια στις σπουδες σου!

itt

Παράθεση από: pagouris στις 22 Ιουν 2017, 12:39:45 ΠΜ
Γράφω εδώ επειδή δεν θέλω να ανοίξω νέο thread. Μας είχαν δώσει στο ΤΕΙ (Μηχανικών Αυτοματισμού) δύο βιβλία προγραμματισμού το ένα είναι του Deitel το C++ προγραμματισμός ή αλλιώς C++ how to programm και το αλλο του Νίκου Χατζηγιαννάκη Η γλώσσα C++ σε βάθος... Όλα αυτά πέρσι. Ο καθηγητής μας πρότεινε το πρώτο εξάμηνο να ασχοληθούμε με του Χατζηγιαννάκη και στο δεύτερο με του Deitel γιατί το θεωρούσε πιο βαρύ ας πούμε. Το θέμα είναι όμως ότι και τα δύο βιβλία είναι εκδόσεις του 2008. Συγκεκριμένα, επειδή προσπάθησα να εγκαταστήσω στα w10 το cd του Deitel και προφανώς απέτυχα του έστειλα email και του είπα το θέμα που είχα. Μου απάντησε εκτός των άλλων ότι η έκτη έκδοση που έχω είναι σχετικά παλιά και αρκετά πράγματα έχουν αλλάξει (λογικό). Το θέμα είναι όμως ότι το ίδιο μπορεί να ισχυεί και με το βιβλίο του Χατζηγιαννάκη. Τι πιστεύετε; Είχα αρχίσει το βιβλίο του Χατζηγιαννάκη πέρσι και σκέφτομαι μήπως συνεζίσω με αυτό. Κάθε απάντηση ευπρόσδεκτη.

Δεν θα εκφέρω άποψη για τα βιβλία αλλά αν είσαι σε windows 10, ξεκάθαρα σαν development environment θα χρησιμοποιήσεις το Visual Studio 2017 CE (Community Edition), το οποίο είναι free. Οποιοδήποτε θέμα έχεις μπορεί να μου στείλεις pm.

pagouris

Ευχαριστώ πολύ για τις απαντήσεις! Η αλήθεια είναι ότι ο Χατζηγιαννάκης είναι πιο βατός και πιο στρέιτ. Λογικά θα αρχίσω με αυτόν και βλέπουμε. Νομίζω πάντως ότι στις σχολές που θέλω να μπω τώρα κάνουν περισσότερο c και από αντικειμενοστρεφή Java.

asianis

kalimera paidia. o gios mou einai 15 xronon kai pai 1 lykeiou. Thelei na ksekinisei na mathei programmatismo.mporei kapios na mou pi pos mporei na ksekinisei/??

βασίλειος σίμωσης

καλησπέρα .

κανενα δωρεάν καλο βιβλίο για το θέμα αυτό με αρκετα παραδείγματα παρακαλώ
και εάς είναι και αγγλικά .

bugman


dpa2006

Το βιβλίο του Αλεβίζου είναι πολύ καλά,
περισσότερα δωρέαν βιβλία στο αποθετήριο Καλλιπος

Έχει ανάμεσα στα άλλα και το βιβλίο του ΑΛεβίζου
https://repository.kallipos.gr/
Θα βρείτε πολλά βιβλία για προγραμματισμό,αλγόριθμους και θεωρητική θεμελίώση της Επιστήμης των Υπολογιστών
Computer science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed engines and protein structures in a human cell.source:http://en.wikipedia.org/wiki/Computer_science