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

C or Python?


KillBill93

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

Eclipse με pydev ή έχετε κάτι καλύτερο να προτείνετε;

 

Και ποιο τουτόριαλ;

Για αρχη μαλλον δεν ειναι καλη ιδεα ενα IDE.Ενας απλος editor ειναι καλυτερος

Ξεκινα με αυτο και αυτο

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

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

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

Καλό είναι να αναφέρουμε και για ποιες υλοποιήσεις της Python μιλάμε. Υπάρχουν κάποιες που ειναι ταχύτερες απο άλλες. Δεν ξέρω αν η *Python εν έτη 2011 μπορεί να καλουπωθεί ώς καλή σε strings / αριθμούς. Μάλλον θα λεγε κανείς πως είναι γενικά καλή. Όχι μόνο σε string/numbers. Πχ, το PySide, το θεωρούμε *Python ? Αν ναι, τότε είναι καλή και σε GUI Programming. Το NumPy/SciPy το θεωρούμε καλό; Τότε είναι καλή και σε number crunching applications (άσχετα τι γίνεται κάτω από το καπώ). Την υλοποίηση PyPy τη θεωρούμε καλή και γρήγορη; Τότε ΔΕΝ έχει μονο interpreted υλοποιήσεις. Κλπ. Αν έχει κανείς εμπειρία από άλλες υλοποιήσεις, θα ήταν ενδιαφέρον να διαβάσουμε τί του έτυχε.

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

Δημοσ. (επεξεργασμένο)

Για κάποιον που προγραμματίζει 10 χρόνια και σε μία εβδομάδα πρέπει να έχει κάτι έτοιμο τι προτείνεις;

 

dive into python 3

Το site του βιβλιου φαινεται να μην λειτουργει αλλα θα το βρεις σχετικα ευκολα εφοσον ειναι και free

 

επισης Beginning Python: From Novice to Professional

 

edit: αν εννοεις για ide τοτε eclipse+pydev μαλλον σε καλυπτει

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

Για κάποιον που προγραμματίζει 10 χρόνια και σε μία εβδομάδα πρέπει να έχει κάτι έτοιμο τι προτείνεις;

 

visual studio + python tools

έχει υποστήριξη και για cpython και για ironpython

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

Γεια σας! Άρχισα να μαθαίνω Python με το βιβλίο Think Python (how to think line a computer scientist), προσαρμοσμένο στην έκδοση 3.2 και μου φάνηκε αρκετά καλό, αν και ελάχιστα σημεία δεν τα έπιασα και πολύ καλά. Τώρα ψάχνω για το επόμενο βιβλίο που θα μπορώ να αρχίσω, αλλά δεν βρίσκω κάτι αξιόλογο για την έκδοση 3 που να μην είναι ούτε για πολύ αρχάριους αλλά ούτε και για επαγγελματίες. Το dive into python οπό ό,τι έχω καταλάβει απευθύνεται κυρίως σε άτομα που έχουν ήδη εμπειρία από άλλες γλώσσες, έτσι; Αν δεν υπάρχει κάτι στο πνεύμα που ζητάω, υπάρχει κάτι για προηγούμενες εκδόσεις που αξίζει να διαβάσω; Ευχαριστώ!

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

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

Βασικά σκεφτόμουν και άλλες εκδοχές, όπως πχ αυτό: http://www.amazon.com/Scientific-Programming-Computational-Science-Engineering/dp/3642183654/ref=sr_1_1?s=books&ie=UTF8&qid=1318513217&sr=1-1 που εστιάζει κυρίως σε επιστημονικές εφαρμογές

Ή μήπως να προτιμήσω το πρώτο παρόλο που είναι αρκετά παλιό, αλλά έχει μια γενικότερη θεώρηση της γλώσσας;

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

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

Τώρα για το πρώτο ναι μεν δεν έχει πολλές αναφορές για την 3.0 αλλά τι σε πειράζει αυτό?Μπορείς να ψάξεις εύκολα στο διαδίκτυο αν θες να κανεις κάτι με διαφορετικό τρόπο.

Όσο για το learning python είναι πλήρες!Οκ,λέει πολλά αλλά προσωπικά το προτιμώ από το να μην εξηγεί τίποτα ή λίγο.

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

Τελικά παρήγγειλα το Learning Python ακριβώς γιατί και γω προτιμώ να εξηγεί κάποια πράγματα περισσότερο παρά να είναι ελλιπές σε κάποιους τομείς που σίγουρα μικρότερα βιβλία θα πρέπει να παραλείψουν και ας πηγαίνω πιο αργά. Ούτως ή άλλως να εμβαθύνω στα βασικά θέλω αυτή τη στιγμή. Εν τω μεταξύ βέβαια μέχρι να μου έρθει, λέω να κοιτάξω λίγο και το παραπάνω βιβλίο που είπα που μου έχει φέρει ο θείος, ώστε να δω και τι παίζει με τα numpy και scipy (αν τα έχει βέβαια). Ευχαριστώ πολύ!

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

Μαθαίνω κι εγώ αυτήν την περίοδο, προγραμματίζοντας για τη δουλειά έναν wrapper για ένα τεράστιο Project.

 

Γενικά, είναι εύκολη γλώσσα και υπάρχουν εξαιρετικά tutorials. Τελικά με βόλεψε ένας text editor που κάνει highlight τα στοιχεία της γλώσσας και κατευθείαν στο τερματικό για το debugging. Ότι έχω χρειαστεί, εκτός από κάποια κομμάτια που αφορούν τη δομή των δεδομένων, το έχω βρει κατά 95-100% έτοιμο και μάλιστα στην επίσημη σελίδα.

 

Αυτό που με χαλάει, αλλά έρχομαι από τη Matlab, είναι πως το help() δεν είναι ιδιαίτερα φιλικό ως προς τον χρήστη. Πρέπει να διαβάσεις όλο το κατεβατό, να το κατανοήσεις και να το δοκιμάσεις μόνος σου. Δεν υπάρχουν παραδείγματα με όλες τις δυνατότητες και αυτό την κάνει λίγο απωθητική.

 

Κατά τα άλλα, αν δεν είχα μία τεράστια προσωπική βιβλιοθήκη σε matlab και την ανάγκη να προγραμματίζω σε fortran, είναι πολύ πιθανό πως θα τη χρησιμoποιούσα για τα πάντα.

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

@insomniak

 

 

 

Εσύ που, απ' ό,τι φαίνεται, έχεις καλή εμπειρία από MATLAB και δούλεψες και στο FORTRAN...

 

Μπορείς να κάνεις ένα κόπο να περιγράψεις διαφορές, μειονεκτήματα και πλεονεκτήματα;

 

 

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

Θα επανέλθω για να απαντήσω, αλλά έλαβα σήμερα το IEEE spectrum κι ως συνήθως, η τελευταία σελίδα είχε κάτι ενδιάφερον: διάφορα στατιστικά για ποιες γλώσσες χρησιμοποιούνται. Το άρθρο είναι του Ritchie King από το langpop.com

 

Δεν ξέρω αν φαίνεται η εικόνα, είμαι απο κινητο...

post-50594-1318601541,56_thumb.jpg

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

Ξεκίνησα να γράφω το παρόν μήνυμα το Σάββατο το πρωί, έχει κολλήσει το λειτουργικό, έξαφανιστηκαν τα ελληνικά στο ubuntu 11.10, έχω διαγράψει 2-3 φορές το μήνυμα πατώντας backspace sto browser με αποτέλεσμα να πηγαίνει στην προηγούμενη σελίδα, αλλά 2 μέρες αργότερα το ποστάρω....

 

 

@insomniak

 

 

 

Εσύ που, απ' ό,τι φαίνεται, έχεις καλή εμπειρία από MATLAB και δούλεψες και στο FORTRAN...

 

Μπορείς να κάνεις ένα κόπο να περιγράψεις διαφορές, μειονεκτήματα και πλεονεκτήματα;

 

 

 

Κάθε ώρα που ασχολούμαι με την python ανακαλύπτω και κάτι καινούριο. Αυτά που θα γράψω παρακάτω αντιστοιχούν στην εμπειρία 5 ημερών πραγματικής ενασχόλησης μαζί της και είναι πολύ διαφορετικά από αυτά που θα έγραφα εχθές για το ίδιο θέμα.

 

Τα προβλήματα για τα οποία προγραμματίζω αφορούν φυσικές επιστήμες και έχουν κάνουν με υδροδυναμική και ανάλυση σήματος και εικόνας. Αυτό σημαίνει πως πρέπει να προσέχω ιδιαίτερα την ταχύτητα εκτέλεσης, να μην υπάρχουν διαρροές στη μνήμη και να χρησιμοποιώ όσο το δυνατόν πιο λίγη μνήμη για να μπορεί ο κώδικας να τρέχει από νετμπουκ (που λέει ο λόγος) μέχρι κάποιον υπερυπολογιστή με unlimited resources.

 

Ξεκινάμε από αυτά που ξέρω, FORTRAN, έμαθα προγραμματισμό σε F77, αυτό σημαίνει πως έχω μάθει να κινούμαι σε πολύ βασικό επίπεδο, for μέσα σε for κι έχει ο θεός. Έχω στη βιβλιοθήκη μου, παραλλαγή του Cooley-Tuckey για FFT αλγόριθμο από τον Hasselman και πρέπει να ναι αυτός που περιγράφει ο Tuckey στο βιβλίο του 1991. Για τη δουλειά για λόγους συμβατότητας, δουλεύω σε F95, κρατώντας όμως πολλά από τα στοιχεία παλιότερων εκδόσεων, ωστόσο είμαι στο RnD και προσπαθούμε να φτιάχνουμε πρωτότυπα.

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

Η matlab είναι το αναγκαίο κακό. Είναι κλειστή, είναι ακριβή, γίνεται πολύ ακριβότερη, αν χρειάζεσαι κάποιες βιβλιοθήκες της, είναι περιορισμένη από τα leakages της μνήμης και τις εξαρτήσεις της από το OS (πχ διαχείριση μνήμης στα windows και java incompatibilities κατά περιόδους σε unix) αλλά είναι ότι καλύτερο διατίθεται εκεί έξω. Είναι εύκολη, είναι κατανοητή, με απλή σύνταξη, με ΕΞΑΙΡΕΤΙΚΟ help και documentation, έχει γίνει στανταρντ σε πανεπιστήμια, επομένως έχεις συμβατότητες με όλο τον κόσμο και μία τεράστια κοινότητα, που απλά μοιράζεται κώδικα, γιατί; γιατί έτσι! Έχει πανεύκολο debugging, αξιοζήλευτο editor, και γενικά πανεύκολο gui. Το παράδειγμα της matlab πρέπει να διδάσκεται στο αντίστοιχο μάθημα και μάλιστα με τίτλο: Πως να φτιάξετε ένα πρόγραμμα κλειστού κώδικα δημιουργώντας την ψευδαίσθηση πως είναι ανοικτού κώδικα και όλοι να σας ευχαριστούν.

 

Πάμε τώρα στη νέα μου φίλη: H python, όπως είναι όταν την κατεβάζεις είναι unfriendly, είναι δύσκολη και γενικά σε αναγκάζει να σκεφτείς τι σκατά έκανες και σε τιμωρούν με αυτόν τον τρόπο και όποιος λέει το αντίθετο απλά λέει μαλακίες ή μέχρι τώρα δούλευε σε assembly και σε C με vi και κονσόλα. Το documentation της είναι πλήρες, αλλά δεν είναι θελκτικό, σε κάνει να αναρωτιέσαι τι σκατά σκεφτόταν αυτός που το έγραψε, σαν μάθημα θρησκευτικών μου φαίνεται/φάνηκε. Πρέπει να φορτώνεις ξεχωριστά κάθε module, πολλά modules έχουν αλληλοεπικαλύψεις, κάτι που προσπαθούν να το αντιμετωπίσουν στην python 3, υπάρχουν μαλακοεντολές που απλά κάνουν τα modules πιο μεγάλα και το help τους λιγότερο φιλικό. Δεν είναι τόσο διαδεδομένη στους κύκλους μου, όσο η matlab, που σημαίνει πως βιβλιοθήκες που χρησιμοποιείς πρέπει να τις γράψεις από το μηδέν και μόνος σου.

 

ΑΛΛΑ

 

Είναι μία γλώσσα προγραμματισμού και μάλιστα ανοικτού κώδικα. Δε χρειάζεσαι οτιδήποτε άλλο. Μπορείς να γράψεις το Prototype σου και στο τέλος να το έχεις ως το τελικό πρόγραμμα!!! Μιλάμε για κέρδος σε αργατοώρες, προσπάθεια, δεύτερο debugging και γενικά χέστηκες για τα δευτερεύοντα προβληματα που μπορούν να προκύψουν από τις ιδιαιτερότητες της κάθε γλώσσας κατά τη μεταφορά του κώδικα. Δε χρειάζεσαι κονσόλα για να τρέξεις το τελικό πρόγραμμα και από τότε που έρχεται με κάθε εγκατάσταση λίνουξ, μπορείς να προγραμματίσεις παντού και πάντα και να έχεις το εκτελέσιμο ταυτόχρονα με την τελευταία δοκιμή από την κονσόλα (!!!). Επανάσταση.

 

Αν εγκαταστήσεις και τα δύο μικρά θαύματα που ακουν στο όνομα ipython και matplotlib, έχεις μία εξίσου καλή εμπειρία όπως με τη matlab, http://ipython.org/ και http://matplotlib.sourceforge.net/ Με το μειονέκτημα πως αν πας για standalone προγραμμα, δεν ξες ποια modules, methods etc, θα πρέπει να κάνεις import, αλλά κάπως θα αντιμετωπίζεται κι αυτό αλλά δεν το έχω βρει. Για αυτό μέχρι στιγμής προτιμώ, την τυπική python εγκατάσταση.

 

Φανερά δεν έχω μεγάλη εμπειρία σε Python, αλλά γενικά μέχρι τώρα με εκπλήσσει ευχάριστα. Και πιθανόν την επόμενη εβδομάδα θα έχω μία πολύ καλύτερη εικόνα. Υπάρχουν χρήστες που είναι πολύ πιο έμπειροι από εμένα και θα είχε ενδιαφέρον να κατέθεταν την άποψη τους.

 

Και για να μην είμαι τελείως άκυρος με το αρχικό ερώτημα, αν ήθελα να μάθω τώρα τα βασικά του προγραμματισμού έτσι γενικά και αόριστα σε κάποια C΄θα πήγαινα (για τη δουλειά μου η fortran είναι θησαυρός). Κι αν απλά θα έπρεπε να παράγω κώδικα και να είμαι παραγωγικός, python και θα τις έβαζα και διάφορες προεκτάσεις όπως numpy, scipy, tkinter.

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

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

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

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

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

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

Σύνδεση

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

Συνδεθείτε τώρα
  • Δημιουργία νέου...