Εκμάθηση της C++

Ξεκίνησε από accordionman, 01 Μαΐου 2013, 03:29:12 ΜΜ

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

accordionman

Γειά σας παιδιά. Θα ήθελα να ασχοληθώ σοβαρά με την εκμάθηση της C. Ετσι , θα ήθελα να μου προτίνετε εάν γνωρίζεται κάποια βιβλία για να την μάθω. Ξερω πως για να την μαθει κανεις αυτη, πρεπει να γινουν πολλα ξενύχτια. Τέλος παντων...

Απαντήστε μου εαν μπορείται.

sstergou

Κατά καιρούς συνάδελφοι έχουν προτείνει διάφορα βιβλία...
Θα σου πρότεινα να ξεκινήσεις με C πάντως και όχι με C++.

https://alkisg.mysch.gr/steki/index.php?topic=2579.0

https://alkisg.mysch.gr/steki/index.php?topic=1709.0

dpa2006

#2
δες και τα εξής:
1, 2, 3
Επίσης δες αυτόν τον οδηγό
Και καλή γνώση αγγλικών γιατί η ελληνική βιβλιογραφία είναι περιορισμένη.
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

itt

Γιατί θες να μάθεις C;Τι θες να γράψεις σε C;Έχεις χρησιμοποιήσει κάποια άλλη γλώσσα;Θες να μάθεις και C++;Ομοίως,γιατί θες να μάθεις C++;

Άμα αμφιταλαντεύσε για σοβαρούς λόγους μεταξύ των δύο,μην ασχοληθείς καν με C.Με τη C++ σχεδόν σε όλες τις περιπτώσεις θα κάνεις καλύτερα,πιο εύκολα και πιο κομψά τη δουλειά σου.Ακόμα και αν χρειάζεται να χρησιμοποιήσεις κάποιο ΑPI γραμμένο σε C,προτίμησε να γράψεις κάποιο wrapper σε C++,εκτός αν μιλάμε για life critical σύστημα.

Άμα θες να μάθεις σε εισαγωγικό επίπεδο τη γλώσσα,στο πνεύμα μιας γενικής εισαγωγής στον προγραμματισμό,ξέχνα το.Μάθε python,πολύ πιο rewarding και εύκολη.

Άμα θες τόσο πολύ να μάθεις C++,αγόρασε (αν δεν έχεις θέμα με τα αγγλικά)  αυτό http://www.amazon.com/C-Programming-Language-Special/dp/0201700735.

accordionman

πρώτα απο όλα.. Δεν έχω ασχοληθεί με καμία γλωσσα προγραμματισμου παρα μονο με την 'Ψευδογλώσσα'..

Φίλε itt , θέλω να ασχοληθώ σοβαρά με την C++..Δηλαδή θέλω να φτάσω σε επίπεδο να μπορώ να φτιαχνω προγραμματα..Ξέρω ομως ότι για να γίνει αυτό , πρέπει να ασχοληθώ με αυτή παρα πολύ καιρό..τώρα οσον αφορά το βιβλίο που πρότεινες , το εχεις χρησιμοποιήσει δηλαδη το προτινεις επειδή σε βόλεψε και έμαθες απο αυτό ή το προτείνεις επειδή εχει καλές κριτικές??

ΥΓ. ΟΣΟΝ ΑΦΟΡΑ ΤΩΡΑ ΤΗΝ ΕΚΜΑΘΗΣΗ ΤΗΣ C Η ΤΗΣ C++ , πολλοι προτείνουν να ξεκινήσω με την C  και μετά με της c++..άλλοι παλι λένε απευθεία με την C. Πραγματικά δεν ξέρω με ποιά απο τις δύο να αρχίσω. Τώρα πολύ εκτός απο τα βιβλίο που πρότεινες , προτινουν και του C.Primer 5th Edition.. Γνωρίζεις μηπως αν και αυτό ειναι καλό??

itt

#5
Αν με το "ξευδογλώσσα"αναφέρεσαι σε αυτή του ΑΕΠΠ,θα σου προτείνα να μην ασχοληθείς με C++.

Άλλα πάμε απο την αρχή.

Τι είδους προγράμματα θες να φτιάχνεις;Σε ποιους θα απευθύνονται;

Το βιβλίο που σου πρότεινα το έχει γράψει ο Stroustrup,ο αρχικός σχεδιαστής της C++,είναι άψογο και πολύ καλό για μια βασική εισαγωγή.Το Primer(που ανέφερες) είναι επίσης καλό βιβλίο,κατέβασέ τα και τα δύο να τα έχεις.

Δεν υπάρχει κανένας λόγος να μάθεις C,άμα δεν σου ζητηθεί να γράψεις σε C.Πολλόί σου πρότειναν βιβλία για C γιατί ανάφερες πως θέλεις να ασχοληθείς σοβαρά με την εκμάθηση της C.

Όπως γράφω και στην αρχή,πρέπει να ξεκαθαρίσεις τι είδους εφαρμογές θες να γράφεις.Η C++ μπορεί να μην είναι η ιδανική επιλογή,δεδομένου του expotential curve της εκμάθησής της και για άπειρους άλλους τεχνικούς λόγους.

accordionman

Φαντάζομαι πως όλα τα προγράμματα μπορεί να γραφούν στην C++.M μπορεί να κάνω και λάθος.  Προφανώς η C oσο και η   C++ δεν απευθύνονται σε όλους! άρα και τα προγράμματα που φτιάχνονται σε αυτές απευθύνονται σε γνώστες του αντικειμένου. τωρά οσον αφορά το είδος των προγραμμάτων που θα υλοποιήθουν σε αυτες, ειναι αγνωστο για την ώρα!  :D

itt

Aφού γενικά δεν έχεις ασχοληθεί με κάποια γλώσσα,πιάσε μάθε python.   

https://alkisg.mysch.gr/steki/index.php?topic=4733.0 Εδω υπάρχει  μια συζήτηση για ebooks στα ελληνικά.

Oρίστε και ένα αγγλικό πολύ καλό βιβλίο: http://www.diveintopython.net/toc/index.html

Γιατί python;


  • Είναι ένα καλό σύστημα.χωρίς να μπω σε λεπτομέρειες για συγκεκριμένα πλεονεκτήματα.
  • Υπάρχει η IronPython που στην ουσία είνα .NET υλοποίηση οπότε μπορείς όταν ανεβαίνεις επίπεδο,να χρησιμοποιήσεις μείγμα python+C#.
  • Είναι πολύ εύκολη στην εκμάθηση,παίζεις χωρίς να χρειάζεσαι ντουζίνες βιβλιοθηκών
  • Υπάρχει μια ενθουσιώδη και μεγάλη κοινότητα που την υποστηρίζει.
  • Μπορείς να εστιάσεις στο πρόβλημα και όχι να πολεμάς με συγκεκριμένες γλωσσικές δομές.
  • Yπάρχει το django για RAD web εφαρμογών.Πολύ,καλό in par κατά τη γνώμη μου με το Ruby on Rails.

Το να μάθεις python για αρχή,είναι μια πολύ καλή επένδυση.Η C++ είναι μια multiparadigm αχανής ήπειρος,που θα σου πάρει καιρό να την μάθεις άρτια.Τι εννοώ;

Ο compiler της C++ δεν σου προσφέρει το δίχτυ ασφαλείας που χρειάζεται κάποιος αρχάριος.Θα αφήσει να γίνουν compiled πράγματα που σου φαίνονται αθώα,αλλά που θα σε βάλουν στη διαδικασία του debugging ανούσιων σημείων.Θα συνηθήσεις σε μη αποδοτικές τεχνικές επειδή απλά "δουλεύει".Θα πρέπει να ασχοληθείς με low-level και πολλές φορές platform-dependant λεπτομέρειες,αντί να ασχολείσαι με την ουσία,id est το πρόβλημα που θες να επιλύσεις/αλγόριθμο που υλοποιείς.

Μην νομίζεις πώς είμαι κατά της C++ per se,είναι σίγουρα μία απο τις πιο ισχυρές γλώσσες,που σου δίνει την ευελιξία να κάνεις πολλά πράγματα.Αλλά κατα τη γνώμη μου,δεν υπάρχει λόγος να ασχοληθείς με αυτή όντας/ούσα αρχάριος/α,ώς πρώτη επαφή με μία pragmatic γλώσσα.

YΓ. Κάτι που ίσως σου φανεί άσχετο,αλλά είναι πολύ σχετικό άμα το αναλογιστείς.Δεν ξέρω ποια είναι η σχέση σου με τα αγγλικά.Πρέπει να μάθεις σε ένα ικανοποιητικό επίπεδο,αν θες να προχωρήσεις.Είναι η lingua franca της επιστήμης,δεν αναφέρομαι απλώς στο επικοινωνιακό κομμάτι.Συνήθησε την ορολογία,βρες ένα λεξικό,αλλά με την ίδια ευκολία που σου έρχεται στο μυαλό ο αόριστος του "είμαι",πρέπει να αντιμετωπίζεις το bijective function π.χ.

accordionman

Μετα Αγγλικά δεν εχω κανένα προβλημα ! Εχω Proficiency  ! Δεν μου λες, και στην C++ τι ειδους προγραμματα μπορεις να φτιαξεις? Φανταζομαι τα παντα ετσι?

itt

Mπορείς να φτιάξεις πολλά,κάποια είναι πιο εύκολα να τα γράψεις κάποια όχι.Να ρωτήσω προς τι το κόλλημα με τη C++;

accordionman

 Δεν εχω κολλημα! Απλως ρωτω για να μαθω!  :D

itt

#11
Θες να μάθεις τι προγράμματα; Δες μερικά.


accordionman

Να , φτιαχνεις κατι τετοια τετοια και βγαζεις λεφτα!  ;)

itt

Κάτι το οποίο δεν έχει και πολύ σχέση με αυτό που συζητάμε βέβαια.Μπορεί αυτοί που γράψανε σε Lisp να βγάλανε πιο πολλά απλώς και μόνο επειδή υπήρχε συγκεκριμένο target group.Αυτή τη στιγμή το flow είναι το web developing,στο οποίο υπάρχουν πολύ καλύτερες λύσεις απο C++.


accordionman

Προφαν'ως, για να το λες κάτι περισσότερο θα ξερεις απο μένα! τελικά πηρα την αποφαση μου! Θα ασχοληθώ με την C++! Αν και θα δυσκολευτω πολυ! Δεν βαριεσαι! Οτι ξέρει κανείς ειναι καλο! :)