twiner Δημοσ. 13 Ιουνίου 2011 Δημοσ. 13 Ιουνίου 2011 python γιατί τα σπάει-θον και την ελληνική λίγο καλύτερα γιατί: προτηνεται --> προτείνετε
backy1993 Δημοσ. 13 Ιουνίου 2011 Μέλος Δημοσ. 13 Ιουνίου 2011 μπορεις να μου πεις 2 λογια για την γλωσσα αυτη και τι την κανει τοσο καλη?
JeNeS Δημοσ. 13 Ιουνίου 2011 Δημοσ. 13 Ιουνίου 2011 παιδια ξεκινησα πριν 1 ωρα και κατι την C και μεχρι στιγμησ εματηα να δημιοθργω functions (τουλαχιστων στην pascal ετσι λεγοντα βαριεμαι να δω τωρα) να εμφανιζω κειμενο να γεμιζω μεταβλητες αυτα! αν τελειωσω λεω να παω σε C++ συμφωνειται? Καταρχήν μην βιάζεσαι,μάθε καλά την C (δεν είναι εύκολο) που είναι δομημένη και σχετικά εύκολη γλώσσα και μετά πηγαίνεις C++.Εξάλλου η C είναι ένα υποσύνολο τις C++ και μοιάζουν πολύ μεταξύ τους, θα σου φανούν πιο εύκολα.
backy1993 Δημοσ. 13 Ιουνίου 2011 Μέλος Δημοσ. 13 Ιουνίου 2011 Δε βιαζομαι ως γνωστων! practice makes perfect!
DeltaLover Δημοσ. 13 Ιουνίου 2011 Δημοσ. 13 Ιουνίου 2011 Για να ολοκληρωθεις σαν προγραμματιστης θα πρεπει να γνωριζεις σε βαθος καποια Object Oriented καθως και καποιαν Functional γλωσσα.... Οσον αφορα Object Oriented οι πλεον διαδεδομενες ειναι : C++ C# Java Python Ενω Functional ειναι οι παρακατω: F# LISP Scheme Haskel Η C++ στις μερες μας, χρησιμποιειται περισσοτερο σε niche περιβαλοντα, οπως system programming, advanced graphics κλπ. Η εκμαθηση της απαιτει μακροχρονια ενασχοληση και εχω να παρατηρησω οτι αν και εχει απεριοριστες δυνατοτητες αφενως ειναι πολυ verbose αφετερου διεπεται απο μια πολυ γραφειοκρατικη committee η οποια καθιστα την εξελιξη της σχετικα αργη. Η μοντερνα C++ χρησιμοποιει εκτεταμενα μη standard libraries (οπως πχ boost) και δινει ιδιαιτερη εμφαση στο λεγομενο meta-programming. C# και Java παρουσιαζουν αρκετες ομοιοτητες, ενω μεταξω των δυο η C# εφαρμοζει καλυτερα τα concepts του ΟΟ και αν το cross platform compatibility δεν αποτελει βασικο requirement ειναι ευκολο να την επιλεξουμε σαν την πρωτη OO γλωσσα μας. O functional προγραμματισμος επαναποκτα σοβαρο μεριδιο αγορας καθως το hardware γινεται ταχυτερο και multi-processor based. H Scheme ειναι η ιδανικοτερη γλωσσα για εκμαθηση Functional Programming με πολυ δωρεαν υλικο οπως http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-1.html http://racket-lang.org/ κλπ...
backy1993 Δημοσ. 13 Ιουνίου 2011 Μέλος Δημοσ. 13 Ιουνίου 2011 Για να ολοκληρωθεις σαν προγραμματιστης θα πρεπει να γνωριζεις σε βαθος καποια Object Oriented καθως και καποιαν Functional γλωσσα.... Οσον αφορα Object Oriented οι πλεον διαδεδομενες ειναι : C++ C# Java Python Ενω Functional ειναι οι παρακατω: F# LISP Scheme Haskel Η C++ στις μερες μας, χρησιμποιειται περισσοτερο σε niche περιβαλοντα, οπως system programming, advanced graphics κλπ. Η εκμαθηση της απαιτει μακροχρονια ενασχοληση και εχω να παρατηρησω οτι αν και εχει απεριοριστες δυνατοτητες αφενως ειναι πολυ verbose αφετερου διεπεται απο μια πολυ γραφειοκρατικη committee η οποια καθιστα την εξελιξη της σχετικα αργη. Η μοντερνα C++ χρησιμοποιει εκτεταμενα μη standard libraries (οπως πχ boost) και δινει ιδιαιτερη εμφαση στο λεγομενο meta-programming. C# και Java παρουσιαζουν αρκετες ομοιοτητες, ενω μεταξω των δυο η C# εφαρμοζει καλυτερα τα concepts του ΟΟ και αν το cross platform compatibility δεν αποτελει βασικο requirement ειναι ευκολο να την επιλεξουμε σαν την πρωτη OO γλωσσα μας. O functional προγραμματισμος επαναποκτα σοβαρο μεριδιο αγορας καθως το hardware γινεται ταχυτερο και multi-processor based. H Scheme ειναι η ιδανικοτερη γλωσσα για εκμαθηση Functional Programming με πολυ δωρεαν υλικο οπως http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-1.html http://racket-lang.org/ κλπ... ευχαριστω φιλε μου εχω να ομολογησω οτι εισαι πολυ ψαγμενος! εσυ απο αυτεσ ποιες θα προτεινες και με ποια σειρα?
twiner Δημοσ. 13 Ιουνίου 2011 Δημοσ. 13 Ιουνίου 2011 μπορεις να μου πεις 2 λογια για την γλωσσα αυτη και τι την κανει τοσο καλη? αφού ξέρεις καλά αγγλικά (που είναι το καλύτερο εργαλείο για να μάθεις προγραμματισμό!) παρακολούθησε την αρχή αυτής της ομιλίας: http://www.youtube.com/watch?v=tKTZoB2Vjuk με 2 λόγια: η python τα κάνει όλα και συμφέρει. -edit- ξέχασα, αυτό το βιβλίο: http://inventwithpython.com/ είναι νομίζω μια καλή αρχή.
DeltaLover Δημοσ. 13 Ιουνίου 2011 Δημοσ. 13 Ιουνίου 2011 ευχαριστω φιλε μου εχω να ομολογησω οτι εισαι πολυ ψαγμενος! εσυ απο αυτεσ ποιες θα προτεινες και με ποια σειρα? Ενα καλο ξεκινημα ειναι απο C#. Tο C# Visual Studio Express ειναι διανεμεται δωρεαν δες εδω: http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvcs/thread/77616791-a03c-409e-9ecc-87d41987c7eb/ Υπαρχει πολυ μεγαλο community πισω απο την γλωσσα αυτη η οποια αν και σχετικα απλη στην εκμαθηση εχει εφαρμογες σε ολους τους τομεις του Software development οπως πολυ sophisticated front ends, WEB applications μεσω ASP.NET και MVC, data base access μεσω LINQ to SQL, ακομα μεχρι genetic programming, neuron networks και γενικα οτι μπορει να φανταστεις. Η προσθεση στην γλωσσα features οπως lamdas, LINQ, generics στην 3.5 οπως και του keyword dynamic στην 4.0 ανοιγουν οριζοντες για πολυ expressive declarations που καθιστουν δυνατη την υιοθετηση αρκετα declarative style με αμεση συνεπεια την συγγραφη πολυ ευκολοκατανοητου και maintainable κωδικα. Ακομα η Microsoft εχει συνδεσει το μελλον της με την C# και το .NET οποτε ειναι εγγυημενο να συνεχισει να χρησιμοποιειται για πολυ μεγαλο χρονικο διαστημα. Βεβαια και η Python (η οποια χρησιμοποιειται στην google σαν βασικη γλωσσα εφαρμογων) που αναφερει ο φιλος ειναι πολυ καλη γλωσσα, αν και οσον αφορα το ΟΟ aspect της εχω να πω οτι η ελλειψη private - protected μελλων, η δυσκολια του declaration static members (πχ ειναι αρκετα πολυπλυκο να ορισουμε ενα singleton σε Python) νομιζω οτι δεν την καθιστουν ιδανικη για εκμαθηση OO. Ακομη εχω να παρατηρησω οτι το dynamic typing, αν και παρουσιαζει ενδιαφερον απο προγραμματιστικη πλευρα κανει δυσκολοτερο το debugging σε σχεση με statically typed languages οπως πχ η C# (υπαρχουν φυσικα λυσεις οπως πχ η συγγραφη unit tests, οι οποιες παντως αυξανουν την πολυπλοκοτητα του κωδικα)....
twiner Δημοσ. 13 Ιουνίου 2011 Δημοσ. 13 Ιουνίου 2011 η μόνη μου αντίρρηση στη C# είναι ότι είναι κλειστή και ανήκει σε μια εταιρεία με ό,τι αυτό συνεπάγεται. η Python έχει την ελεύθερη κοινότητα της από πίσω και την αντίστοιχη φιλοσοφία. anw όλες οι γλώσσες έχουν κάτι να διδάξουν με τον εύκολο ή το δύσκολο τρόπο.
DeltaLover Δημοσ. 13 Ιουνίου 2011 Δημοσ. 13 Ιουνίου 2011 η μόνη μου αντίρρηση στη C# είναι ότι είναι κλειστή και ανήκει σε μια εταιρεία με ό,τι αυτό συνεπάγεται. η Python έχει την ελεύθερη κοινότητα της από πίσω και την αντίστοιχη φιλοσοφία. anw όλες οι γλώσσες έχουν κάτι να διδάξουν με τον εύκολο ή το δύσκολο τρόπο. Αν και φυσικα στην πραξη η MS ειναι ο δημιουργος και ο σημαντικοτερος implementer της, η C# αποτελει ECMA standard: http://www.ecma-international.org/publications/standards/Ecma-334.htm καθως επισης υπαρχει και το MONO project το οποιο την υλοποιει για περιβαλον LINUX: http://www.mono-project.com/Main_Page Βεβαιως ολες οι γλωσσες προγραμματισμου εχουν τις εφαρμογες και ιδιαιτεροτητες τους και ολες εχουν κατι να μας διδαξουν... Η οριζοντια επεκταση στο οπλοστασιο των γλωσσων ενος προγραμματιστη οπωσδηποτε τον κανει καλυτερο στην core τεχνολογια του... Θα συνιστουσα σε νεους προγραμματιστες καθε χρονο να μαθαινουν (οχι απαραιτητα σε βαθος) και μια καινουργια γλωσσα..
kagelos Δημοσ. 14 Ιουνίου 2011 Δημοσ. 14 Ιουνίου 2011 Η C++ δεν χρησιμοποιείται για system programming, μην παραπληροφορείτε τον κόσμο με κάτι που σας είπε κάποιος που το άκουσε από έναν που το είχε διαβάσει κάπου.
DeltaLover Δημοσ. 14 Ιουνίου 2011 Δημοσ. 14 Ιουνίου 2011 Η C++ δεν χρησιμοποιείται για system programming, μην παραπληροφορείτε τον κόσμο με κάτι που σας είπε κάποιος που το άκουσε από έναν που το είχε διαβάσει κάπου. Ο δημιουργος της C++ δεν φαινεται να συμμεριζεται την αποψη σου.. Μηπως και αυτος παραπληροφορει το κοσμο? http://www.thebitsource.com/programming-software-development/bjarne-stroustrup-on-c-inception/ http://www.gotw.ca/sands2.htm 1:30-2:45pm Abstraction and the C++ Machine Model (Bjarne Stroustrup) C++ was designed to be a systems programming language and has been used for embedded systems programming and other resource-constrained types of programming since the earliest days. The aim was – and is – to support elegant high-performance code. This paper will briefly discuss how C++’s basic model of computation and data supports time and space performance, hardware access, and predictability. If that was all we wanted, we could write assembler or C, so I show how these basic features interact with abstraction mechanisms (such as classes, inheritance, and templates) to control system complexity and improve correctness while retaining the desired predictability and performance. http://www2.research.att.com/~bs/C++.html C++ is a general purpose programming language with a bias towards systems programming that Ριξε μια ματια και σε αυτα τα links και ισως αλλαξεις γνωμη: http://www.amazon.com/Unix-System-Programming-Using-C/dp/0133315622 http://www.scriptol.com/programming/cpp.php http://www2.research.att.com/~bs/papers.html Στο μελλον να εισαι περισοτερο ενημερωμενος προτου προβεις σε καυστικα σχολια και ειρωνειες ειδικα για θεματα που (οπως φαινεται) δεν αποτελουν μερος της ειδικοτητας σου...
migf1 Δημοσ. 14 Ιουνίου 2011 Δημοσ. 14 Ιουνίου 2011 Φίλε μου, εφόσον έχεις μάθει Basic και Pascal το επόμενο λογικό βήμα είναι η C για να αρχίσεις πλέον να καταλαβαίνεις τι παίζει πίσω από τις... κουρτίνες. Εφόσον φυσικά σε ενδιαφέρει να ασχοληθείς σοβαρά. Όλες οι σύγχρονες γλώσσες, συμπεριλαμβανομένων όσων έχουν προταθεί εδώ πατάνε πάνω στη C. Το βασικό της μείον είναι πως δεν είναι αντικειμενοστραφής, αλλά θα σου μάθει πάρα πολλά και χρήσιμα, κυρίως για το πως δουλεύουν τα πράματα και γιατί. Κατόπιν, αφού θα έχεις αποκτήσει καλή γνώση της C, τις υπόλοιπες θα τις μάθεις... νερό Kατόπιν, θα πας σε C++ ή σε Java που και πολύ ευκολότερες θα σου φανούν και δουλειά θα σου βρουν στάνταρ
DeltaLover Δημοσ. 14 Ιουνίου 2011 Δημοσ. 14 Ιουνίου 2011 Φίλε μου, εφόσον έχεις μάθει Basic και Pascal το επόμενο λογικό βήμα είναι η C για να αρχίσεις πλέον να καταλαβαίνεις τι παίζει πίσω από τις... κουρτίνες. Εφόσον φυσικά σε ενδιαφέρει να ασχοληθείς σοβαρά. Όλες οι σύγχρονες γλώσσες, συμπεριλαμβανομένων όσων έχουν προταθεί εδώ πατάνε πάνω στη C. Το βασικό της μείον είναι πως δεν είναι αντικειμενοστραφής, αλλά θα σου μάθει πάρα πολλά και χρήσιμα, κυρίως για το πως δουλεύουν τα πράματα και γιατί. Κατόπιν, αφού θα έχεις αποκτήσει καλή γνώση της C, τις υπόλοιπες θα τις μάθεις... νερό Kατόπιν, θα πας σε C++ ή σε Java που και πολύ ευκολότερες θα σου φανούν και δουλειά θα σου βρουν στάνταρ H C εχει και το nickname high level assembly. Ειναι μια γλωσσα ακρως imperative στην οποια εχουν γραφτει τα πλεον δημοφιλη OS, οπως UNIX, LINUX και Windows για παραδειγμα αλλα και οι περισσοτερες γλωσσες προγραμματισμου. Αυτοι οι λογοι δεν την κανουν ασφαλως και την καλυτερη επιλογη για εναν υποψηφιο προγραμματιστη. Η πολυπλοκοτητα που χαρακτηριζει το low level memory management ( malloc dealloc) της C (και κατ' επεκταση της C++), το μεγαλο verbosity που της περιοριζει το expressibility, η (πιθανη) καταχρηση του precompiler, η μη υπαρξη standard libraries για GUI, string handling, data base access κλπ, η ελειψη exceptions (μπορουν φυσικα να υλοποιηθουν με longjmp ! ποσοι ομως C programmers γνωριζουν ακομη και την υπαρξη του long jump?), η (κατα) χρηση του void* που οδηγει σε πολυ επικινδυνα tricks ειναι μεταξυ των παραγοντων που εχουν περιθωριοποιησει σε τομεις οπου ο απολυτος ελεγχος της μηχανης και το ταχυτερο performance ειναι απολυτως οι σπουδαιοτεροι παραγοντες επιλογης γλωσσας. Functional γλωσσες με declarative orientation, πολυ υψηλοτερου επιπεδου απο την C η ακομα και απο την C++ αποτελουν το μελλον του προγραμματισμου, οσον τουλαχιστον αφορα το application development. Γλωσσες οπως η Scheme, Lisp, Haskell, F#, C# (δεν ειναι functional αλλα προσομοιαζει), Clojure ειναι ιδανικες για καποιον που θελει να μαθει να προγραμματιζει καθως αυτες κρυβουν ολες τις χαμηλου επιπεδου λειτουργιες επιτρεπωντας στον προγραμματιστη να ασχοληθει με την κατανοηση και αναπτυξη των αλγοριθμων οι οποιοι και αποτελουν το πραγματικο αντικειμενο του προγραμματιστη.
migf1 Δημοσ. 14 Ιουνίου 2011 Δημοσ. 14 Ιουνίου 2011 Έχει καθαρά να κάνει με τις προθέσεις και τις βλέψεις του. Αν προτίθεται να ασχοληθεί σοβαρά με το... άθλημα, αργά ή γρήγορα θα χρειαστεί να μάθει τι συμβαίνει κάτω από τα abstractions, πως να διαχειρίζεται τη μνήμη κατά βούληση, κλπ. Για αυτά τα πράγματα η C είναι ιδανική, αφενός γιατί έχει πολύ μικρό λεξιλόγιο (άρα είναι πιο εύκολο να το μάθει γρήγορα) κι αφετέρου διότι υπάρχει άπειρη όχι μόνο βιβλιογραφία, αλλά και άπειρος sample κώδικας στα πιο πιθανά κι απίθανα μέρη (btw, η γλώσσα σήμερα χρησιμοποιείται κατά κόρον στα ενσωματωμένα συστήματα). Αν από την άλλη μεριά, ο κύριος στόχος του είναι να φτάνει γρήγορα σε εντυπωσιακά αποτελέσματα χωρίς να τον ενδιαφέρει το τι και πως, και δεν θέλει να γράφει και πολύ κώδικα, τότε η C δεν του κάνει. Σε αυτή την περίπτωση μάλλον δεν του κάνει ούτε η C++, κυρίως λόγω του τεράστιου όγκου και πλήθους επιλογών για το ίδιο αποτέλεσμα, συνήθως ασύμβατων μεταξύ τους (εδώ η Java είναι καλύτερη επιλογή πιστεύω). Κατά την άποψη μου, όποιος θέλει να μάθει κάτι γενικώς, καλό θα ήταν να ξεκινάει με καλή γνώση του υπόβαθρου! H C εχει και το nickname high level assembly. Ειναι μια γλωσσα ακρως imperative στην οποια εχουν γραφτει τα πλεον δημοφιλη OS, οπως UNIX, LINUX και Windows για παραδειγμα αλλα και οι περισσοτερες γλωσσες προγραμματισμου. Αυτοι οι λογοι δεν την κανουν ασφαλως και την καλυτερη επιλογη για εναν υποψηφιο προγραμματιστη. Η πολυπλοκοτητα που χαρακτηριζει το low level memory management ( malloc dealloc) της C (και κατ' επεκταση της C++), το μεγαλο verbosity που της περιοριζει το expressibility, η (πιθανη) καταχρηση του precompiler, η μη υπαρξη standard libraries για GUI, string handling, data base access κλπ, η ελειψη exceptions (μπορουν φυσικα να υλοποιηθουν με longjmp ! ποσοι ομως C programmers γνωριζουν ακομη και την υπαρξη του long jump?), η (κατα) χρηση του void* που οδηγει σε πολυ επικινδυνα tricks ειναι μεταξυ των παραγοντων που εχουν περιθωριοποιησει σε τομεις οπου ο απολυτος ελεγχος της μηχανης και το ταχυτερο performance ειναι απολυτως οι σπουδαιοτεροι παραγοντες επιλογης γλωσσας. Functional γλωσσες με declarative orientation, πολυ υψηλοτερου επιπεδου απο την C η ακομα και απο την C++ αποτελουν το μελλον του προγραμματισμου, οσον τουλαχιστον αφορα το application development. Γλωσσες οπως η Scheme, Lisp, Haskell, F#, C# (δεν ειναι functional αλλα προσομοιαζει), Clojure ειναι ιδανικες για καποιον που θελει να μαθει να προγραμματιζει καθως αυτες κρυβουν ολες τις χαμηλου επιπεδου λειτουργιες επιτρεπωντας στον προγραμματιστη να ασχοληθει με την κατανοηση και αναπτυξη των αλγοριθμων οι οποιοι και αποτελουν το πραγματικο αντικειμενο του προγραμματιστη.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.