Προς το περιεχόμενο

Πρωτη Γλωσσα


thyra_7

Προτεινόμενες αναρτήσεις

Ευχαριστώ για τα indirect references στο post μου, το trolling δεν ήταν ο σκοπός μου αλλά βλέπω ότι πολλοί θίχτηκαν. Ναι, είπα να μη μάθει ποτέ C++, ναι ήταν απόλυτο γιατί όντως η C++ δεν είναι τελείως άχρηστη. Βέβαια τίποτα δεν είναι τελείως άχρηστο, οπότε αυτό δεν είναι σοβαρό επιχείρημα. Ας πω τώρα κ την προσωπική μου γνώμη πιο ανεπτυγμένα:

Τι είναι η C++; Το καρκίνωμα του προγραμματισμού που του αξίζει ένας γρήγορος και βίαιος θάνατος. Το έκτρωμα ενός κομπλεξικού άσχετου Δανού που καταχράστηκε το όνομα και τη σύνταξη της C (μιας αναγκαίας και εξαιρετικής low level γλώσσας) για να προσελκύσει τις ήδη υπάρχουσες στρατιές αφελών C προγραμματιστών ώστε η π@π@ριά του να γίνει δημοφιλής. Το appeal to authority το απεχθάνομαι, αλλά εδώ θα συμφωνήσω απόλυτα με τον Linus.

Θέλει κάποιος low level προγραμματισμό; Assembly και C. Θέλει high level κ object oriented; Python, Java, C# (και πολλές άλλες). Θέλει functional; Haskell, Lisp, Clojure etc.

Η C++ προσπάθησε να τα καλύψει όλα και απέτυχε (παταγωδώς) σε όλα. Πραγματικά: "C++: an octopus made by nailing extra legs onto a dog." -- Steve Taylor

 

Εγω το ψυλλιαστηκα οτι για να βγεις και να δωσεις τοσο ωμο χαρακτηρισμο

για μια γλωσσα προγραμματισμου θα είχες σοβαρο λογο και αν δεν ειχες θα ήσουν η εξαιρεση...

αλλα οταν καποιος βγαινει και μιλαει τοσο χυμα για κατι τοτε σιγουρα θα έχει τους λογους του.

 

Ωραιο το λινκ με τον Linus. Επίκληση στην αυθεντία... :P

μέθοδος πειθούς... αλλα γενικα ειμαι ενας τύπος ο οποιος αμφισβητει οτι με τα επιχειρηματα θα πεισεις κάποιον ανθρωπο. Επειδη η δυναμη της συνηθειας σε μια αποψη ειναι πολυ ισχυροτερη. Δεν εισαι εσυ ικανος με τα λογια σου να την αλλαξεις.... και δε πα να χεις και την ευγλωτια του ΣΩκράτη. ΧΑΧΑΧΧ

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Απαντ. 120
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Συχνή συμμετοχή στο θέμα

Εγω το ψυλλιαστηκα οτι για να βγεις και να δωσεις τοσο ωμο χαρακτηρισμο

για μια γλωσσα προγραμματισμου θα είχες σοβαρο λογο και αν δεν ειχες θα ήσουν η εξαιρεση...

αλλα οταν καποιος βγαινει και μιλαει τοσο χυμα για κατι τοτε σιγουρα θα έχει τους λογους του.

 

Ωραιο το λινκ με τον Linus. Επίκληση στην αυθεντία... :P

μέθοδος πειθούς... αλλα γενικα ειμαι ενας τύπος ο οποιος αμφισβητει οτι με τα επιχειρηματα θα πεισεις κάποιον ανθρωπο. Επειδη η δυναμη της συνηθειας σε μια αποψη ειναι πολυ ισχυροτερη. Δεν εισαι εσυ ικανος με τα λογια σου να την αλλαξεις.... και δε πα να χεις και την ευγλωτια του ΣΩκράτη. ΧΑΧΑΧΧ

Με πιάνεις Starlight ^_^. Την έχω δεί "keeping somebody from using C++ makes me feel like I saved a life" :D

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

oh linus φανμποι ! Γιατι να εχουμε C και assembly ; Η μηχανη turing "λυνει" ολα τα προβληματα που εχουν λυση. Turing machine FTW

 

Οταν ειχα διαβασει την παρακατω απαντηση , ενιωσα αλλος ανθρωπος :lol:

 

 

 

Anyway, καμια γλωσσα δεν μπορει να χαρακτηριστει ως η καλυτερη evah. Καμια γλωσσα δεν προσπαθει να τα κανει ΟΛΑ τελεια.Ολες ειναι σχεδιαμενες ωστε να εξυπηρετουν μια ομαδα προβληματων. Οταν μια γλωσσα δεν χρησιμοποιειται σωστα , δεν φταιει η ιδια η γλωσσα ή οι σχεδιαστες της , αλλα αυτος που γραφει κωδικα στη συγκεκριμενη γλωσσα .

 

defacer ξηγησου παρακαλω .Θελω τη γνωμη σου !

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

oh linus φανμποι ! Γιατι να εχουμε C και assembly ; Η μηχανη turing "λυνει" ολα τα προβληματα που εχουν λυση. Turing machine FTW

Επειδή συμφωνώ με κάτι που είπε είμαι και fanboy; ΟΚ ότι πεις :D

 

Είναι εντυπωσιακό πως, με ελαφρά τη καρδία, κάποιοι προτείνουν τόσο ανεύθυνα και τόσο λανθασμένες επιλογές.

 

Και όπως φαίνεται, μόνος γνώμονας είναι η ευκολία που συναντάνε.

Μπες σε κάποιο σοβαρό εξειδικευμένο forum για προγραμματισμό και ρώτα μεταξύ Python και C++ τι είναι ιδανικό για έναν αρχάριο, και μετά έλα πες μου αν "προτείνω τόσο ανεύθυνα τόσο λανθασμένες επιλογές".

 

Όσο για πρώτη γλώσσα... φυσικά thumbs up για python από εμένα. Αλλά όχι σαν γλώσσα... όσο σαν τρόπο εκμάθησης αλγορίθμων και δομών δεδομένων (πριν πάει κανείς στα σκληρά της C για δομές δεδομένων και της C++ για ΟΟ γλώσσα).

Ωραία, καλά τα λες εδώ, μέχρι το σημείο που λες ότι η python είναι καλή για εκπαίδευση αλλά όχι σα γλώσσα. Αυτό που το στηρίζεις; H Python έχει ευρύτατη γκάμα εφαρμογών. π.χ. ξέρεις πόσα web frameworks υπάρχουν για Python? Επίσης τίποτα δε σε εμποδίζει να χρησιμοποιείς C μέσα από Python.

 

hahaha

 

τι να σου πω... εχω δει πως ειναι ωκεανος

αλλα αμα μου ζητουσαν να ασχοληθω μαζι της θα το εκανα.

Δεν θα ειχα προβλημα πιστευω.

Και γω αν η κολονοσκόπηση είναι απαραίτητη θα την κάνω, αλλά ξέρεις, προτιμώ να την αποφύγω :D

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

[..]"C++: an octopus made by nailing extra legs onto a dog." -- Steve Taylor

 

"Python's syntax succeeds in combining the mistakes of Lisp and Fortran. I do not construe that as progress."

 

Larry Wall (author of Perl), May 12 2004

 

Συνεπώς αν αρχίσουμε να ψάχνουμε τσιτάτα για κάθε γλώσσα προγραμματισμού όλο και κάτι θα βρούμε για κάθε μια.

 

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

 

Οπότε ψυχραιμία :)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

...

Οταν ειχα διαβασει την παρακατω απαντηση , ενιωσα αλλος ανθρωπος :lol:

 

 

 

Anyway, καμια γλωσσα δεν μπορει να χαρακτηριστει ως η καλυτερη evah. Καμια γλωσσα δεν προσπαθει να τα κανει ΟΛΑ τελεια.Ολες ειναι σχεδιαμενες ωστε να εξυπηρετουν μια ομαδα προβληματων. Οταν μια γλωσσα δεν χρησιμοποιειται σωστα , δεν φταιει η ιδια η γλωσσα ή οι σχεδιαστες της , αλλα αυτος που γραφει κωδικα στη συγκεκριμενη γλωσσα .

...

 

H C++ είναι μια από εκείνες τις γλώσσες που προσπαθούν να καλύψουν πολλούς τομείς, πράγμα που αποτελεί κατάρα κι ευλογία μαζί. Κατάρα για κάποιον που ξεκινάει, ευλογία για κάποιον φτασμένο.

 

Το πιο απλοϊκό παράδειγμα που μπορώ να σκεφτώ αυτή τη στιγμή (για να είναι ευρύτερα κατανοητό) είναι το κλασικό "hello-world" πρόγραμμα.

 

Στην πιο απλή μορφή του, στη C το τυπώνεις απευθείας *, στη Java πρέπει πρώτα να ενσωματώσεις το τύπωμα μέσα σε μια κλάση, ενώ στη C++ μπορείς να το κάνεις είτε με τον τρόπο της C είτε με τον τρόπο της Java.

 

Στη C++ το ιδανικό είναι να είσαι σε θέση να γνωρίζεις τα πλεονεκτήματα και τα μειονεκτήματα του κάθε τρόπου, και να επιλέγεις συνειδητά ποιον από τους 2 θα χρησιμοποιήσεις, σε συνδυασμό με το σημείο του project στο οποίο θέλεις να το χρησιμοποιήσεις. Με τη C και τη Java δεν έχεις τέτοιο δίλημμα (και προφανώς δεν έχεις την έξτρα ευελιξία της C++).

 

* Σημείωση: και στη C μπορείς να το ενσωματώσεις πρώτα σε μια συνάρτηση, αλλά η συνάρτηση δεν είναι το ίδιο πράγμα με την κλάση. Το παράδειγμα που έδωσα έχει ως σημείο αναφοράς την αντικειμενοστρέφεια η οποία απουσιάζει από την C, είναι μονόδρομος στη Java και απλώς επιλογή στην C++.

 

Η κριτική που δέχονται οι ας τις πούμε "πολυγλώσσες" (άλλα δημοφιλή παραδείγματα είναι η Python και η PHP) εστιάζεται κυρίως στην μεγάλη τους ευελιξία (λόγω της υποστήριξης πολλών programming paradigms) η οποία έρχεται με τουλάχιστον 2 "ευαίσθητα" σημεία:

 

α) Λόγω της ανομοιογένειας μεταξύ των υποστηριζόμενων paradigms, είναι εξαιρετικά δύσκολο (έως και αδύνατον) να ενταχθούν όλα σε ένα πλαίσιο με κοινούς και αυστηρά καθορισμένους κανόνες Το συνηθισμένο αποτέλεσμα είναι η άναρχη & συχνά ελλιπής υποστήριξη ενός ή περισσοτέρων από τα υποστηριζόμενα paradigms

 

β) για να είναι κάποιος πραγματικά αποτελεσματικός πρέπει να έχει υπόβαθρο για όλα τα paradigms που καλύπτει η γλώσσα, καθώς και τον βαθμό στον οποίον τα καλύπτει, έτσι ώστε να επιλέγει συνειδητά όχι μόνο πως θα οργανώσει τον κώδικά του αλλά κυρίως που, πως και γιατί θα χρησιμοποιήσει εναλλακτικές υλοποιήσεις, ακόμα και μέσα στο ίδιο project.

 

Για να κλείσω όπως ξεκίνησα, αυτό είναι ευλογία για τους έμπειρους αλλά κατάρα για τους άπειρους. Για αυτό και πρότεινα τη συγκεκριμένη σειρά εκμάθησης γλωσσών για όσους ξεκινούν τώρα και σκέφτονται να ασχοληθούν επαγγελματικά.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Να ξεκινήσεις με την C η οποία είναι πολύ καλή βασική γλώσσα και θα σου μάθει

ουσιώδη πράγματα.

 

Γλώσσες όπως η python είναι εύκολες στην εκμάθηση αλλά αυτό δεν είναι πάντα καλό.

Δεν είναι μόνο το να γράφεις κώδικα, πρέπει να καταλάβεις και άλλα πράγματα όπως

compile, build, run, pointers. Τα βιβλία που σου προτείνω είναι πολύ καλά. Το ένα αποκλειστικά

για C και το άλλο ξεκινάει με C και μετά σε πηγαίνει σε C++ και Java που είναι μια πολύ λογική

μετάβαση.

 

 

 

C

Deitel

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Μπες σε κάποιο σοβαρό εξειδικευμένο forum για προγραμματισμό και ρώτα μεταξύ Python και C++ τι είναι ιδανικό για έναν αρχάριο, και μετά έλα πες μου αν "προτείνω τόσο ανεύθυνα τόσο λανθασμένες επιλογές".

 

 

Ωραία, καλά τα λες εδώ, μέχρι το σημείο που λες ότι η python είναι καλή για εκπαίδευση αλλά όχι σα γλώσσα. Αυτό που το στηρίζεις; H Python έχει ευρύτατη γκάμα εφαρμογών. π.χ. ξέρεις πόσα web frameworks υπάρχουν για Python? Επίσης τίποτα δε σε εμποδίζει να χρησιμοποιείς C μέσα από Python.

 

 

Το "λανθασμένες επιλογές" αναφερόταν στο "ποτέ μην μάθεις C++".

 

 

Επίσης, φυσικά και η python είναι μια χρήσιμη γλώσσα, όπως και ΟΛΕΣ (καλά, η πλειοψηφία τουλάχιστο), αλλά έχει μοναδικά πλεονεκτήματα σαν εκπαιδευτική προσέγγιση. Ένα από αυτά είναι η απλότητά της στο να υλοποιήσεις διάφορες δομές (π.χ. τα dictionaries που έχει) και, κατά συνέπεια, στο να υλοποιήσεις διάφορους αλγόριθμους.

 

Όταν όμως κάποιος λέει "τι να μάθω για πρώτη γλώσσα", φυσικά και αναφέρεται σε "εκπαίδευση". Έτσι, ναι για python για αρχή. Από εκεί και πέρα, είναι αρκετά χρήσιμο να μάθει να διαχειρίζεται και την μνήμη που έχει. Είτε με την νοοτροπία της C++ είτε με την νοοτροπία της Java (VM εν γένει).

 

Λέγοντας κάποιος ότι μία γλώσσα είναι "έκτρωμα", στηριζόμενος στο τι είπε κάποιος άλλος αλλά να σπιλώνοντας κάποια μεγάλα μυαλά στο θέμα του computer science, το βρίσκω εξαιρετικά πολωμένο, στενόμυαλο και, κατά συνέπεια, μη κερδοφόρο για κάποιον που θέλει να ασχοληθεί με Η/Υ.

 

 

@migf1

Ακριβώς αυτή η ελευθερία που δίνει η C++ είναι η μαγεία της. Μπορείς να κάνεις μακαρονάδες, μπορείς να κάνεις και υλοποιήσεις όλων των μηχανισμών για ό,τι θες (μέχρι και για το name mangling ή να υλοποιήσεις το message parsing που εξ ορισμού δεν το έχει η C++, και πολλές άλλες, λόγω Simula model heritage). Επιτρέπει μέχρι και το diamond of death όπου, εάν δεν έχεις την εμπειρία να το προβλέψεις ή/και να το "χειριστείς", θα σε "δαγκώσει".

 

Άρα, προσφέρει ένα παντοδύναμο εργαλείο. Μόνο που, σαν τέτοιο, έχει και μεγάλη "ευθύνη".

 

 

Υ.Γ. Και όσοι εκθειάζουν την Java γιατί δεν έχει friend... μάλλον δεν ξέρουν ότι το notion "private" ξεπερνιέται ΚΑΙ στην Java. Τίποτα δεν είναι private, εάν το θες.. ασχέτως και εάν έχει δηλωθεί έτσι (keywords: reflection; metadata).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

...

@migf1

Ακριβώς αυτή η ελευθερία που δίνει η C++ είναι η μαγεία της. Μπορείς να κάνεις μακαρονάδες, μπορείς να κάνεις και υλοποιήσεις όλων των μηχανισμών για ό,τι θες (μέχρι και για το name mangling ή να υλοποιήσεις το message parsing που εξ ορισμού δεν το έχει η C++, και πολλές άλλες, λόγω Simula model heritage). Επιτρέπει μέχρι και το diamond of death όπου, εάν δεν έχεις την εμπειρία να το προβλέψεις ή/και να το "χειριστείς", θα σε "δαγκώσει".

 

Άρα, προσφέρει ένα παντοδύναμο εργαλείο. Μόνο που, σαν τέτοιο, έχει και μεγάλη "ευθύνη"

....

Δεν διαφωνώ καθόλου (αυτός μάλιστα ήταν ο βασικός λόγος που μόλις έμαθα C πέταξα την Pascal στα "σκουπίδια" και δεν ασχολήθηκα ποτέ ξανά μαζί της... με ότι + ή - συνεπάγεται αυτό ).

 

Απλώς θεωρώ πολύ σημαντικό να υπάρχει πρωτύτερη (και σημαντική) εμπειρία με πιο αυστηρές γλώσσες, πριν καταπιαστεί κανείς με πιο ευέλικτες. Ως βιώσιμη εναλλακτική θεωρώ την εξαρχής εκμάθηση μιας ευέλικτης γλώσσες αλλά μόνο υπό σοβαρή & έμπειρη ακαδημαϊκή καθοδήγηση (αλλιώς μεγαλώνει δραματικά ο κίνδυνος να γίνουν όλα ένας αχταρμάς στο μυαλό του εκπαιδευόμενου, το οποίο με τη σειρά του οδηγεί με μαθηματική ακρίβεια σε άθλιους κώδικες, άρα και άθλια προγράμματα).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Απλώς θεωρώ πολύ σημαντικό να υπάρχει πρωτύτερη (και σημαντική) εμπειρία με πιο αυστηρές γλώσσες, πριν καταπιαστεί κανείς με πιο ευέλικτες. Ως βιώσιμη εναλλακτική θεωρώ την εξαρχής εκμάθηση μιας ευέλικτης γλώσσες αλλά μόνο υπό σοβαρή & έμπειρη ακαδημαϊκή καθοδήγηση (αλλιώς μεγαλώνει δραματικά ο κίνδυνος να γίνουν όλα ένας αχταρμάς στο μυαλό του εκπαιδευόμενου, το οποίο με τη σειρά του οδηγεί με μαθηματική ακρίβεια σε άθλιους κώδικες, άρα και άθλια προγράμματα).

 

 

Συμφωνώ απολύτως για τις ευέλικτες γλώσσες.

 

 

Για αυτό προτείνω την python, ως μέσο για να μάθει κανείς αλγόριθμους και δομές έτσι ώστε να μπορέσει να δει βασικά στοιχεία προτού προχωρήσει σε πιο "δύσκολες" γλώσσες.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

@iceblade

 

σορρυ δεν εννοουσα εσενα. Στον μεγαλο Linus πηγαινε ! Ωρες ωρες με τρελαινει αυτος ο ανθρωπος ( ...οπως και την αλλη φορα με τους χαρακτηρισμους του για την nvidia )

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

...

Για αυτό προτείνω την python, ως μέσο για να μάθει κανείς αλγόριθμους και δομές έτσι ώστε να μπορέσει να δει βασικά στοιχεία προτού προχωρήσει σε πιο "δύσκολες" γλώσσες.

Ως προς τις δομές συμφωνώ κι εγώ πως είναι σαφώς ευκολότερο (και) στην εκπαίδευση να χρησιμοποιηθούν αρχικά ως black-boxes για εξοικείωση με τη χρησιμότητά τους, κι αργότερα όποιος θέλει να πάει βαθύτερα μπορεί να μάθει και πιθανούς τρόπους υλοποίησης αυτών των black-boxes σε κάποια πιο low-level γλώσσα.

 

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

 

Δεν έχω ολοκληρωμένη εικόνα της γλώσσας, αλλά σίγουρα έχω καταλάβει 2 πράγματα: α) είναι απίστευτα παραγωγική και β) είναι απίστευτα άναρχη. Αυτά και τα 2 είναι ταμάμ για χομπίστα!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Να ξεκινήσεις με την C η οποία είναι πολύ καλή βασική γλώσσα και θα σου μάθει

ουσιώδη πράγματα.

 

Γλώσσες όπως η python είναι εύκολες στην εκμάθηση αλλά αυτό δεν είναι πάντα καλό.

Δεν είναι μόνο το να γράφεις κώδικα, πρέπει να καταλάβεις και άλλα πράγματα όπως

compile, build, run, pointers. Τα βιβλία που σου προτείνω είναι πολύ καλά. Το ένα αποκλειστικά

για C και το άλλο ξεκινάει με C και μετά σε πηγαίνει σε C++ και Java που είναι μια πολύ λογική

μετάβαση.

Μπορείς να προγραμματίζεις μια ζωή και να φτιάχνεις εξαιρετικά, σωστά και δομημένα προγράμματα για πολλους διαφορετικούς τομείς, χωρίς να μάθεις ποτέ τι είναι pointer.

Η Python δεν είναι εξαιρετική γλώσσα επειδή είναι εύκολη στην εκμάθηση, απλά αυτό τυχαίνει να είναι στη (λίστα) από τα πολλά πλεονεκτήματα της.

Για Perl θα αναφέρω μόνο μια πρόταση από το Zen of Python: "Readability counts", και όποιοι κατάλαβαν :D

 

Ως προς τις δομές συμφωνώ κι εγώ πως είναι σαφώς ευκολότερο (και) στην εκπαίδευση να χρησιμοποιηθούν αρχικά ως black-boxes για εξοικείωση με τη χρησιμότητά τους, κι αργότερα όποιος θέλει να πάει βαθύτερα μπορεί να μάθει και πιθανούς τρόπους υλοποίησης αυτών των black-boxes σε κάποια πιο low-level γλώσσα.

 

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

 

Δεν έχω ολοκληρωμένη εικόνα της γλώσσας, αλλά σίγουρα έχω καταλάβει 2 πράγματα: α) είναι απίστευτα παραγωγική και β) είναι απίστευτα άναρχη. Αυτά και τα 2 είναι ταμάμ για χομπίστα!

migf1 ωραία τα λες, για αυτό στην Python είμαστε λίγο ναζί με τα coding practices, γιατί η ίδια φύση της γλώσσας είναι τόσο ελεύθερη. Αν μπεις όμως λίγο στη λογική του Dynamic typing αλλάζουν κάποια πράγματα από static γλώσσες, χρειάζονται διαφορετικά coding practices αλλά προσφέρεται τρομερή ευελιξία και βελτιώνεται κατακόρυφα το readability του κώδικα. Ο λόγος που σου φαίνεται "αναρχη" είναι ότι έχεις συνηθίσει να προγραμματίζεις με βάσει τον τύπο των μεταβλητών, εδώ θέλει διαφορετικό τρόπο σκέψης, δε με ενδιαφέρει τι "λέει" κάτι ότι είναι αλλά πως συμπεριφέρεται (duck typing).

Μην ξεχνάτε ότι ένα πρόγραμμα διαβάζεται πολύ περισσότερες φορές από ότι γράφεται.

 

Το "λανθασμένες επιλογές" αναφερόταν στο "ποτέ μην μάθεις C++".

 

 

Επίσης, φυσικά και η python είναι μια χρήσιμη γλώσσα, όπως και ΟΛΕΣ (καλά, η πλειοψηφία τουλάχιστο), αλλά έχει μοναδικά πλεονεκτήματα σαν εκπαιδευτική προσέγγιση. Ένα από αυτά είναι η απλότητά της στο να υλοποιήσεις διάφορες δομές (π.χ. τα dictionaries που έχει) και, κατά συνέπεια, στο να υλοποιήσεις διάφορους αλγόριθμους.

 

Όταν όμως κάποιος λέει "τι να μάθω για πρώτη γλώσσα", φυσικά και αναφέρεται σε "εκπαίδευση". Έτσι, ναι για python για αρχή. Από εκεί και πέρα, είναι αρκετά χρήσιμο να μάθει να διαχειρίζεται και την μνήμη που έχει. Είτε με την νοοτροπία της C++ είτε με την νοοτροπία της Java (VM εν γένει).

 

Υ.Γ. Και όσοι εκθειάζουν την Java γιατί δεν έχει friend... μάλλον δεν ξέρουν ότι το notion "private" ξεπερνιέται ΚΑΙ στην Java. Τίποτα δεν είναι private, εάν το θες.. ασχέτως και εάν έχει δηλωθεί έτσι (keywords: reflection; metadata).

Δεν είπα μάθε μόνο Python, είπα να μάθει οπωσδήποτε Python. Αν θέλει static δημοφιλείς high level object oriented γλώσσες, υπάρχουν πχ οι πολύ ωραίες Java και C#. To βδέλλυγμα C++ είπα να μην αγγίξει, και συνεχίζω να το πιστεύω μιας και το θεωρώ τρομερό χάσιμο χρόνο όταν υπάρχουν καλύτερες εναλλακτικές. Επομένως ναι, ποτέ να μη μάθει C++.

 

@iceblade

 

σορρυ δεν εννοουσα εσενα. Στον μεγαλο Linus πηγαινε ! Ωρες ωρες με τρελαινει αυτος ο ανθρωπος ( ...οπως και την αλλη φορα με τους χαρακτηρισμους του για την nvidia )

Chris εννοείται, και εμένα το ίδιο. Ο άνθρωπος έχει κάνει το trolling επιστήμη :D

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...