Γενικά > Άρθρα - Βιβλία - Εκπαιδευτικό Λογισμικό

Βιβλία C/C++

(1/2) > >>

Νίκος Αδαμόπουλος:
Έχει κανείς άποψη για κάποιο/κάποια από τα παρακάτω βιβλία;

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

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

bugman:
Ας περάσει από το https://www.pdfdrive.com/ να δει τι έχει έτοιμο και τσάμπα!

pgrontas:
Έχω την τρίτη έκδοση του Η ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++ του  Stroustrup.

Όταν το διάβασα το βρήκα πολύ δύσκολο, αλλά το γεγονός ότι είναι από τον δημιουργό της γλώσσας είναι ίσως μια εγγύηση.

bugman:
θα πρότεινα να δει όλα τα παραδείγματα εδώ:
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..

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

Πλοήγηση

[0] Λίστα μηνυμάτων

[#] Επόμενη σελίδα

Μετάβαση στην πλήρη έκδοση