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

C or Python?


KillBill93

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

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

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

Εξαρτάται την χρήση που θέλεις να κάνεις με την κάθε γλώσσα.

Γενικά πάντως, η C μπορεί να κάνει τα πάντα και η Python μπορεί να κάνει σχεδόν τα πάντα - αυτό σημαίνει ότι δεν θα περιοριστείς από την μία ή την άλλη γλώσσα.

 

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

 

φιλικά,

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

Μια χαρά γλώσσα είναι η C!

Προσωπική γνώμη: θα ήταν καλύτερα να έγραφες C σε περιβάλλον UNIX (χωρίς αυτό να επηρεάζει κάτι).

 

φιλικά,

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

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

 

Αν θες απλά ένα νέο χόμπι, η Python είναι πιο καλή επιλογή. Αν σκοπεύεις να ασχοληθείς σοβαρά και σε βάθος, η C είναι ιδανικό ξεκίνημα.

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

Δεν έχω γράψει python, τον περισσότερο κώδικα τον έχω γράψει σε C.

Μπορεί κάποιος από τους φωστήρες που απάντησαν να μου πει συγκεκριμένα, γιατί C και όχι Python;

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

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

Δεν μπορω προσωπικα να προτεινω python γιατι ποτε δεν εχω γραψει τιποτα σε αυτη. Απ'οτι εχω ακουσει ειναι πολυ καλη μοντερνα γλωσσα για αρχαριους και αρκετα δυνατη, αν και ισως αργη αλλα αυτο δεν ειναι μεγαλο προβλημα.

 

Απο την αλλη θα ελεγα οτι ισως ειναι καλυτερα να αποφυγεις τη c ως πρωτη γλωσσα. Ειναι αρκετα δυσκολη και "bare bones" στην κλασικη της μορφη.

 

Θα περασει αρκετος καιρος μεχρι να γραψεις κατι που δεν θα φαινεται πολυ παλιομοδιτικο, και ακομα και τοτε θα φτυσεις αιμα. Θα πρεπει να μαθεις εννοιες που ακομα και επαγγελματιες (κακοι αλλα σιγουρα αρκετοι) δεν τις κατεχουν. Και πραγματα που γινονται πολυ ευκολα και θεωρουνται δεδομενα σε μοντερνες γλωσσες, στη c σου βγαζουν το λαδι.

 

Πολλοι που θα προτεινουν c ισως ασχολουνται παρα πολα χρονια με προγραμματισμο. Αλλες απαιτησεις ειχε καποιος οταν μαθαινε μια γλωσσα πριν 15-20 χρονια και αλλες σημερα, και ισως και διαφορετικη προσεγγιση στην εκμαθηση.

 

Τα παραπανω δεν ισχυουν αν σκοπευεις να σπουδασεις πληροφορικη η να γινεις επαγγελματιας προγραμματιστης.

Αφου λες οτι αρχισες με τη c ομως πες μας πως σου φαινεται και που συναντας δυσκολιες.

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

[snip]

Μπορεί κάποιος από τους φωστήρες που απάντησαν να μου πει συγκεκριμένα, γιατί C και όχι Python;

[snip]

Στη συντριπτική πλειοψηφία των περιπτώσεων η python κάνει την ίδια δουλειά σε λιγότερο από το μισό κώδικα της C. Για παράδειγμα, το 22ο πρόβλημα του Project Euler σε C το έλυσα σε 140 γραμμές και σε python το έλυσαν σε 3, σε 2, ακόμα και σε 1 !

 

ΥΓ. Μαζί σου είμαι όπως είδες, αλλά το ειρωνικό "φωστήρες" το έκρινες ως απαραίτητο και μας το πέταξες;

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

Python --> interpreted, ειδανικη για strings και αριθμούς, οτι πρεπει για αρχαριο

C --> compiled, για low-level programming, ειδανικη για microcontrollers και system/socket programming, οχι για αρχαριους

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

Python --> interpreted, ειδανικη για strings και αριθμούς, οτι πρεπει για αρχαριο

C --> compiled, για low-level programming, ειδανικη για microcontrollers και system/socket programming, οχι για αρχαριους

 

Και ναι! Μια απλη-λογικη-σωστη απαντηση!!! +1

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

Python --> interpreted, ειδανικη για strings και αριθμούς, οτι πρεπει για αρχαριο

...

Και όχι μόνο για αρχάριο, και όχι μόνο για strings και αριθμούς... η γλώσσα έχει πολλές δυνατότητες!

 

Μερικά μόνο παραδείγματα:

http://docs.python.org/library/socket.html

http://wiki.python.org/moin/BitArrays

http://wiki.python.org/moin/BitManipulation

http://www.tutorialspoint.com/python/python_multithreading.htm

http://www.tutorialspoint.com/python/python_exceptions.htm

http://www.tutorialspoint.com/python/python_gui_programming.htm

http://www.tutorialspoint.com/python/python_database_access.htm

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

Εγώ πάντως αν ήθελα να φτιάξω ένα ftp client ή ένα script με ftp μέσα θα χρησιμοποιούσα python και όχι C...

Η python δεν είναι μόνο για string και αριθμούς... κάνει και για web programming, εκεί που δεν θα τολμούσα να χρησιμοποιήσω C...

 

Παρόλα ταύτα, η C είναι μια χαρά γλώσσα για αρχάριους.

 

φιλικά,

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

Εντάξει, δεν είπαμε πως η Python είναι για να αντικαταστήσει τη C στο system και στο embedded systems programming, αλλά είναι πολύ πιο δυνατή από όσο ενδεχομένως νομίζει κανείς διαβάζοντας "interpreted".

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

Επίσης η C είναι πολύ πιο γρήγορη γλώσσα από την python.

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

για την οποία την θες. Ούτε η C, ούτε η python κάνουν τα

πάντα και συμφέρουν. Συμφωνώ με τον mtsouk.

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

Μόνο python. Αν σε πιέσει κάποιος ή τρέχει πολύ συγκεκριμένος λόγος, τότε και μόνο τότε C (το λέω μετά από 10+ χρόνια προγραμματισμού σε C και C++ (generics) και σε embedded περιβάλλον).

 

Η python έχει απίθανες βιβλιοθήκες που απλά δουλεύουν. Την C θα σου βγει η πίστη για να κάνεις απλά compile :D.

 

Η python στις περισσότερες περιπτώσεις θα είναι πολύ πιό γρήγορη από την C που θα γράψεις ως πρωτάρης! :D :D Γιατί;;; Πολύ απλά - γιατί αν κάνεις κάτι non-trivial η python θα έχει εσωτερικές caches που θα κάνουν τα πάντα πιό γρήγορα, αλλά και αν δεν έχει, μπορείς πολύ εύκολα να δημιουργήσεις caches με τα λεγόμενα dictionaries. Τώρα στην C για να κάνεις το ίδιο θα πρέπει να χρησιμοποιήσεις malloc/realloc ή να χρησιμοποιήσεις C++ και boost (και πολύ καλά θα κάνεις). =το πιθανότερο είναι να μη χρησιμοποιήσεις ΤΙΠΟΤΑ = ο κώδικάς σου θα είναι πιό αργός.

 

Επίσης στην C ο κώδικάς σου θα είναι ΛΑΘΟΣ αν δεν προγραμματίζεις τουλάχιστον 4 χρόνια και αν προγραμματίζεις 4+ χρόνια και πάλι ο κώδικάς σου θα είναι λάθος στο 80% των περιπτώσεων, απλά τότε θα το ξέρεις, και θα ξέρεις ότι γενικά δεν πειράζει.

 

Στην python, ο κώδικάς σου θα είναι σωστός. Πολύ σωστός. Ακόμα κι αν είναι λίγο λάθος, θα είναι λίγο λάθος, και δεν θα γίνει κάτι πολύ κακό π.χ. ένα segmentation fault με ένα core dump στο κεντρικό site της π.χ.. whatever bank που θα δημοσιεύει και 6-10 χιλιάδες αριθμούς πιστωτικής κάρτας ως debug info.

 

Δυστυχώς φίλε... μόνο python, εκτος κι αν συντρέχει ειδικός λόγος.

 

Αν είναι mobile, τότε μάλλον θα πας Java και μόνο αν κάνεις linux drivers θα κάνεις C. Συνήθως όλα τα embedded τρέχουν linux ή/και Java.

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

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

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

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

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

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

Σύνδεση

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

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

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