bokarinho Δημοσ. 3 Ιουλίου 2012 Δημοσ. 3 Ιουλίου 2012 Μα φυσικά! Silly me. Έπρεπε όλοι να απορήσουν και να τρέξουν γεμάτοι αγωνία να ρωτήσουν τον μέγιστο bokarinho: "Τι εννοούσες, ω, εσύ, bokarinho; " Ό,τι να ΄ναι2 Μην διαφωνείς δημόσια με έναν ηλίθιο γιατί ο κόσμος μπορεί να μη καταλάβει την διαφορά. Όταν ωριμάσεις αρκετά για να καταλάβεις αυτά που έγραψε ο migf1 σε προηγούμενο post ίσως γίνεις υπολογίσιμος, από την άλλη είσαι μία τρανή απόδειξη για όσα έγραψα σε προηγούμενο μήνυμα. Δεν είμαι σίγουρος αν αξίζει το έξτρα macro για να γλυτώνεις ένα sizeof() σε κάθε call site. Όμως δε θα το κεραυνοβολήσω κιόλας. Αν εσένα σου αρέσει και σε βολεύει τότε ΟΚ, αλλά έχε υπόψη ότι δεν υπάρχει πουθενά compiler warning "το έχεις παρακάνει με τις macros φίλε, σβήσε". Εννοώ ότι μπορείς να καταλήξεις σε source το οποίο από την υπερβολική κατάχρηση macros πλέον "δε διαβάζεται" (δες π.χ. source της PHP) ή/και δεν είναι debuggable. Γενικά η άποψή μου γι' αυτά τα πράγματα είναι η λογική των "-100 points" που εφαρμόζεται και στο language design: οποιοδήποτε τέτοιο trick (νέο feature όταν μιλάμε για γλώσσες) ξεκινάει με "-100 points" από τους οποίους πρέπει να φτάσει σε θετικό σύνολο για να δικαιολογήσει την αξία του (με άλλα λόγια, πρέπει να μπορείς να δώσεις έναν η περισσότερους πολύ καλούς λόγους). Σύγκρινέ το με το να ξεκινάς με 0 points, όπου οποιοδήποτε επιχείρημα του στυλ "σε κάποια περίπτωση κάποτε μπορεί να φανεί χρήσιμο" θα ήταν αρκετό για να σε πάει στα θετικά (και ο κώδικας θα γέμιζε macros ή η γλώσσα θα γινόταν ένα άναρχο συνοθύλευμα features). Αυτό λοιπόν που θέλω να πω είναι ότι δεν είμαι σίγουρος αν το συγκεκριμένο macro μπορεί να δικαιολογήσει τους αρχικούς -100. Αυτό εδώ σίγουρα δεν δικαιολογεί τους -100 points. Βασικά αφαιρούνται ακόμα περισσότεροι γιατί βλέποντάς το σε ένα call site δεν είσαι σίγουρος τι ακριβώς συμβαίνει. Φαντάσου να έβλεπες εσύ σε κώδικα άλλου ένα COPY(x,y). Το πρώτο πράγμα που θα σκεφτόσουν είναι WTF is that? Τα WTFs λοιπόν είναι βασικό πράγμα προς αποφυγή στον προγραμματισμό και με τίποτα μα με τίποτα δε θα προτιμούσα να γλυτώσω μερικά keystrokes πληρώνοντας αυτό το τίμημα. Σε καθαρά προσωπικό επίπεδο και χωρίς παρεξήγηση, αυτήν τη macro θα τη χαρακτήριζα όχι μόνο άσχημη αλλά και misguided. Μη ξεχνάς ότι ο κώδικας γράφεται μόνο μια φορά αλλά διαβάζεται και γίνεται debug πολλές. Δεν αξίζει να γλυτώσεις λίγο χρόνο μία φορά και να τον πληρώνεις μετά με δόσεις. Και τέλος να αναφέρω και κάτι που νομίζω ότι είναι γνώριμο σε όλους όσους ασχολούνται πολλά χρόνια: όσο λιγότερη εμπειρία (όχι γνώση!) έχεις, τόσο περισσότερο γράφεις "έξυπνο" κώδικα (στην περίπτωση της C αυτό σημαίνει λιγότερα keystrokes). Και όσο περισσότερη αποκτάς, τόσο περισσότερο καταλαβαίνεις ότι fuck that, ο σκοπός είναι όταν ξαναδιαβάσω τον κώδικα αργότερα που δε θα θυμάμαι τίποτα (ή όταν τον διαβάσει άλλος) να καταλάβω ακριβώς τι κάνει όσο το δυνατόν ευκολότερα και γρηγορότερα. Δε θα διαφωνήσω. Όντως από ένα σημείο και μετά αν ο γιαλός είναι στραβός πρέπει να αρμενίσεις και συ στραβά γιατί αλλιώς δε θα πας πουθενά. Αλλά νομίζω πως είναι καλό να υπάρχει μια εσωτερική "φυσική αποστροφή" στον καθένα για τέτοιες πρακτικές -- αρκετά μεγάλη που να σε εμποδίζει να βάζεις macros για ψύλλου πήδημα, αλλά όχι τόσο μεγάλη που να σε οδηγεί ακριβώς σ' αυτό που θέλεις να αποφύγεις (το δογματισμό) σε βάρος των πρακτικών διαστάσεων της κατάστασης. Όπως τα λες. Γενικά είναι δύσκολο στην ανθρώπινη φύση να πάρει κάτι at face value αντί να το πάρει προσωπικά, αλλά να ποιά είναι η εναλλακτική: να πιστέψεις ότι όποιος σου φέρνει αντίρρηση το κάνει γιατί θέλει να το παίξει daddy ή γιατί "το δικό του είναι καλύτερο" -- και στις 2 περιπτώσεις αποδεικνύεται τελικά πως ούτε λίγο ούτε πολύ δε ζητάς κριτική αλλά αυτοεπιβεβαίωση γιατί η τελευταία είναι πιο νόστιμη. Μόνο που σε αντίθεση με την κριτική δεν είναι απλά άχρηστη αλλά ακόμα και επιζήμια. Εδώ ζητώ προκαταβολικά συγγνώμη γιατί μπορεί να φανεί σαν αυτοπροβολή κάποιου είδους, αλλά έχω ένα πολύ πρόσφατο και κατάλληλο παράδειγμα όπου κατάφερα νομίζω να επιδείξω την ιδανική αντιμετώπιση το οποίο δίνω σε link παρακάτω (διαβάστε τα comments της απάντησης). Και το παραθέτω με τη λογική putting my money where my mouth is. Απαραίτητο για την κατανόηση context: η ερώτηση αναφέρεται σε feature της C++11 και είναι εντελώς "language lawyer" κατηγορία (δηλαδή σκάψε στο spec να δεις τι προβλέπει για τέτοιες περιπτώσεις). Το βρίσκω πολύ χρήσιμο να απαντάω σε τέτοιες ερωτήσεις που αφορούν τη C++ γιατί δεν έχω πλέον τη δυνατότητα να προγραμματίζω συχνά σε C++ και δε θέλω να σκουριάσω (όσο γίνεται). Ο Alf που αρχικά μου βάζει με συνοπτικές διαδικασίες το -1 έχει περίπου 10 απιθανικομμύρια τόνους παραπάνω εμπειρία απο μένα στη language lawyer προσέγγιση της C++, και παρόλα αυτά τυχαίνει στη συγκεκριμένη περίπτωση να κάνει λάθος. Ορίστε λοιπόν πώς νομίζω ότι πρέπει να αντιμετωπίζεται η κριτική (πόσο μάλλον όταν έχει και δίκιο!): http://stackoverflow.com/questions/11164354/does-the-standard-behavior-for-deleters-differ-between-shared-ptr-and-unique-ptr/11164463#comment14643170_11164463 (πατήστε "show more comments" και πάρτε τα με χρονολογική σειρά) (Eπίσης προσέξτε ότι ο Alf παρόλο που μπήκε δυναμικά δε συνέχισε με "STFU u n00b" αλλά μάλιστα μπήκε στον κόπο να ελέγξει και μόνος του σε 2 διαφορετικούς compilers παρόλο που πίστευε ακράδαντα πως έχει δίκιο. Νομίζω πως αυτό είναι ενδεικτικό της αξίας τόσο του Alf σα χαρακτήρα όσο και της απάντησης χωρίς φωνές αλλά με λογικά επιχειρήματα εκ μέρους μου). Συμφωνώ μαζί σου, τα macros όσο χρήσιμα και αν είναι πρέπει να τα δουλεύει κανείς με μέτρο. Γενικά αυτό το μέτρο που μας έχουν διδάξει οι αρχαίοι πρόγονοι βρίσκει εφαρμογή παντού. Ναι σίγουρα στον άλλον που θα προσπαθήσει να διαβάσει τον κώδικα σου θα πει, αμάν τι είναι αυτό; Δεν το έχω ξαναδεί; Τι κάνει εδώ; Απλά αυτό με την malloc μου αρέσει γιατί είναι γρήγορο και μπορεί να δεσμεύει χώρο πχ για ότι δομή έχεις φτιάξει, είναι μία πατέντα που την είχα παλιά φιλοσοφήσει και δεν ήταν άσχημη. Γενικά για το δεύτερο η copy που είχα γράψει ήταν και αυτή σε ένα θέμα που έπρεπε να κάνω πολλές memcpy και με pointers και μη, σπάστηκα και λέω έτσι είσαι, πάρε ένα macro. Δεν είναι γενικής χρήσης ή φύσης. Κοίτα, σε όλα όσα λες έχεις σωστή βάση, τα macros είναι μεν γρήγορα αλλά κινδυνολογείς με αυτά στο να γράφεις άναρχο κώδικα και κώδικα κομμένο και ραμμένο στα μέτρα σου. Γενικά πάνω σε κάτι τελευταίο που λες, μου αρέσει η κριτική, είναι αλήθεια πως έχω μάθει πολλά από αυτό το φόρουμ, ειδικά στον προγραμματισμό. Το θέμα της αντίρρησης που λες, είναι θεμιτό, αλλά όπως μεταξύ μας κάποια άλλη στιγμή είχαμε αντιλογήσει, επειδή εδώ γράφουμε και δεν μιλάμε face 2 face πολλές φορές δεν μπορούμε να καταλάβουμε το πνεύμα ή την έκφραση του άλλου. Είναι γνωστό πως άμα γράψω, "είσαι χαζός", ενώ αν σε κοιτάζω και σου πω είσαι χαζός, κατά πάσα πιθανότητα θα καταλάβεις μόνο στην δεύτερη περίπτωση αν το εννοεί ο άλλος ή όχι. Γενικά αυτό που θέλω να πω είναι πως η κριτική είναι πολύτιμη, όταν γίνεται συνετά, με δημοκρατικό τρόπο και σεβασμό στον άλλον και να γνωρίζεις defacer πως σίγουρα έχω να πάρω πολλά από εσένα, όπως και εσύ από εμένα όπως και από όλους μας εδώ μέσα, μέχρι και τον επισκέπτη που ρωτάει με πια γλώσσα προγραμματισμού να ξεκινήσω. Αυτό για εμένα είναι στάση ζωής.
Timonkaipumpa Δημοσ. 3 Ιουλίου 2012 Δημοσ. 3 Ιουλίου 2012 Μην διαφωνείς δημόσια με έναν ηλίθιο γιατί ο κόσμος μπορεί να μη καταλάβει την διαφορά. Όταν ωριμάσεις αρκετά για να καταλάβεις αυτά που έγραψε ο migf1 σε προηγούμενο post ίσως γίνεις υπολογίσιμος, από την άλλη είσαι μία τρανή απόδειξη για όσα έγραψα σε προηγούμενο μήνυμα. Μα ναι! Αυτός που γράφει σε ένα forum ότι το forum πάει από το κακό στο χειρότερο επειδή του επισήμαναν το λάθος του και επιπλέον περιμένει να τρέξουν οι άλλοι να ρωτήσουν τι εννοεί σε κάθε του μήνυμα, λες και είναι δεν ξέρω 'γω τι, φυσικά και είναι ώριμος αρκετά! Να επισημάνω πως η μόνη άμυνα είναι οι χαρακτηρισμοί όπως "ηλίθιος"; Φυσικότατα! Γιατί όλα τα παραπάνω... είναι απολύτως λογικά!
defacer Δημοσ. 3 Ιουλίου 2012 Δημοσ. 3 Ιουλίου 2012 Ως εκ τούτου είναι αδύνατον να μπερδέψει τον οποιονδήποτε δει τον κώδικα. Και όχι μόνο αυτό, αλλά βοηθάει κιόλας το readability του κώδικα, είτε τον διαβάσει κάποιος εξοικειωμένος είτε κάποιος μη εξοικειωμένος με τα text mappings των Windows, αφού είναι αδύνατον να μην καταλάβει κάποιος ότι μια υπογραφή ονοματισμένη ως genSTRLEN() το ελάχιστο που κάνει είναι να μετράει το μήκος ενός string (edit: και μάλιστα του δίνει και hint να κοιτάξει γιατί δεν χρησιμοποιείται απευθείας η στάνταρ strlen). Η προσωπική μου εμπειρία υποδεικνύει πως το βασικότερο ρόλο στο readabillity του κώδικα (και με διαφορά) τον παίζει η οργάνωση του κώδικα και οι ονομασίες των identifiers (με την ευρύτερη έννοια, μεταβλητές, συναρτήσεις, macros, κλπ, κλπ). Αν αυτά τα 2 είναι μελετημένα είναι τόσο μεγάλη η συμβολή τους στο readabilty που πολύ συχνά απαλείφουν ακόμα και την ανάγκη συγγραφής σχολίων. Χωρίς να αποκλείουμε τις εξαιρέσεις, το παραπάνω εξασφαλίζει readability ανεξαρτήτως μεγέθους του κώδικα, πλήθους γραμμών συναρτήσεων ή level of abstraction. Μερικά ακόμα σπαρταριστά παραδείγματα του γιατί δεν έχω καμία διάθεση να πιάνω τέτοιες κουβέντες μαζί σου: δεν είσαι διατεθειμένος να κουνηθείς ούτε χιλιοστό από την προϋπάρχουσα άποψη που έχεις ό,τι κι αν σου πει κανείς. Στην πρώτη παράγραφο μας λες ούτε λίγο ούτε πολύ ότι η δική σου ονομασία στην οποιαδήποτε library function είναι καλύτερη από αυτή που υπάρχει σε όλο το documentation ακόμα και για κάποιον που τη βλέπει για πρώτη φορά. Επειδή όπως όλοι ξέρουμε όταν βλέπεις το όνομα μιας function δε χρειάζεται να διαβάσεις και το υπόλοιπο documentation... Η strlen() μετράει το τελευταίο null στο μήκος ή όχι; Η strspn() επιστρέφει pointer ή index; Όποιος δε μπορεί να καταλάβει μόνο από το όνομα είναι χαζός. Είναι δυνατόν να βρεις μπροστά σου μια προφανώς custom function με τόσο ωραίο όνομα και να πας να διαβάσεις documentation; Άσε κάτω το πληκτρολόγιο ρε λουλού και τράβα ν' ακούσεις Justin Bieber. Στη δεύτερη παράγραφο μας λες ούτε λίγο ούτε πολύ ότι η μέθοδος ονομασίας του migf1 "εκτός εξαιρέσεων" εξασφαλίζει readability με βροχή και με ήλιο, για μικρούς και για μεγάλους, για πλούσιους και φτωχούς. Φυσικά δεν αρνούμαι ότι η ονομασία παίζει τεράστιο ρόλο αλλά το να δίνεις σωστά ονόματα είναι από τα ευκολότερα πράγματα που μπορεί κανείς να μάθει να κάνει. Προφανώς απο κει και πέρα δεν υπάρχει ανάγκη να ασχοληθεί κανείς, γιατί σύμφωνα με το δίδαγμα του προφήτη τα παρακάτω είναι εξίσου readable: >var result = strings.Where(s => s.StartsWith("foo")).ToArray() >var temp = new List<string>(); foreach (var s in strings) { if (s.StartsWith("foo")) temp.Add(s); } var result = temp.ToArray(); (Το παράδειγμα επιλέχθηκε πολύ επίτηδες για να δείξω με εικόνες το τι διαφορά κάνει η εστίαση α) στο τι θέλεις να κάνεις vs β) στο με ποιό τρόπο το κάνεις όπως είχα γράψει νωρίτερα). Βεβαίως και κατα πως έχουμε συνηθίσει, δε χρειάζεται να αναφερθούμε απαραίτητα σ' αυτά που αναφέρει ο συνομιλητής μας ούτε να κάτσουμε να σκεφτούμε τι εννοεί και αν όντως παίζει ρόλο. Αρκεί να πούμε τη δική μας άποψη η οποία έχει τη βούλα της μακρόχρονης εμπειρίας. (Τραγική ειρωνεία ότι η ατάκα που έβαλα bold προέρχεται από κάποιον που με "κατηγόρησε" νωρίτερα, σ' αυτό το ίδιο θέμα νομίζω, ότι προωθώ "μαγικές συνταγές"). I will stop here and save my breath γιατί συνεχώς μου δίνεις την εντύπωση πως δε θέλεις να κάνεις συζήτηση αλλά διάλεξη. @bokarinho: Φίλε, το παίρνεις πολύ προσωπικά. Ακόμα κι αν έχεις δίκιο (που κατά την άποψή μου δεν έχεις), το νταηλίκι και οι προσβολές δε σε βοηθούν να το διεκδικήσεις. Ιδιαίτερα αφού όπως πολύ σωστά αναφέρεις η ασύγχρονη επικοινωνία το κάνει πολύ δυσκολότερο για όλους να καταλάβουν το πνεύμα σου.
migf1 Δημοσ. 3 Ιουλίου 2012 Δημοσ. 3 Ιουλίου 2012 Προτείνω το post σου αυτό (με πολλά ακόμα) να το προσθέσεις στη λίστα που έχεις κορνιζάρει δίπλα στον καθρέφτη σου και στο εξής να το συμπεριλαμβάνεις μαζί με τα υπόλοιπα που ποστάρεις στα φόρα ως παράδειγμα υγιούς διαλόγου με σένα πρωταγωνιστή. Προτείνω μάλιστα να τα εμπλουτίσεις και με ηχητικό εφέ που σε χειροκροτούν, γιατί είναι κρίμα να μένουν στεγνά κείμενα... υποτιμούν το μεγαλείο σου. Και λίγο visual με υποκλίσεις μπροστά από πορτρέτο σου δεν είναι καθόλου κακή ιδέα. Εγώ πάντως το "κορνιζάρισα" ήδη σε παράθεση για να υπάρχει πρόχειρο, ώστε αν το χάσεις να μπορείς να το βρεις εύκολα. Μερικά ακόμα σπαρταριστά παραδείγματα του γιατί δεν έχω καμία διάθεση να πιάνω τέτοιες κουβέντες μαζί σου: δεν είσαι διατεθειμένος να κουνηθείς ούτε χιλιοστό από την προϋπάρχουσα άποψη που έχεις ό,τι κι αν σου πει κανείς. Στην πρώτη παράγραφο μας λες ούτε λίγο ούτε πολύ ότι η δική σου ονομασία στην οποιαδήποτε library function είναι καλύτερη από αυτή που υπάρχει σε όλο το documentation ακόμα και για κάποιον που τη βλέπει για πρώτη φορά. Επειδή όπως όλοι ξέρουμε όταν βλέπεις το όνομα μιας function δε χρειάζεται να διαβάσεις και το υπόλοιπο documentation... Η strlen() μετράει το τελευταίο null στο μήκος ή όχι; Η strspn() επιστρέφει pointer ή index; Όποιος δε μπορεί να καταλάβει μόνο από το όνομα είναι χαζός. Είναι δυνατόν να βρεις μπροστά σου μια προφανώς custom function με τόσο ωραίο όνομα και να πας να διαβάσεις documentation; Άσε κάτω το πληκτρολόγιο ρε λουλού και τράβα ν' ακούσεις Justin Bieber. Στη δεύτερη παράγραφο μας λες ούτε λίγο ούτε πολύ ότι η μέθοδος ονομασίας του migf1 "εκτός εξαιρέσεων" εξασφαλίζει readability με βροχή και με ήλιο, για μικρούς και για μεγάλους, για πλούσιους και φτωχούς. Φυσικά δεν αρνούμαι ότι η ονομασία παίζει τεράστιο ρόλο αλλά το να δίνεις σωστά ονόματα είναι από τα ευκολότερα πράγματα που μπορεί κανείς να μάθει να κάνει. Προφανώς απο κει και πέρα δεν υπάρχει ανάγκη να ασχοληθεί κανείς, γιατί σύμφωνα με το δίδαγμα του προφήτη τα παρακάτω είναι εξίσου readable: >var result = strings.Where(s => s.StartsWith("foo")).ToArray() >var temp = new List<string>(); foreach (var s in strings) { if (s.StartsWith("foo")) temp.Add(s); } var result = temp.ToArray(); (Το παράδειγμα επιλέχθηκε πολύ επίτηδες για να δείξω με εικόνες το τι διαφορά κάνει η εστίαση α) στο τι θέλεις να κάνεις vs β) στο με ποιό τρόπο το κάνεις όπως είχα γράψει νωρίτερα). Βεβαίως και κατα πως έχουμε συνηθίσει, δε χρειάζεται να αναφερθούμε απαραίτητα σ' αυτά που αναφέρει ο συνομιλητής μας ούτε να κάτσουμε να σκεφτούμε τι εννοεί και αν όντως παίζει ρόλο. Αρκεί να πούμε τη δική μας άποψη η οποία έχει τη βούλα της μακρόχρονης εμπειρίας. (Τραγική ειρωνεία ότι η ατάκα που έβαλα bold προέρχεται από κάποιον που με "κατηγόρησε" νωρίτερα, σ' αυτό το ίδιο θέμα νομίζω, ότι προωθώ "μαγικές συνταγές"). I will stop here and save my breath γιατί συνεχώς μου δίνεις την εντύπωση πως δε θέλεις να κάνεις συζήτηση αλλά διάλεξη. @bokarinho: Φίλε, το παίρνεις πολύ προσωπικά. Ακόμα κι αν έχεις δίκιο (που κατά την άποψή μου δεν έχεις), το νταηλίκι και οι προσβολές δε σε βοηθούν να το διεκδικήσεις. Ιδιαίτερα αφού όπως πολύ σωστά αναφέρεις η ασύγχρονη επικοινωνία το κάνει πολύ δυσκολότερο για όλους να καταλάβουν το πνεύμα σου.
Timonkaipumpa Δημοσ. 3 Ιουλίου 2012 Δημοσ. 3 Ιουλίου 2012 Εντάξει... δεν συμφωνείτε. Το καταλάβαμε. Δεν είναι κρίμα όμως όλο αυτό; Ούτε ο ένας θα χάσει τίποτα ούτε ο άλλος εάν αποδεχθεί ότι ο απέναντί του έχει διαφορετική άποψη ή/και βολεύεται διαφορετικά. Τσιμπήστε δύο μπιρίτσες και άντε γεια μας (καλοκαίρι γαρ).
Star_Light Δημοσ. 3 Ιουλίου 2012 Δημοσ. 3 Ιουλίου 2012 Ρε μην τσακωνεστε. Ο καθενας εχει τις μεθοδους του. Αν τα παει καλα στη δουλεια του τι σημασια εχουν οι διαφωνιες και τα επιχειρηματα? Και δεν πειθεται καποιος με επιχειρηματα οσο καλα και αν ειναι οποτε ειναι χασιμο χρονου και δεν λεει.... @migf1 ναι ετρωγε πολυ μνημη αυτο που εφτιαξα... Αλλα για ενα απλο παιχνιδακι οταν δεν σε ενδιαφερει η μνημη και η ταχυτητα ειναι μια χαρα. Σε επαγγελματικο δεν θα εστεκε αλλα φανταζομαι εκει δεν θα ημουν μονος μου αν φτιαχναμε κατι. Στην αρχη το δουλευεις συνεταιρικα το συστημα.
defacer Δημοσ. 3 Ιουλίου 2012 Δημοσ. 3 Ιουλίου 2012 Ναι όντως είναι κρίμα. Από την πλευρά μου θα ξαναγυρίσω στην προηγούμενη στρατηγική του "δεν πιάνουμε σοβαρή κουβέντα με όλους" και όλα καλά. Και δε χαλιέμαι για το χρόνο που έφαγα για να διατυπώσω όσα έγραψα στο thread, φαντάζομαι ότι όλο και κάποιος θα τα βρήκε ενδιαφέροντα. Απλώς ας μη δουλευόμαστε ότι το θέμα εδώ είναι θέμα διαφοράς απόψεων. @Star_Light: Ο διάλογος και τα επιχειρήματα έχουν την τεράστια σημασία της "αναζήτησης της αλήθειας". Τεράστια τέλος πάντων για όποιον τον ενδιαφέρει κάτι τέτοιο.
migf1 Δημοσ. 3 Ιουλίου 2012 Δημοσ. 3 Ιουλίου 2012 ... Τσιμπήστε δύο μπιρίτσες και άντε γεια μας (καλοκαίρι γαρ). Μήπως εννοείς ζύθους και θέρος; Δεν επιτρέπεται η καθομιλουμένη δεν το έχεις καταλάβει, ούτε καν η κοινή πρακτική, το απαγορεύει ο μέγιστος. Και δεν θέλεις να τον στεναχωρήσεις, θέλεις; @migf1 ναι ετρωγε πολυ μνημη αυτο που εφτιαξα... Αλλα για ενα απλο παιχνιδακι οταν δεν σε ενδιαφερει η μνημη και η ταχυτητα ειναι μια χαρα. Σε επαγγελματικο δεν θα εστεκε αλλα φανταζομαι εκει δεν θα ημουν μονος μου αν φτιαχναμε κατι. Στην αρχη το δουλευεις συνεταιρικα το συστημα. Προφανώς και δεν παίζει ρόλο ούτε η μνήμη ούτε η ταχύτητα στη συγκεκριμένη άσκηση. Επειδή όμως αμφέβαλα πως η χρήση πινάκων ήταν συνειδητή σου επιλογή (εννοώ προϊόν σταθμίσματος) θεώρησα καλό να επισημάνω κάποια υπέρ και κατά, όχι για τη συγκεκριμένη άσκηση αλλά γενικώς με αφορμή τη συγκεκριμένη άσκηση.
παπι Δημοσ. 3 Ιουλίου 2012 Δημοσ. 3 Ιουλίου 2012 Τσιμπήστε δύο μπιρίτσες και άντε γεια μας (καλοκαίρι γαρ). Ελληνικες ετσι. Να πεσει και το ισοζυγιο μπας και δουμε μια ασπρη μερα
Timonkaipumpa Δημοσ. 4 Ιουλίου 2012 Δημοσ. 4 Ιουλίου 2012 Μία χαρά σοβαρό διάλογο κάνει κανείς με τους περισσότερους που γράφουν σε αυτό το θέμα... (γιατί δεν έχει γίνει ακόμα sticky δεν μπορώ να καταλάβω btw). Εάν μου επιτρέπετε όμως... Μην πετάει όμως ο ένας κάτι για ξαναγυρίσματα πίσω σε τακτικές και αναζητήσεις της αλήθειας για όσους τους ενδιαφέρει και ο άλλος κάτι για μέγιστα και καθομιλούμενες. Σαν τρίτος, η διαφορά σας είναι διαφορά του πώς βολεύεται ο καθένας. Όπως έχει πει ο migf1, έχει αποσυρθεί καιρό από την επαγγελματική, καθαρά πάνω στον προγραμματισμό, δράση (διόρθωσέ με migf1 εάν κάνω λάθος). Από την άλλη, και όπως φαίνεται, ο defacer είναι μέσα και, προφανώς, δουλεύει με συνεργάτες σε group κτλ. Καταλαβαίνω τι θέλει να κερδίσει ο migf1 και τι χάνει όμως αλλά και τι χάνει ο defacer και τι κερδίζει με αυτά που προτείνει (και νομίζω ότι και αρκετοί το καταλαβαίνουν, ασχέτως εάν συμφωνούν ή διαφωνούν). Συγνώμη που έκανα επέμβαση... όσο έκανα τεσ'πα. Τελικά.. καταλήξαμε; To MACRO or not to MACRO; Προτείνω το θέμα να αλλάξει σε: (θα) ερωτήσεις και συ ( C ).
migf1 Δημοσ. 4 Ιουλίου 2012 Δημοσ. 4 Ιουλίου 2012 ... Σαν τρίτος, η διαφορά σας είναι διαφορά του πώς βολεύεται ο καθένας. Όπως έχει πει ο migf1, έχει αποσυρθεί καιρό από την επαγγελματική, καθαρά πάνω στον προγραμματισμό, δράση (διόρθωσέ με migf1 εάν κάνω λάθος). Από την άλλη, και όπως φαίνεται, ο defacer είναι μέσα και, προφανώς, δουλεύει με συνεργάτες σε group κτλ. Καταλαβαίνω τι θέλει να κερδίσει ο migf1 και τι χάνει όμως αλλά και τι χάνει ο defacer και τι κερδίζει με αυτά που προτείνει (και νομίζω ότι και αρκετοί το καταλαβαίνουν, ασχέτως εάν συμφωνούν ή διαφωνούν). Συγνώμη που έκανα επέμβαση... όσο έκανα τεσ'πα. Τελικά.. καταλήξαμε; To MACRO or not to MACRO; Προτείνω το θέμα να αλλάξει σε: (θα) ερωτήσεις και συ ( C ). Τώρα γιατί με κουρδίζεις; Δεν θέλει και πολύ για να καταλάβει κανείς πως αν ο defacer έχει γράψει ποτέ στη ζωή του έστω κι ένα πρόγραμμα σε C που να πουλήθηκε έστω και σε πάγκο πανηγυριού, τότε εγώ είμαι ο Λουδοβίκος ο 14ος. Ο τύπος ξέρει πολύ καλά να αυτοθαυμάζεται, να μας κουνάει το δάχτυλο, να διαστρεβλώνει κατά το δοκούν ότι γουστάρει και στο τέλος να μας βρίζει κιόλας, αλλά από C έχει μεσάνυχτα. Έχει μάθει C++ και νομίζει πως επειδή ξέρει C++ ως δια μαγείας έμαθε και C. Βασικά αυτός νομίζει ότι και είναι εξπέρ. Δεν υπάρχει ούτε ένα του ποστ που να εστιάζει στα καθαρά χαρακτηριστικά της C... το μόνο που κάνει είναι να πασχίζει να μας πείσει πως πρέπει να χρησιμοποιούμε την C σαν να ήταν η C++. Στο τελευταίο του παραλήρημα έφτασε στο σημείο να μας δίνει παράδειγμα γραμμένο αμιγώς σε C++, χρησιμοποιώντας μάλιστα templates που είναι ένα από τα χαρακτηριστικά της C++ που στην C επιτυγχάνεται (όπως επιτυγχάνεται) με τον pre-processor και macros, μιας και ουσιαστικά μιλάμε για abstraction. Είτε το ξέρει είτε δεν το ξέρει ο defacer (ποσώς με ενδιαφέρει) το κατεξοχήν εργαλείο της C για abstraction interfaces είναι ο pre-processor (και τα void *).. Αυτό είναι απείρως πιο χρήσιμο να το γνωρίζει όποιος ενδιαφέρεται να ασχοληθεί με C, από οποιαδήποτε προσπάθεια του defacer να ικανοποιήσει την ματαιοδοξία του ως ξερόλας.
migf1 Δημοσ. 4 Ιουλίου 2012 Δημοσ. 4 Ιουλίου 2012 Φτου.. χειρότερα τα έκανα Εγώ πάντως τα πα publicly και ας με κάνουν και ban. Προσπάθησα να το αποφύγω με όλους τους πιθανούς κι απίθανους τρόπους, μέχρι και μ@l@k@s το ΄παιξα, αλλά κι η υπομονή έχει και τα όριά της.
defacer Δημοσ. 4 Ιουλίου 2012 Δημοσ. 4 Ιουλίου 2012 Φτου.. χειρότερα τα έκανα Εμ δεν είσαι και συ ξερόλας να το ξέρεις απο πριν... @migf1: Βασικά ήταν C# το τελευταίο. Δεν ξέρω αν έχω πείσει και τους υπόλοιπους που μας διαβάζουν ότι είμαι ξερόλας, εσύ όμως σίγουρα έπεισες πως πέρα απ' το νησάκι όπου έχεις μείνει τα τελευταία χρόνια δεν έχεις ιδέα τι γίνεται στο χώρο του computer science γενικότερα. By the way η C δεν είναι μία από τις γλώσσες στις οποίες θα έλεγα ότι έχω βαθιά γνώση (ποτέ δεν είπα κάτι τέτοιο). Βέβαια αν κάπου έκανα λάθος τεχνικής φύσης θα μπορούσες να με διορθώσεις, άσχετα αν "επέλεξες" να μην το κάνεις. It sucks να είσαι αυτός που δεν υποκλίνεται χωρίς αντίλογο στο μεγαλείο του άρχοντα της C αλλά αφού αυτή ήταν η μοίρα μου...
imitheos Δημοσ. 4 Ιουλίου 2012 Δημοσ. 4 Ιουλίου 2012 Εντάξει... δεν συμφωνείτε. Το καταλάβαμε. Τσιμπήστε δύο μπιρίτσες και άντε γεια μας (καλοκαίρι γαρ). Φτου.. χειρότερα τα έκανα Εγώ πάντως τα πα publicly και ας με κάνουν και ban. Προσπάθησα να το αποφύγω με όλους τους πιθανούς κι απίθανους τρόπους, μέχρι και μ@l@k@s το ΄παιξα, αλλά κι η υπομονή έχει και τα όριά της. Συμφωνώ και εγώ ότι πρέπει να αμβλυνθεί το θέμα και γιατί δεν έχουμε να χωρίσουμε κάτι και για να μη ξεφύγει κιόλας το πράγμα και κλειδωθεί το thread. Όπου γυρίσεις μιλάνε για python. Καλό είναι να υπάρχει ένα thread να συζητάμε για C έστω και για χαζομαρούλες όπως τι λέει το πρότυπο, πως συμπεριφέρεται ο Χ compiler και άλλα τέτοια για να περνάει η ώρα. Για αυτό κρατήθηκα τόση ώρα αλλά ρε παιδί μου δεν αντέχω, θα σκάσω αν δεν το πω Μερικά ακόμα σπαρταριστά παραδείγματα του γιατί δεν έχω καμία διάθεση να πιάνω τέτοιες κουβέντες μαζί σου: δεν είσαι διατεθειμένος να κουνηθείς ούτε χιλιοστό από την προϋπάρχουσα άποψη που έχεις ό,τι κι αν σου πει κανείς. @migf1: Δεν παίρνω μέρος στην αντιπαράθεση ούτε λέω ότι έχει δίκιο (ή άδικο) ο defacer. Δεν μπορώ όμως να μην σχολιάσω αυτό που λέει μια και το έχω παρατηρήσει και εγώ κάμποσες φορές (από παλιά thread του adslgr ακόμη στα οποία συμμετείχαμε) και ήθελα να το επισημάνω και τότε αλλά είδα ότι είχες προσβληθεί/τσατιστεί οπότε το έκανα γαργάρα. Αν πεις κάτι σε ένα θέμα, δεν υπάρχει περίπτωση να αλλάξεις γνώμη ο Θεός ο ίδιος να κατεβεί στη γη Απλά το επισημαίνω. Δεν το λέω κακοπροαίρετα για να σε κρίνω και ελπίζω να μην προσβληθείς.
Προτεινόμενες αναρτήσεις