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

Ξεκίνημα στον προγραμματισμό


thephotoshoped

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

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

Του έριξα μια ματιά στα γρήγορα. Αλλά όσον αφορά το memory optimization έχω διαβάσει και έχω χρησιμοποιήσει πολλά πράγματα, είδικά από την Intel.

Επίσης έχω γράψει ακόμη και 3d software engine πολύ παλιά όπου εκανα το rendering μέχρι το τελευταίο pixel. Όπου το ο κωδικάς στο σημείο που έκανε render τα pixel ήταν σε asm mmx. Εκεί να δεις optimization. Ποιες εντολές δεν κάνουν stall τις επόμενες, πώς να έχεις τα data ώστε να έχεις την μέγιστη ταχύτητα, caching, branch prediction κτλ Και μιλάμε το rendering γινόταν με bilinear filtering, mip mapping, sub pixel correction, color gouraud shading κτλ.

 

Λοιπόν σου λέω ότι είμαι 100% σίγουρος ότι έχεις πιάσει λάθος το νόημα του pdf και για αυτό το έβαλες εδώ σαν επιχείρημα.

 

Πρέπει να καταλάβεις ότι αυτό που έχει σημασία είναι να προγραμματίζεις σωστά. Και όχι να προγραμματίζεις με βάση την ΒΕΛΤΙΣΤΗ ταχύτητα. Στην τεράστια πλειοψηφία του business computing δεν σε νοιάζει να κάνεις το τρελό optimization που βλέπεις στο pdf. Σε νοιάζει να γράξεις έξυπνα sql queries, να οργανώσεις τα data σου στην βάση, να αποφασίσεις σωστά τι δεδομένα θα ανταλλάσεις. Σε νοιάζει να γράψεις το τέλειο κώδικα.

Το να καθήσεις να μάθεις τι κάνει η cpu με το caching και νε εφαρμόσεις τέτοιες τεχνικές  αυτό θα γίνει μόνο σε extreme περιπτώσεις όπως είναι τα video games και μάλιστα όχι σε όλο το video game αλλά σε ειδικά περιπτώσεις.

 

Και τι λέει αυτός στο pdf, Ωραία στην c ήμασταν οκ με το caching γιατί όλα ήταν για τον #$@ καβάλα(αυτό το πρόσθεσα εγώ) και αντί για grouparisma σε object τα είχαμε όλα σε ξεχωριστά arrays, που ναι μεν κάνουν μ##!@! την συγγραφή του κώδικα αλλά ήταν καλύτερα για το caching στον δικό μας τρόπο προσπέλασης δεδομένων. Τώρα που έχουμε oop, φυσικά και τον χρειαζόμαστε και δεν μπορούμε να τον αφήσουμε, οπότε ας κάνουμε special allocators. Δεν είπε ο άνθρωπος ότι η C είναι καλύτερη από την c++, ή ότι ο oop είναι αρχ@#@!. Ή ότι για κάποιο λόγο θα έπρεπε όλοι να ξέραμε c! Ή ότι θα έπρεπε να γραφτεί το game σε c!!!!!

 

Η αδυναμία να καταλάβεις γενικά ότι η ουσία είναι το programming paradigm και όχι τα bytes, το caching και το low level optimization σε οδηγεί σε τρελά κολήματα.

Αυτό είναι το συμπερασμά μου από το pdf που έβαλες.

 

Σε high level γλώσσες και σε business computing, δεν χρειάζεται να μπεις σε low level optimization.

Το να μην χρησιμοποιήσεις λίστα γιατί προσπελάζεις πάρα πολλές φορές τυχαία τα δεδομένα, είναι ένα απλό high level optimization το οποίο θα προσφέρει εκαντοντάδες φορές μεγαλύτερη βελτιστοποίηση στην ταχύτητα και θα έχει πολύ μεγαλύτερο impact από το να κάτσεις να κερδίσεις 30% μαθαίνοντας τα low level για το caching.

Το ίδιο θα συμβεί κάνοντας πιο έξυπνο ένα αλγόριθμο, μία διαδικασία κτλπ.

 

Αν φτιάχνεις το starcraft, τότε εκει αν ξεζουμίσεις 30% από το κάθε τι με low level optimizations, από 50 fps θα πας στα 65 που έχει deep impact. Και πάλι όμως θα χρησιμοποιήσεις c++ (ΟΛΑ τα μεγάλα video games χρησιμοποιούν c++ ή έστω oop) με assembly σε συγκεκριμένες λίγες μεριές που εκτελούνται χιλιάδες φορές για χιλιάδες δεδομένα και χρησιμοποιώντας τεχνικες όπως στο pdf.

 

Αν φτιάχνεις μία επιστημονική εφαρμογή για το SETI πάλι θα χρησιμοποιήσεις c++ και θα βάλεις assembly στο σημείo που κάνει DSP. Το 99% της εφαρμογής θα είναι c++/oop όμως. Δεν θα κάτσω να γράψω όλο το SETI σε assembly γιατί θέλω DSP.

 

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

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

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

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

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

Retromaniac χωρις να θελω να παρω το μερος του migf1 αλλα εχεις δει και εσυ τι προτζεκτ έχει φτιάξει? Και μονος του.

 

Το δικαιο πρεπει να λεγεται ο ανθρωπος ξέρει. Αν αφησουμε απεξω την ΕΛλαδα που ουτως η άλλως εχει γινει μπ***λο στο εξωτερικο αν ηθελε να δουλεψει σε θεση για C developer πιστευω θα ηταν αψογος. Εφοσον θελει για C θα μεινει στην C απλα δεν ειναι το μερος καταλληλο δεν μπορεις να του επιβαλλεις που θα δουλεψει ακομη και αν η εγχωρια αγορα εχει ζητηση για το Web. Ο Jobs ειχε πει (και πρεπει να τον λαβουμε υποψιν μιας και ηταν επιτυχημενος) οτι πρεπει να δουλευεις πανω σε αυτο που αγαπας. O migf1 έχει διατυπωσει ξεκαθαρη προτιμηση.

 

Στην Ελλαδα θα δυσκολευτουμε .... εγω προσωπικα παλιοτερα ελεγα αλλα πλεον ομως αμα βρω δουλειτσα και με 600 ευρω θα ειμαι ευχαριστημενος. Ο βασικος 586 ειναι

 

Και για να δουλεψεις το Web και να παρεις επαγγελματικες δουλειες οι οποιες θα σου αποφερουν χρηματα πρεπει να χεις ασχοληθει με αυτα 3-4 χρονια.... τι λεμε τωρα αμα ηταν ετσι ολοι θα εβγαζαν λεφτα

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

H αδυναμία να καταλάβεις γενικά ότι η ουσία είναι το programming paradigm και όχι τα bytes, το caching και το low level optimization σε οδηγεί σε τρελά κολήματα.

Αυτό είναι το συμπερασμά μου από το pdf που έβαλες.

 

Αμήν.

 

@Star_Light:

 

 

Άποψή μου, και δε θέλω να παρεξηγηθούμε please: δεν έχεις την απαιτούμενη εμπειρία για να καταλάβεις τη διαφορά ανάμεσα σε κάποιον που ξέρει προγραμματισμό και σε κάποιον που ξέρει να γράφει προγράμματα.

 

Ή για να το θέσω διαφορετικά: το ότι μπορείς να παίξεις στην κιθάρα οτιδήποτε (π.χ. τα solo του Slash), δε σε κάνει μουσικό (όπως είναι ο Slash). Η διαφορά είναι λεπτή αλλά τεράστια.

 

Έχω στο μυαλό μου συγκεκριμένο παράδειγμα ανθρώπου ο οποίος έχει γράψει σχεδόν μόνος (επι πολλά χρόνια) software το οποίο σήμερα φέρνει δεκάδες χιλιάδες ευρώ το μήνα σε έσοδα. Αυτός ο ίδιος άνθρωπος δεν ξέρει προγραμματισμό. Τουλάχιστον με την έννοια που δίνω εγώ στη λέξη "προγραμματισμός". Αν τον προσλάβεις για να σου κάνει τη δουλειά, θα την κάνει αρκεί να μην έχεις τρελλές απαιτήσεις. Αν τον προσλάβεις για να σε διδάξει, την έκατσες.

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

Αμήν.

 

@Star_Light:

 

 

Άποψή μου, και δε θέλω να παρεξηγηθούμε please: δεν έχεις την απαιτούμενη εμπειρία για να καταλάβεις τη διαφορά ανάμεσα σε κάποιον που ξέρει προγραμματισμό και σε κάποιον που ξέρει να γράφει προγράμματα.

 

Ή για να το θέσω διαφορετικά: το ότι μπορείς να παίξεις στην κιθάρα οτιδήποτε (π.χ. τα solo του Slash), δε σε κάνει μουσικό (όπως είναι ο Slash). Η διαφορά είναι λεπτή αλλά τεράστια.

 

Έχω στο μυαλό μου συγκεκριμένο παράδειγμα ανθρώπου ο οποίος έχει γράψει σχεδόν μόνος (επι πολλά χρόνια) software το οποίο σήμερα φέρνει δεκάδες χιλιάδες ευρώ το μήνα σε έσοδα. Αυτός ο ίδιος άνθρωπος δεν ξέρει προγραμματισμό. Τουλάχιστον με την έννοια που δίνω εγώ στη λέξη "προγραμματισμός". Αν τον προσλάβεις για να σου κάνει τη δουλειά, θα την κάνει αρκεί να μην έχεις τρελλές απαιτήσεις. Αν τον προσλάβεις για να σε διδάξει, την έκατσες.

 

 

Δηλαδη τι μας λες τωρα ? Οτι κάποιος ο οποιος βγαζει τρελα λεφτά σαν προγραμματιστης και θα ειναι διορισμενος στην εταιρεια σαν προγραμματιστης συμφωνα με την δικη σου έννοια στον προγραμματισμο δεν θα ξέρει? Το αν ξέρει ή δεν ξερει προγραμματισμο δεν εχει καποια σχέση με την μεταδοτικότητα. Αλλα προγραμματιστης αλλο καθηγητης. Εγω τι να παρεξηγηθω? διαβαζεις τι γραφεις? Eσυ προσεξε μην παρεξηγηθεις :P

 

Εγω αν ημουν στην θεση του migf1 τωρα θα ημουν και θα δουλευα σε εταιρεια και θα εβγαζα φραγκα δεν θα καθομουν να λαβω υποψιν τι λες εσυ γιατι δεν θα υπηρχε λογος . Χαζοι δεν ειναι αυτοι που θα μου εδιναν τα χρηματα.Προγραμματισμο μπορει να ξέρεις defacer αλλα εισαι αγαθουλης ακομη και κοιτα μην παρεξηγηθεις εσυ εγω τι να παρεξηγηθω ξερω το επιπεδο μου.... πριν ερθεις εσυ να μου πεις τα δικα σου ... γνωριζω τι παιζει μαλεας δεν ειμαι εννοια σου

 

Να ξερες ποσες φορες εχω πει στον migf1 οτι τις ωρες που χανει για να διαφωνει εδω θα μπορουσε να βγαζει λεφτα με τις δυνατοτητες που έχει.... λεφτά πανω στην πληροφορικη οχι στο αλλο που εχει.

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

@retromaniac:

 

Το νόημα του pdf είναι αυτό ακριβώς που περιγράφει ο τίτλος του: "Pitfalls of Object Oriented Programming" που σε ελεύθερη μετάφραση σημαίνει: "Παγίδες στον Αντικειμενοστραφή Προγραμματισμό".

 

Η σύνδεσή του με το νήμα από την μεριά μου έγινε επειδή αποτελεί χαρακτηριστικό παράδειγμα των όσων έχω γράψει στο νήμα περί niche/maninstream και περί επικαιρότητας και μη.

 

Επιμένεις να θέτεις δικούς σου περιορισμούς κατά το δοκούν: αρχικά ήταν η Ελλάδα μόνο, τώρα είναι το business programming (λες και υποστήριξα ποτέ πως η C είναι η καλύτερη γλώσσα για να γράψεις από την αρχή business applications ή web applications).

 

Όλους τους υπόλοιπους τομείς που έχω αναφέρει περισσότερες της μιας φοράς που αποτελούν τον επίκαιρο κόσμο της C (και της C++ γραμμένης συνειδητά the C way, δηλαδή mostly according to the imperative paradigm) και ακόμα πιο συγκεκριμένα τα niche κομμάτια τους, μέρος των οποίων αποτελεί και το αντικείμενο που πραγματεύεται το pdf, κατά κάποιον... περίεργο τρόπο τους προσπρνάς επιδεικτικά. Είμαι σίγουρος όχι γιατί δεν ξέρεις, αλλά μάλλον επειδή αναιρούν την αρχική σου τοποθέτηση.

 

Για όσους δεν έχουν τον χρόνο, την εμπειρία, την υπομονή ή επαρκή γνώση αγγλικών για να διαβάσουν το εν λόγω το pdf, να πω περιληπτικά και με απλά λόγια πως ο Tony Albrecht (τεχνικός σύμβουλος του ευρωπαικού τομέα έρευνας και ανάπτυξης της Sony) δίνει ένα τυπικό παράδειγμα κώδικα γραμμένο σε C++ με κυρίαρχες αρχές από το OOP paradigm και καταλήγει στο πόσο δραματική βελτίωση επιφέρει στις επιδόσεις η αλλαγή του κώδικα όταν είναι γραμμένος με κυρίαρχες αρχές του Imperative paradigm, χωρίς καμία απολύτως αλλαγή στην high-level συμπεριφορά των objects, σε συνδυασμό πάντα με γνώση του hardware. Ως σημείο αναφοράς είναι το Playstation 3, και το εν λόγω άρθρο δημοσιεύθηκε το 2010.

 

Ο προβληματισμός που περίμενα να κυριαρχήσει μετά από αυτό το pdf (και που ποτέ δεν ήρθε) είναι:

 

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

 

β) κατά πόσο θεωρείται "εκτός εποχής" να είναι κάποιος σε θέση να αντιλαμβάνεται και πολύ περισσότερο να υλοποιεί τεχνικές όπως αυτή του παραδείγματος, εάν και όταν χρειάζεται, όταν δεν έχει ιδέα είτε από C είτε από Imperative paradigm είτε από hardware είτε κι από από τα 3

 

γ) κατά πόσο θεωρείται "εκτός εποχής" σήμερα να φιλοδοξεί κάποιος νέος να εργαστεί σε systems programming, σε embedded systems, σε network protocols, σε cryptography & security, σε physics simulation/game engines, σε ... σε ... σε ... η λίστα είναι μακριά και σημαντική (με λίγα λόγια, low level programing). Σε όλους αυτούς τους τομείς, που αποτελούν επίκαιρους niche τομείς αιχμής (και που φίλε retromaniac φαίνεται να τους αγνοείς) η C και το imperative paradigm μαζί με ότι αντιπροσωπεύουν θεωρείται και είναι στοιχειώδες προαπαιτούμενο.

 

Για τον "μη κολλημένο" φίλο retromaniac, έχω και μια... έκπληξη :P

 

http://existentialtype.wordpress.com/2011/03/15/teaching-fp-to-freshmen/

...

Object-oriented programming is eliminated entirely from the introductory curriculum, because it is both anti-modular and anti-parallel by its very nature, and hence unsuitable for a modern CS curriculum.  A proposed new course on object-oriented design methodology will be offered at the sophomore level for those students who wish to study this topic.

...

 

Το παραπάνω link ενημερώνει πως το Carnegie Mellon αποφάσισε να αφαιρέσει πλήρως τον Αντικειμενοστραφή προγραμματισμό από την ύλη των πρωτοετών στο Computer Science, και να την μεταθέσει στο 2ο έτος για όσους επιθυμούν να το παρακολουθήσουν. Ως λόγους για αυτή την απόφαση σημειώνει πως το OOP είναι εκ φύσεως αντίθετο με το modularity (δεν ξέρω πως μεταφράζεται στα ελληνικά) και με τον παράλληλο προγραμματισμό και άρα δεν έχει θέση σε ένα σύγχρονο πρόγραμμα εισαγωγικής ύλης στον προγραμματισμό.

 

Διαβάζοντας λίγο παραπάνω (αν ακολουθήσετε το link της παράθεσης) ενημερώνει πως η εισαγωγή σε Δομές Δεδομένων και Αλγόριθμους θα διδάσκεται ξανά μέσω του Imperative paradigm (μέσω της C, όπως θα διαπιστώσετε και μόνοι σας στα links που θα παραθέσω σε λίγο). Στην ίδια παράγραφο ενημερώνει πως ξεκινάει στο 1ο έτος του CS νέο μάθημα εισαγωγής στο functional paradigm.

 

Αυτά έγιναν το 2010.

 

Παραθέτω τα links από τα εξάμηνα του Carnegie Mellon, από το fall-2010 έως το τρέχον fall-2012:

http://www.cs.cmu.edu/~fp/courses/15122-f10/

http://www.cs.cmu.edu/~fp/courses/15122-s11/

http://www.andrew.cmu.edu/course/15-122/

http://www.cs.cmu.edu/~fp/courses/15122-f12/

 

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

 

Και για να προλάβω τυχόν "καλοθελητές", υπενθυμίζω πως η θέση μου εξαρχής στο νήμα (και όχι μόνο) ήταν και παραμένει πως και τα 3 paradigms (imperative, oop & functional) είναι απαραίτητα σε όποιον φιλοδοξεί να κάνει καριέρα άνω του μέσου όρου. Και πως κατά την προσωπική μου άποψη δεν παίζει ρόλο ποιο από τα 3 θα μάθει 1ο, 2ο ή 3ο.

 

ΥΓ. Κατά τα άλλα, η έννοια του defacer περί προγραμματισμού είναι θέσφατο απαύγασμα σοφίας, εμπειρίας κι επιτυχίας.

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

Ίσως κάποιο άλλο μέλος να μπορεί να βοθήσει στο να καταλάβεις τι σας λέω τώρα. Εγώ δεν έχω τη διάθεση να ασχοληθώ περισσότερο.

 

Τα όσα γράφεις πραγματικά με αφήνουν άφωνο. Σαν τελευταία συμβουλή, την οποία αν θές κάντην κωλόχαρτο όπως και τις υπόλοιπες που έχω προσπαθήσει να δώσω, σου λέω πως αν δεν αλλάξεις μυαλά (και μ' αυτό εννοώ: να καταλάβεις ότι αυτά που δεν ξέρεις γεμίζουν εγκυκλοπαίδεια) σε 20 χρόνια θα είσαι στη θέση του migf1. Κι ας το αποτιμήσει αυτό ο καθένας όπως νομίζει.

 

 

Γιατι ειπα εγω οτι ξερω τα παντα? εσυ μπηκες και ειπες για εμπειριες. Αυτο με την εγκυκλοπαιδεια δεν ισχυει μονο για μενα ισχυει για ολους.  To δεν εχω διαθεση να ασχοληθω παραπανω δεν κολλαει οταν μπαινεις να κανεις διαλογο γιατι θα συνεχισεις να ασχολεισαι.... Μενεις αφωνος με αυτα που γράφεις??? σε τι θεσεις εχεις δουλεψει ως τωρα για πες μας επειδη μπηκες να μας την πεις για την εμπειρια και οταν ξεκινας κατι δεν εχει πισωγυρισματα με συγχωρεις φιλε. Θα το ολοκληρωνεις και θα το λες αμεσα. Ησουν διπλα σε καθηγητες πανεπιστημιου ???? που σου ελεγαν οτι οποιος ξερει να γραφει προγραμματα δεν ξεριε και απο προγραμματισμο απαραιτητα? τι εννοεις με αυτο που εγραψες μου ακουγεται τελειως περιεργο. Οι καθηγητες καθε μηνα ειναι στο δημοσιο τον μισθο τον εχουν μπορουν να λενε θεωριες δεν εχουν αξιολογηση στο δημοσιο δεν υπηρχε και δεν υπαρχει αξιολογηση... στην ιδιωτικη αμα δεν φερεις εσοδα θα σε διωξουνε.... για αυτο σου ειπα οτι το σκεφτεσαι αγαθα και ρομαντικα... και εσυ μας λες οτι δεν ξερει προγραμματισμο ο αλλος που φερνει κερδη στην επιχειρηση μεσω της δουλειας του.

 

Για τον migf1 σου ειπα.... ο ιδιος θελει και βρισκεται σε αυτη τη θεση να διαφωνει για πραγματα που εγω δεν θα διαφωνουσα . Πριν μου το πεις εσυ στο ειπα και αυτο.O ανθρωπος ξερει να γραφει κωδικα και το εχει αποδειξει.... και δεν το λεω μονο εγω αυτο... το εχουν πει και αλλοι που εχουν δει τον κωδικα του.

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

για αυτο σου ειπα οτι το σκεφτεσαι αγαθα και ρομαντικα... 

 

Ένα από τα πράγματα που δε μπορείς να καταλάβεις είναι ότι αντιμετωπίζω τη δουλειά μου σαν καλλιτέχνης και όχι σαν αργόμισθος. Δε μου είναι αρκετό ο κώδικάς μου να κάνει τη δουλειά. Θέλω να την κάνει αψεγάδιαστα, να την κάνει αποδεδειγμένα σωστά¹, να είναι έτοιμος να κάνει τη δουλειά που θα χρειαστεί αύριο χωρίς να χρειαστεί να τον πετάξω και να γράψω άλλον, και εκτός απ' όλα αυτά να είναι και κομψός.

 

 

 

Τελείως κατα τύχη, στο τελευταίο link παραπάνω θα δεις κι μία από τις ρήσεις που δε θα ξεχάσω ποτέ στη ζωή μου: "perfection is achieved not when there is nothing left to add, but when there is nothing left to take away". Αλλά και πάλι, μη δίνεις πολλή σημασία: αγαθούλης ρομαντικός ήταν κι αυτός που την είπε. Και στη ζωή του δεν κατάφερε και πολλά.

 

 

 

Συνήθως αποτυγχάνω, αλλά ξέρεις ποιά είναι η φάση με τις αποτυχίες; Το αν θα συμβούν ή όχι εξαρτάται από τον πήχη που βάζει ο καθένας για τον εαυτό του. Για κάθε έναν Burt Reynolds υπάρχει κι ένας Lee Corso να περνάει καλά και να μη τον χαλάει καθόλου.

 

¹ Φαντάζομαι π.χ. ότι υπάρχει κόσμος στο φόρουμ που το unit testing δεν του χρειάστηκε ποτέ. Μη σου πω ότι κέρδισε και χρόνο απο πάνω γιατί σε σχέση με μας τους αγαθούς δεν έκατσε να αναλωθεί σε τέτοιο χασομέρι.

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

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

 

Επίσης μεγάλο ρόλο παίζει και η εξοικείωση που έχεις μαζί της, για εμένα πάντα ο συντομότερος (όχι υποχρεωτικά και ο καλύτερος) δρόμος είναι αυτός που γνωρίζεις.

 

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

 

Υ.Γ.

Τώρα για το ποία γλώσσα είναι η καλύτερη, ποία είναι ξεπερασμένη κλπ. όλα είναι σχετικά και σίγουρα τέτοιες συζητήσεις οδηγούν πάντα σε "ιερό πόλεμο" :-D

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

Ένα από τα πράγματα που δε μπορείς να καταλάβεις είναι ότι αντιμετωπίζω τη δουλειά μου σαν καλλιτέχνης και όχι σαν αργόμισθος. Δε μου είναι αρκετό ο κώδικάς μου να κάνει τη δουλειά. Θέλω να την κάνει αψεγάδιαστα, να την κάνει αποδεδειγμένα σωστά¹, να είναι έτοιμος να κάνει τη δουλειά που θα χρειαστεί αύριο χωρίς να χρειαστεί να τον πετάξω και να γράψω άλλον, και εκτός απ' όλα αυτά να είναι και κομψός.

 

 

 

Τελείως κατα τύχη, στο τελευταίο link παραπάνω θα δεις κι μία από τις ρήσεις που δε θα ξεχάσω ποτέ στη ζωή μου: "perfection is achieved not when there is nothing left to add, but when there is nothing left to take away". Αλλά και πάλι, μη δίνεις πολλή σημασία: αγαθούλης ρομαντικός ήταν κι αυτός που την είπε. Και στη ζωή του δεν κατάφερε και πολλά.

 

 

 

Συνήθως αποτυγχάνω, αλλά ξέρεις ποιά είναι η φάση με τις αποτυχίες; Είναι σχετικές με τον πήχη που βάζει ο καθένας για τον εαυτό του. Για κάθε έναν Burt Reynolds υπάρχει κι ένας Lee Corso να περνάει καλά και να μη τον χαλάει καθόλου.

 

¹ Φαντάζομαι π.χ. ότι υπάρχει κόσμος στο φόρουμ που το unit testing δεν του χρειάστηκε ποτέ. Μη σου πω ότι κέρδισε και χρόνο απο πάνω γιατί σε σχέση με μας τους αγαθούς δεν έκατσε να αναλωθεί σε τέτοιο χασομέρι.

 

Ρε συ defacer τωρα ειλικρινα δουλευεις καπου? Αν εσυ προλαβαινεις να κανει την δουλεια αψεγαδιαστα και ολα τα αλλα που λες εγω παω πασο ειναι ομως κατι τετοιο ρεαλιστικα εφικτο? Εδω μεχρι και οι κορυφαιοι κανουν λαθη αλλα παρολαυτα συνεχιζουν και τα διορθωνουν και εσυ λες οτι εισαι αψεγαδιαστος? Καταλαβες που εγκειται η διαφωνια μου? Αψεγαδιαστοι ειμαστε μονο στα παραμυθια :P

 

Εγω δεν σου ειπα οτι ειμαι προγραμματιστης... προσπαθω οποτε βρισκω ελευθερο χρονο. Ξερω το επιπεδο μου.... αλλα επισης ξερω οτι δεν ξεκινησα και απο μικρος να ασχολουμαι ετσι? να το εχουμε και αυτο υποψιν μας.

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

Αν εσυ προλαβαινεις να κανει την δουλεια αψεγαδιαστα

 

Αν θέλεις να μπορείς να συμμετέχεις σοβαρά σε μια κουβέντα, πρέπει πρώτα να παρακολουθείς προσεκτικά τον συνομιλητή σου. Δεν είπα ότι πετυχαίνω να "κάνω τη δουλειά αψεγάδιαστα", ούτε καν δεν είπα ότι αποτυχαίνω να κάνω τη δουλειά αψεγάδιαστα. Είπα ότι προσπαθώ ο κώδικάς μου να κάνει τη δική του δουλειά αψεγάδιαστα. Με το οποίο εννοώ πως όταν π.χ. μου ζητήσουν να κάνω κάτι που να διαχειρίζεται μέχρι 6 αρχεία, δε φτιάχνω ένα πρόγραμμα που θα διαβάζει τον αριθμό των αρχείων σαν ένα char με αποτέλεσμα μετά τα 9 να έχουμε πανηγύρια (true story, το είδα με τα μάτια μου).

 

Επίσης αν θέλεις να συμμετέχεις σε μια κουβέντα πρέπει να σε παίρνουν στα σοβαρά. Πράγμα που έχεις καταφέρει να μην κάνω, για τον οποίο λόγο επιλέγω να μην πω τίποτα περισσότερο απ' αυτά που θέλω. Όπως σου έχω γράψει στο παρελθόν: δε σου χρωστάω τίποτα. Κι όπως σου έχουν γράψει άλλοι στο παρελθόν: δεν έχει σημασία αν κάθε μέρα πάω στη λαχαναγορά να πουλάω πατάτες -- την αξία όσων λέει κανείς την κρίνουμε ανεξάρτητα από το ποιός τα λέει. Δυστυχώς είναι φανερό πως τζάμπα τα γράψαμε.

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

Αν θέλεις να μπορείς να συμμετέχεις σοβαρά σε μια κουβέντα, πρέπει πρώτα να παρακολουθείς προσεκτικά τον συνομιλητή σου. Δεν είπα ότι πετυχαίνω να "κάνω τη δουλειά αψεγάδιαστα", ούτε καν δεν είπα ότι αποτυχαίνω να κάνω τη δουλειά αψεγάδιαστα. Είπα ότι προσπαθώ ο κώδικάς μου να κάνει τη δική του δουλειά αψεγάδιαστα. Με το οποίο εννοώ πως όταν π.χ. μου ζητήσουν να κάνω κάτι που να διαχειρίζεται μέχρι 6 αρχεία, δε φτιάχνω ένα πρόγραμμα που θα διαβάζει τον αριθμό των αρχείων σαν ένα char με αποτέλεσμα μετά τα 9 να έχουμε πανηγύρια (true story, το είδα με τα μάτια μου).

 

Επίσης αν θέλεις να συμμετέχεις σε μια κουβέντα πρέπει να σε παίρνουν στα σοβαρά. Πράγμα που έχεις καταφέρει να μην κάνω, για τον οποίο λόγο επιλέγω να μην πω τίποτα περισσότερο απ' αυτά που θέλω. Όπως σου έχω γράψει στο παρελθόν: δε σου χρωστάω τίποτα. Κι όπως σου έχουν γράψει άλλοι στο παρελθόν: δεν έχει σημασία αν κάθε μέρα πάω στη λαχαναγορά να πουλάω πατάτες -- την αξία όσων λέει κανείς την κρίνουμε ανεξάρτητα από το ποιός τα λέει. Δυστυχώς είναι φανερό πως τζάμπα τα γράψαμε.

 

 

Kοιτα defacer εσυ μπορει να λες οτι δεν χρωστας τιποτα και οτι δεν με παιρνεις στα σοβαρα αλλο τοσο δεν σε παιρνω ουτε εγω στα σοβαρα οπως και κανεις αλλος αμα βγαινεις και μιλας για εμπειριες και δεν μας λες προς το παρον που εχεις δουλεψει. Εγω αν ειχα οντως εμπειρια θα εβγαινα και θα σου ελεγα οτι δουλευω στην ταδε επιχειρηση ή εχω δουλεψει εστω.Προς το παρον σου λεω οτι δεν εχω δουλεψει ΠΟΤΕ σαν πληροφορικαριος παρα μονο κατι ιδιαιτερα μαθηματα που εχω κανει. Εγω λεω τι εχω κανει επειδη αυτο ειναι το εντιμο σε μια συζητηση.Εχω δουλεψει και αλλου ομως και με εχει βοηθησει αρκετα.

 

Εσυ θα πιστευες καποιον οτι εχει κανει κατι χωρις να μπορει να στο αποδειξει? αν ναι τοτε ειναι αστειο να λες σε εμενα οτι πρεπει να αλλαξω μυαλα. Εσενα θα εξαπαταει ο καθενας αμα τον πιστευεις τυφλα αυριο μεθαυριο οχι εμενα... ο migf1 εχει δειξει μεσα απο τους κωδικες και τα πραγματα που εχει κανει οτι ξερει να προγραμματιζει απλα τα πραγματα δεν θα μπλεξουμε με λεξεις και θεωριες τωρα. Δεν ειναι τακτικη να σε ρωταει καποιος κατι και να αποφευγεις την απαντηση σημαινει οτι δεν εχεις.

 

Και να μου επιτρεψεις να διαφωνισω. Με παιρνουν ατομα στα σοβαρα οταν απαντανε στις αποριες μου μεσα στους οποιους εισαι και εσυ. Δεν μπορεις να με βγαλεις γελοιο στα καλα καθουμενα επειδη διαφωνω με τις αποψεις σου.

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

Παλι ξεκατινιαζεστε;

 

Συζητηση κανουμε. Ειναι λογικο να υπαρχει αντιλογος. Αν σου λενε συνεχεια ναι ναι συνηθως σε κοροιδευουν.

Εκτος και αν εισαι τοσο μεγαλος ηγετης.... πραγμα σπανιοτερο :P

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

Συζητηση κανουμε. Ειναι λογικο να υπαρχει αντιλογος. Αν σου λενε συνεχεια ναι ναι συνηθως σε κοροιδευουν.

Εκτος και αν εισαι τοσο μεγαλος ηγετης.... πραγμα σπανιοτερο :P

 

Συζήτηση είναι όταν ακούς (διαβάζεις) προσεκτικά τι λένε οι συνομιλητές σου και παρ'όλες τις διαφωνίες που μπορεί να είχες στο παρελθόν να αναγνωρίζεις τα σωστά σημεία που παραθέτουν και να διαφωνείς ήρεμα για όσα πιστεύεις λανθασμένα.

 

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

 

Και ναι, δε γίνεται να σου λένε πάντα ναι, όμως τα ΟΧΙ (με κεφαλαία λόγω της ημέρας :P ) θεωρώ ότι πρέπει να είναι πολιτισμένα χωρίς να προσβάλουν τον άλλον.

 

ΥΓ. και μην το πάρεις προσωπικά επειδή παρέθεσα το δικό σου μηνυμα, γενικά μιλάω :)

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

Kοιτα defacer εσυ μπορει να λες οτι δεν χρωστας τιποτα και οτι δεν με παιρνεις στα σοβαρα αλλο τοσο δεν σε παιρνω ουτε εγω στα σοβαρα οπως και κανεις αλλος αμα βγαινεις και μιλας για εμπειριες και δεν μας λες προς το παρον που εχεις δουλεψει. Εγω αν ειχα οντως εμπειρια θα εβγαινα και θα σου ελεγα οτι δουλευω στην ταδε επιχειρηση ή εχω δουλεψει εστω.Προς το παρον σου λεω οτι δεν εχω δουλεψει ΠΟΤΕ σαν πληροφορικαριος παρα μονο κατι ιδιαιτερα μαθηματα που εχω κανει. Εγω λεω τι εχω κανει επειδη αυτο ειναι το εντιμο σε μια συζητηση.Εχω δουλεψει και αλλου ομως και με εχει βοηθησει αρκετα.

 

Δε νομίζω ότι χρειάζεται να μιλήσω για τη δουλειά μου για να στηρίξω τις θέσεις μου (προσπαθώ να τις στηρίξω διαφορετικά). Για την ακρίβεια, νομίζω ότι το να μιλάει κανείς για τη δουλειά του "αντί επιχειρημάτων" είναι τελείως φάουλ. Αν σου έλεγα ότι έμαθα μόνος μου προγραμματισμό στην τάδε ηλικία, ότι εργάζομαι σαν προγραμματιστής από την τάδε ηλικία, ότι υπήρξα main developer σε open source project με τάδε αριθμό χρηστών παγκοσμιως, μπλα μπλα μπλα, τι διαφορά θα σου έκανε;

 

 

Εσυ θα πιστευες καποιον οτι εχει κανει κατι χωρις να μπορει να στο αποδειξει? αν ναι τοτε ειναι αστειο να λες σε εμενα οτι πρεπει να αλλαξω μυαλα. Εσενα θα εξαπαταει ο καθενας αμα τον πιστευεις τυφλα αυριο μεθαυριο οχι εμενα... ο migf1 εχει δειξει μεσα απο τους κωδικες και τα πραγματα που εχει κανει οτι ξερει να προγραμματιζει απλα τα πραγματα δεν θα μπλεξουμε με λεξεις και θεωριες τωρα.

 

Σου ζήτησα ποτέ να πιστέψεις ότι έχω κάνει "κάτι";

 

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

 

Ή οτι δεν καταδέχομαι να πουλήσω μούρη. Ή διάφορα άλλα πράγματα. Δε συμφωνώ με το συμπέρασμά σου -- είναι ένα ενδεχόμενο, αλλά όχι το μοναδικό.

 

Και να μου επιτρεψεις να διαφωνισω. Με παιρνουν ατομα στα σοβαρα οταν απαντανε στις αποριες μου μεσα στους οποιους εισαι και εσυ. Δεν μπορεις να με βγαλεις γελοιο στα καλα καθουμενα επειδη διαφωνω με τις αποψεις σου.

 

Ναι. Αλλά δε μπορώ και να σε πάρω στα σοβαρά όταν σου γράφω (σοβαρά θέλω να ελπίζω) αυτό και η απάντησή σου ξεκινάει με "τι μας λες τώρα?". Το λιγότερο που θα μπορούσα να τη χαρακτηρίσω είναι εριστική. Δες το λίγο σαν τρίτος και πες μου αν έχω δίκιο.

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

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

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

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

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

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

Σύνδεση

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

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

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