Το Στέκι των Πληροφορικών

Γενικά => Γενικά Παιδαγωγικά, Επιστημονικά και Τεχνικά Θέματα => Άρθρα - Βιβλία - Εκπαιδευτικό Λογισμικό => Μήνυμα ξεκίνησε από: Νίκος Αδαμόπουλος στις 05 Νοε 2020, 07:31:47 ΜΜ

Τίτλος: Βιβλία C/C++
Αποστολή από: Νίκος Αδαμόπουλος στις 05 Νοε 2020, 07:31:47 ΜΜ
Έχει κανείς άποψη για κάποιο/κάποια από τα παρακάτω βιβλία;

Η ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++, BJARNE STROUSTRUP
Η ΓΛΩΣΣΑ C++ ΣΕ ΒΑΘΟΣ, ΝΙΚΟΣ Μ. ΧΑΤΖΗΓΙΑΝΝΑΚΗΣ
C++ Προγραμματισμός, 9η Εκδ., Paul J. Deitel, Harvey M. Deitel
Προγραμματισμός με τη C++, 2η Έκδοση, Stroustrup Bjarne

Ας πούμε ότι είναι για κάποιον φοιτητή που έχει ήδη αρκετές γνώσεις προγραμματισμού σε C και θέλει να εμβαθύνει.
Τίτλος: Απ: Βιβλία C/C++
Αποστολή από: bugman στις 05 Νοε 2020, 07:43:22 ΜΜ
Ας περάσει από το https://www.pdfdrive.com/ να δει τι έχει έτοιμο και τσάμπα!
Τίτλος: Απ: Βιβλία C/C++
Αποστολή από: pgrontas στις 05 Νοε 2020, 09:01:34 ΜΜ
Έχω την τρίτη έκδοση του Η ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++ του  Stroustrup.

Όταν το διάβασα το βρήκα πολύ δύσκολο, αλλά το γεγονός ότι είναι από τον δημιουργό της γλώσσας είναι ίσως μια εγγύηση.
Τίτλος: Απ: Βιβλία C/C++
Αποστολή από: bugman στις 05 Νοε 2020, 10:03:33 ΜΜ
θα πρότεινα να δει όλα τα παραδείγματα εδώ:
http://www.rosettacode.org/wiki/Category:C%2B%2B



Λίγα λόγια για τη γλώσσα, όπως την έχω δει εδώ και πολλά χρόνια:

Η C++ στηρίζεται σε βιβλιοθήκες και το τελικό πρόγραμμα που κάνει κανείς είναι αποτέλεσμα επιλογών βιβλιοθηκών (το λέμε και framework).

Με μια απλή ματιά, η γλώσσα έχει κορμό παρόμοιο με αυτό της C. Επιπλέον έχει αντικείμενα αν θες να τα χρησιμοποιήσεις, και μπορείς να τη φορτώσεις με αντικείμενα από βιβλιοθήκες.

Το αρχικό περιβάλλον είναι η κονσόλα (και αυτό που δεν φαίνεται, και λέγεται σωληνώσεις, pipes, κατά μια έννοια οι σωληνώσεις είναι αρχεία ενδιάμεσα μεταξύ προγραμμάτων που εκτελούνται). Δηλαδή είσοδος-έξοδος από μια κονσόλα, και μέσω σωληνώσεων. Για να πάει κανείς σε κάτι που θα του δίνει την ελευθερία να ορίσει την οθόνη που γράφει, να σχεδιάσει, να εμφανίσει παράθυρα, λίστες επιλογής ή ότι άλλο, πρέπει να κάνει πολύ δουλειά. Οπότε οι εύκολες λύσεις είναι:

1. Μένει σε προγράμματα απλής κονσόλας. (διεπαφή εποχής πριν το 1980)

2. Ξεκινάει με μια γλώσσα Visual τύπου, όπου κυριαρχούν οι φόρμες, τα αντικείμενα σε αυτές, δηλαδή μια εφαρμογή με γραφική διεπαφή (GUI), δηλαδή το τρόπο που δούλευαν τα πράγματα από την εποχή των Windows, και σε ευρύτερο βαθμό αποδοχής τεχνολογίας, από το 95, με τα Windows 95, και τους επεξεργαστές Pentium. To 96 θυμάμαι είχα αγοράσει το πρώτο Windows 95, με 32μπιτο Pentium 100Mhz, 32Mbyte Ram (πολύ καλύτερο από το πρώτο μου, Acorn Electron 8bit 6502, 2Mhz, 32kb Ram, 1984)

Το ερώτημα που προκύπτει είναι, γιατί υπάρχουν αυτές οι δυο κατηγορίες; Δηλαδή γιατί δεν παίζει μόνο αυτή με τα παράθυρα, που είναι πιο νέα; Η απάντηση είναι απλή, είναι θέμα λειτουργίας. Ό,τι δουλεύει με παράθυρα έχει μια εσωτερική διαδικασία ανάγνωσης μηνυμάτων που από τη φύση της τρώει από την ισχύ επεξεργασίας. Έτσι όταν θέλουμε να εκτελούνται υπολογισμοί με ενδιαφέρον στη ταχύτητα εκτέλεσης, τότε τρέχουμε κάτι χωρίς το message loop (τη διαδικασία ανάγνωσης μηνυμάτων). Υπάρχει τρόπος να συνδυαστεί ένα front-end (με message loop) με ένα back-end (καθαρό), το οποίο καλείται κάθε φορά σαν νέο πρόγραμμα ή πρόγραμμα σε αναμονή, να κάνει τη δουλειά του και επιστρέφει το αποτέλεσμα.

Αυτή η ιστορία του back-end & front-end, πήρε μεγάλες διαστάσεις μετά την έλευση του διαδικτύου, όπου εμφανίστηκε ο διαχωρισμός Desktop (εφαρμογές επιφάνειας εργασίας) και web app (εφαρμογές μέσα από browser, αναγνώστη ιστοσελίδων). Το βασίλειο της C++ έπεσε. Νέες γλώσσες φτιάχτηκαν για web app, οι οποίες ήταν τόσο βολικές που παίζουν πια σε desktop, και έμεινε λίγος χώρος για την C++, ίσως για τους λάτρεις του ρετρό!


Η C++ είναι γλώσσα βασιλιάς αλλά την δουλειά την κάνουν άλλες γλώσσες!

ΓΚ
Και καλό ξεμπέρδεμα με το νέο LockDown..
Τίτλος: Απ: Βιβλία C/C++
Αποστολή από: Νίκος Αδαμόπουλος στις 05 Νοε 2020, 11:47:01 ΜΜ
Τα βιβλία της λίστας είναι αυτά που έχουν δώσει για να διαλέξουν οι φοιτητές από τον Εύδοξο για πανεπιστημιακό μάθημα προγραμματισμού. Επομένως δεν τίθεται θέμα για επιλογή της γλώσσας.
Τίτλος: Απ: Βιβλία C/C++
Αποστολή από: bugman στις 06 Νοε 2020, 10:57:26 ΠΜ
Μια γεύση από C++ (αν δεν περιέχει το μάθημα τέτοια στοιχεία, τότε θα μιλάμε για προγραμματισμό στυλ ΑΕΠΠ σε πανεπιστήμιο).

Διάλεξα ένα θέμα από κώδικα στο rosseta code που δείχνει πώς στη C++, με χρήση αντικειμένου, να ορίσεις επιλογή παραμέτρου μεταξύ ακέραιας και πραγματικής.
Το πρόγραμμα το έβαλα εδώ και τρέχει κατευθείαν (είναι repl), δεν χρειάζεται να κατεβάσει κανείς τον compiler.
https://repl.it/@GeorgePhilip1/TroubledParchedServicepack#main.cpp

Ορίζεις int operator()(int x) και float operator()(float x), οπότε το αντικείμενο, κλάσης Acc, που λέγεται a, ως a(10) βάζει 10 ακέραιο και γυρνάει το συνολικό άθροισμα (σε ότι έχουμε βάλει) ως ακέραια τιμή, ενώ ως a(2.3f) βάζει το 2.3 πραγματικό και γυρνάει to άθροισμα ως πραγματική τιμή!

Ο κώδικας, πάρθηκε από εδώ http://www.rosettacode.org/wiki/Accumulator_factory#C.2B.2B

Τίτλος: Απ: Βιβλία C/C++
Αποστολή από: evry στις 06 Νοε 2020, 06:54:05 ΜΜ
Αν θέλει να μάθει από την αρχή C++ και είναι αρχάριος το βιβλίο των Deitel είναι το καλύτερο, είναι πολύ μεγάλο και αναλυτικό, πλατιάζει πολύ, αλλά μπορεί από εκεί να μάθει C++ κάποιος όχι πολύ δυνατός μαθητής/φοιτητής και μάλιστα πολύ καλά.
Τώρα αν απλά πρέπει να επιλέξει ένα βιβλίο για την βιβλιοθήκη του συμφωνώ και εγώ με τον Παναγιώτη, Stroustrup ανεπιφύλακτα. Είναι προχωρημένο, πρέπει να έχεις γράψει κώδικα σε C++ για να το καταλάβεις και να το εκτιμήσεις. Αξίζει όμως τον κόπο.
Αν τώρα κάποιος έχει και άλλες ανησυχίες για την C++ προτείνω το Design and Evolution of C++, πάλι του Stroustrup .
Τίτλος: Απ: Βιβλία C/C++
Αποστολή από: dpa2006 στις 20 Νοε 2020, 12:10:19 ΠΜ
Παράθεση από: Νίκος Αδαμόπουλος στις 05 Νοε 2020, 07:31:47 ΜΜ
Έχει κανείς άποψη για κάποιο/κάποια από τα παρακάτω βιβλία;

Η ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++, BJARNE STROUSTRUP
Η ΓΛΩΣΣΑ C++ ΣΕ ΒΑΘΟΣ, ΝΙΚΟΣ Μ. ΧΑΤΖΗΓΙΑΝΝΑΚΗΣ
C++ Προγραμματισμός, 9η Εκδ., Paul J. Deitel, Harvey M. Deitel
Προγραμματισμός με τη C++, 2η Έκδοση, Stroustrup Bjarne

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


Του Bjarne Stroustrup τα βιβλία είναι στριφνά και όχι για αρχή.
Για αρχή προτείνεται των Deitel.
Θα πρότεινα την αγγλική έκδοση των Deitel για να έχει και την πιο πρόσφατη έκδοση.
Έπειτα ας ασχοληθεί και με τα υπολοιπα.