Σελ. 2 από 3 ΠρώτηΠρώτη 123 ΤελευταίαΤελευταία
Εμφάνιση 16-30 από 31

Θέμα: Γιατι c c++ ;

  1. #16
    Εγγραφή
    20-12-2005
    Μηνύματα
    3.222
    Downloads
    4
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    49997/4997
    ISP
    ΟΤΕ Conn-x
    DSLAM
    ΟΤΕ - ΞΑΝΘΗ
    Router
    Speedport W 724V
    SNR / Attn
    24,4(dB) / (dB)
    Παράθεση Αρχικό μήνυμα από turboirc Εμφάνιση μηνυμάτων
    Αυτά τα λένε, σόρρυ, οι άσχετοι (και δεν πρόκειται, για μία ακόμα φορά, να μπώ στην ίδια συζήτηση).
    Γιατί ρε συ αφορίζεις αμέσως τον συνομιλητή σου χωρίς να δεις την οπτική του ?

    Ένα πρόβλημα που έχει η C++ είναι ότι με τα χρόνια έχει υλοποιήσει τα κέρατά της και είναι χαώδης. Ένα πρόβλημα μπορεί να λυθεί με 15 διαφορετικές υποδομές της C++ οι οποίες δεν έχουν όλες το ίδιο επίπεδο βελτιστοποίησης από τον compiler. Ακόμη και καλοί προγραμματιστές πολλές φορές πέφτουν σε παγίδες. Αντίθετα η C είναι πάρα πολύ απλή γλώσσα με αποτέλεσμα α) να είναι λίγες οι κακές πρακτικές που μπορείς να χρησιμοποιήσεις και β) ο compiler να μπορεί να την βελτιστοποιήσει καλύτερα (το οποίο βοηθιέται ακόμη περισσότερο και από το α)

    Μετά υπάρχει και ένα άλλο θέμα. Δεν διαφωνώ ότι στους gcc, clang, msvc, κτλ γίνεται τρομερή δουλειά και (στις περισσότερες περιπτώσεις) θα βελτιστοποιήσουν πάρα πολύ καλά τον C++ κώδικα και η απόδοσή του θα είναι σχεδόν ίδια με τον αντίστοιχο C κώδικα. Δεν υπάρχουν όμως μόνο αυτοί οι compilers. Είναι αδύνατο ο denisun να έχει εμπειρία από κάποια embedded πλατφόρμα στην οποία ο c++ compiler να είναι της πλάκας* και να παράγει εκτελέσιμα που να έχουν τεράστια διαφορά στην απόδοση ?

    Εν γένει πιστεύω ότι έχει γίνει πολύ καλή δουλειά στους c++ compilers και όντως δεν θα έχει μεγάλη διαφορά το εκτελέσιμο του c++ compiler σε x86 / x86_64 αλλά υπάρχουν όμως περιπτώσεις στις οποίες το αποτέλεσμα σε c++ θα είναι χειρότερο για αυτό έγραψα επειδή δεν μου άρεσε ο κατευθείαν αφορισμός σου.

    Edit: Για να μην παρεξηγηθώ, δεν είχα κανένα σκοπό να μειώσω την δουλειά των ανθρώπων. Δεν μου άρεσε το "της πλάκας" που έγραψα απλά ήταν το πιο απλό που μου ήρθε στο μυαλό να γράψω. Αυτό που ουσιαστικά εννοούσα ήταν ότι υπάρχουν compilers που αναπτύσσονται από μια ομάδα 4-5 ατόμων οπότε δεν μπορούμε να περιμένουμε να είναι τόσο αποδοτικοί όσο ο gcc.
    "I like offending people, because I think people who get offended should be offended" - Linus Torvalds

    "Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
    κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
    Γα.... την πολιτική ορθότητα.

  2. #17
    Το avatar του μέλους turboirc
    turboirc Guest
    Παράθεση Αρχικό μήνυμα από imitheos Εμφάνιση μηνυμάτων
    Γιατί ρε συ αφορίζεις αμέσως τον συνομιλητή σου χωρίς να δεις την οπτική του ?

    Ένα πρόβλημα που έχει η C++ είναι ότι με τα χρόνια έχει υλοποιήσει τα κέρατά της και είναι χαώδης. Ένα πρόβλημα μπορεί να λυθεί με 15 διαφορετικές υποδομές της C++ οι οποίες δεν έχουν όλες το ίδιο επίπεδο βελτιστοποίησης από τον compiler. Ακόμη και καλοί προγραμματιστές πολλές φορές πέφτουν σε παγίδες. Αντίθετα η C είναι πάρα πολύ απλή γλώσσα με αποτέλεσμα α) να είναι λίγες οι κακές πρακτικές που μπορείς να χρησιμοποιήσεις και β) ο compiler να μπορεί να την βελτιστοποιήσει καλύτερα (το οποίο βοηθιέται ακόμη περισσότερο και από το α)

    Μετά υπάρχει και ένα άλλο θέμα. Δεν διαφωνώ ότι στους gcc, clang, msvc, κτλ γίνεται τρομερή δουλειά και (στις περισσότερες περιπτώσεις) θα βελτιστοποιήσουν πάρα πολύ καλά τον C++ κώδικα και η απόδοσή του θα είναι σχεδόν ίδια με τον αντίστοιχο C κώδικα. Δεν υπάρχουν όμως μόνο αυτοί οι compilers. Είναι αδύνατο ο denisun να έχει εμπειρία από κάποια embedded πλατφόρμα στην οποία ο c++ compiler να είναι της πλάκας* και να παράγει εκτελέσιμα που να έχουν τεράστια διαφορά στην απόδοση ?

    Εν γένει πιστεύω ότι έχει γίνει πολύ καλή δουλειά στους c++ compilers και όντως δεν θα έχει μεγάλη διαφορά το εκτελέσιμο του c++ compiler σε x86 / x86_64 αλλά υπάρχουν όμως περιπτώσεις στις οποίες το αποτέλεσμα σε c++ θα είναι χειρότερο για αυτό έγραψα επειδή δεν μου άρεσε ο κατευθείαν αφορισμός σου.

    Edit: Για να μην παρεξηγηθώ, δεν είχα κανένα σκοπό να μειώσω την δουλειά των ανθρώπων. Δεν μου άρεσε το "της πλάκας" που έγραψα απλά ήταν το πιο απλό που μου ήρθε στο μυαλό να γράψω. Αυτό που ουσιαστικά εννοούσα ήταν ότι υπάρχουν compilers που αναπτύσσονται από μια ομάδα 4-5 ατόμων οπότε δεν μπορούμε να περιμένουμε να είναι τόσο αποδοτικοί όσο ο gcc.
    Η συζήτηση αυτή έχει γίνει πολλές φορές σε τεράστια επίπεδα από πολύ σοβαρούς ανθρώπους και γνώστες και δεν σκοπεύω να αναπτύξω επιχειρήματα εδώ μέσα σε μία συζήτηση που δεν έχει νόημα.
    Στοιχηματίζω 1000 ευρώ με όποιον θέλει να φτιάξει στα Windows ένα μεγάλο πρόγραμμα με C (όχι παραμύθια command line) με το Visual Studio και εγώ να κάνω το ίδιο πρόγραμμα με C++ και να το συγκρίνουμε. Για παράδειγμα μόλις τελείωσα ένα network asio driver... όποιος γουστάρει να τον φτιάξει με C και αν είναι πιο γρήγορο και δουλεύει κιόλας, πήρε ένα δωράκι.

  3. #18
    Εγγραφή
    28-03-2006
    Περιοχή
    KV G434
    Ηλικία
    49
    Μηνύματα
    42.338
    Downloads
    23
    Uploads
    0
    Τύπος
    FTTH
    Ταχύτητα
    310/31
    ISP
    Cosmote
    DSLAM
    ΟΤΕ - ΕΡΜΟΥ
    Router
    RB4011iGS+5 ONT: G-010G-R
    Παράθεση Αρχικό μήνυμα από turboirc Εμφάνιση μηνυμάτων
    Αυτά τα λένε, σόρρυ, οι άσχετοι (και δεν πρόκειται, για μία ακόμα φορά, να μπώ στην ίδια συζήτηση).
    Άντε καλά.
    Ότι πεις...
    | "Anyone can build a fast CPU.
    | The trick is to build a fast system."
    |____________Seymour Cray...

  4. #19
    Εγγραφή
    28-02-2006
    Μηνύματα
    1.161
    Downloads
    0
    Uploads
    0
    ISP
    Cosmote
    DSLAM
    ΟΤΕ - ΓΑΛΑΤΣΙ
    O turboirc, αν και κάπως κυνικός, είναι σωστός.

    Η C++ είναι υπερσύνολο της C. Δεν είναι τυχαίο ότι όταν πρωτοβγήκε η C++, πολλοί την έλεγαν C με κλάσεις. Επομένως, το να ισχυρίζεται κανείς ότι η C είναι γρήγορη αλλά η C++ είναι αργή, είναι απλά χαζό.

    Ωστόσο, η C++ συντακτικά και ιδιαίτερα με τις τελευταίες προσθήκες (ISO C++17), έχει πλέον μεγαλώσει πάρα πολύ. Αυτό έχει τα εξής αποτελέσματα:
    1. Είναι πολύ πιο εύκολο να φτιάξει κανείς έναν καλό compiler της C, από το να φτιάξει έναν καλό compiler της C++ (που να υποστηρίζει τα τελευταία features της γλώσσας).
    2. Είναι πολύ πιο εύκολο να γράψει κανείς ένα καλό πρόγραμμα σε C (από άποψη ταχύτητας-χώρου), από το να γράψει το ίδιο καλό πρόγραμμα σε C++. Επίσης στη C, λόγω του μικρότερου συντακτικού, εντοπίζονται πολύ πιο εύκολα τυχόν inefficiencies στα διάφορα σημεία του κώδικα, σε σχέση με τη C++ (λόγω των abstractions που έχει).

    Με βάση τα παραπάνω, καταλαβαίνει κανείς γιατί η C είναι και θα συνεχίσει να είναι η dominant γλώσσα στο low-level systems programming.
    NetBSD Rocks!
    http://www.netbsd.org

  5. #20
    Εγγραφή
    03-11-2016
    Ηλικία
    34
    Μηνύματα
    160
    Downloads
    0
    Uploads
    0
    Τύπος
    ADSL2+
    Ταχύτητα
    UP:1061 k/ DN:11889 k
    ISP
    Cyta Hellas
    DSLAM
    Cyta Hellas - Σ.Σ. ΑΓΡΑ
    Router
    TG788v2
    SNR / Attn
    21.4(dB) / 4.3(dB)
    Path Level
    Interleaved
    Απορώ με τόσο "έμπειρους" προγραμματιστές σαν τον αγαπητό turboirc, πώς δεν αναφέρθηκε ότι η C με την C++ είναι δύο διαφορετικές γλώσσες. Το οτι μοιάζει το συντακτικό δεν σημαινει ότι έχουν την οποιαδήμοτε σχέση μεταξύ τους. Περισσότερα εδώ.
    Αν νομίζεις ότι μπορείς να το κάνεις καλύτερα, απόδειξέ το. Μή μένεις μόνο στα λόγια.

  6. #21
    Εγγραφή
    28-03-2006
    Περιοχή
    KV G434
    Ηλικία
    49
    Μηνύματα
    42.338
    Downloads
    23
    Uploads
    0
    Τύπος
    FTTH
    Ταχύτητα
    310/31
    ISP
    Cosmote
    DSLAM
    ΟΤΕ - ΕΡΜΟΥ
    Router
    RB4011iGS+5 ONT: G-010G-R
    Προφανώς άλλα λέμε και άλλα καταλαβαίνουν μερικοί.
    Όταν μιλάμε για ταχύτητα, δεν μιλάμε για προγραμματάκια λογιστηρίου, αποθήκης κλπ.
    Ούτε ακόμα για συστήματα υπολογισμού φόρου κλπ.
    Μιλάμε για αλγόριθμους που για να βγάλουν αποτέλεσμα θα πρέπει να τρέξουν για ώρες ίσως και μέρες.
    πχ αλγόριθμοι κρυπτογράφησης κλπ.
    Όποιος λοιπόν δεν ασχολήθηκε με τέτοια θέματα και θεωρεί ότι μιλάμε για το εάν η cout είναι το ίδιο γρήγορη με την printf τότε απλά δεν έχει καταλάβει τι σημαίνει ταχύτητα.
    Καλό είναι λοιπόν να μην γράφετε αερολογίες και τέτοιου είδους βαρύγδουμπα του στυλ "ναι είναι το ίδιο γρήγορες" όπως επίσης ότι η μία είναι υποσύνολο της άλλης, γιατί απλά εκτίθεστε.

    Και επειδή δεν μου αρέσουν οι θεωρίες...
    Όποιος θέλει μπορεί να υλοποιήσει τον πολύ απλό md5 με c και c++, να τον τρέξει για Χ-χαρακτήρες (~ μερικές ώρες) και να μας πει και σε εμάς τους ανίδεους τα αποτελέσματα που βρήκε.

    Διαφορετικά τα είπα/άκουσα/μου είπανε/το διάβασα... δεν μου λένε τίποτε.
    | "Anyone can build a fast CPU.
    | The trick is to build a fast system."
    |____________Seymour Cray...

  7. #22
    Το avatar του μέλους turboirc
    turboirc Guest
    Παράθεση Αρχικό μήνυμα από Mosfet Εμφάνιση μηνυμάτων
    O turboirc, αν και κάπως κυνικός, είναι σωστός.

    Η C++ είναι υπερσύνολο της C. Δεν είναι τυχαίο ότι όταν πρωτοβγήκε η C++, πολλοί την έλεγαν C με κλάσεις. Επομένως, το να ισχυρίζεται κανείς ότι η C είναι γρήγορη αλλά η C++ είναι αργή, είναι απλά χαζό.

    Ωστόσο, η C++ συντακτικά και ιδιαίτερα με τις τελευταίες προσθήκες (ISO C++17), έχει πλέον μεγαλώσει πάρα πολύ. Αυτό έχει τα εξής αποτελέσματα:
    1. Είναι πολύ πιο εύκολο να φτιάξει κανείς έναν καλό compiler της C, από το να φτιάξει έναν καλό compiler της C++ (που να υποστηρίζει τα τελευταία features της γλώσσας).
    2. Είναι πολύ πιο εύκολο να γράψει κανείς ένα καλό πρόγραμμα σε C (από άποψη ταχύτητας-χώρου), από το να γράψει το ίδιο καλό πρόγραμμα σε C++. Επίσης στη C, λόγω του μικρότερου συντακτικού, εντοπίζονται πολύ πιο εύκολα τυχόν inefficiencies στα διάφορα σημεία του κώδικα, σε σχέση με τη C++ (λόγω των abstractions που έχει).

    Με βάση τα παραπάνω, καταλαβαίνει κανείς γιατί η C είναι και θα συνεχίσει να είναι η dominant γλώσσα στο low-level systems programming.
    Τι σημαίνει low level systems programming ? Kernel driver?
    Το (1) δεν με ενδιαφέρει, ο compiler είναι πλέον καλός.
    Το (2) ήδη έβαλα στοίχημα για όποιον το καταφέρει. Από ότι φαίνεται εδώ μέσα όλοι θεωρητικοί φυσικοί σπούδασαν αλλά δεν ξέρουν να κουνήσουν μία μπετούγια. Βρες μου έναν από εδώ μέσα που έχει γραψει κώδικα.

    Παράθεση Αρχικό μήνυμα από You lied Εμφάνιση μηνυμάτων
    Απορώ με τόσο "έμπειρους" προγραμματιστές σαν τον αγαπητό turboirc, πώς δεν αναφέρθηκε ότι η C με την C++ είναι δύο διαφορετικές γλώσσες. Το οτι μοιάζει το συντακτικό δεν σημαινει ότι έχουν την οποιαδήμοτε σχέση μεταξύ τους. Περισσότερα εδώ.
    Ναι εννοείται, η C Και η C++ δεν έχουν καμία σχέση μεταξύ τους, απλά τις μπερδεύεις με την BASIC και την COBOL ίσως.

    Παράθεση Αρχικό μήνυμα από deniSun Εμφάνιση μηνυμάτων
    Προφανώς άλλα λέμε και άλλα καταλαβαίνουν μερικοί.
    Όταν μιλάμε για ταχύτητα, δεν μιλάμε για προγραμματάκια λογιστηρίου, αποθήκης κλπ.
    Ούτε ακόμα για συστήματα υπολογισμού φόρου κλπ.
    Μιλάμε για αλγόριθμους που για να βγάλουν αποτέλεσμα θα πρέπει να τρέξουν για ώρες ίσως και μέρες.
    πχ αλγόριθμοι κρυπτογράφησης κλπ.
    Όποιος λοιπόν δεν ασχολήθηκε με τέτοια θέματα και θεωρεί ότι μιλάμε για το εάν η cout είναι το ίδιο γρήγορη με την printf τότε απλά δεν έχει καταλάβει τι σημαίνει ταχύτητα.
    Καλό είναι λοιπόν να μην γράφετε αερολογίες και τέτοιου είδους βαρύγδουμπα του στυλ "ναι είναι το ίδιο γρήγορες" όπως επίσης ότι η μία είναι υποσύνολο της άλλης, γιατί απλά εκτίθεστε.

    Και επειδή δεν μου αρέσουν οι θεωρίες...
    Όποιος θέλει μπορεί να υλοποιήσει τον πολύ απλό md5 με c και c++, να τον τρέξει για Χ-χαρακτήρες (~ μερικές ώρες) και να μας πει και σε εμάς τους ανίδεους τα αποτελέσματα που βρήκε.

    Διαφορετικά τα είπα/άκουσα/μου είπανε/το διάβασα... δεν μου λένε τίποτε.
    Χαζομάρες. Η C++ είναι σχεδον superset της C. Μάλλον νομίζεις ότι για να κάτσω να υλοποιήσω το (απαρχαιωμένο και επικίνδυνο αλλά ακόμα σε χρήση σε σαβουροκώδικα) md5 Θα κάτσω να χρησιμοποιήσω std::map. Προφανώς και έχεις μείνει στο linux development command line της εποχής του 90 και αυτών που έφτιαξε ο Stroustroup.

    Η C++ είναι superset (εκτός απο ελάχιστες μικροδιαφορές) και, κατά συνέπεια, σχεδόν όλοι οι C κώδικες είναι C++ κώδικες.

    Παιδιά βαρέθηκα. Το στοίχημα ισχύει για όποιον νομίζει ότι μπορεί.
    Αντιος.

  8. #23
    Εγγραφή
    28-02-2006
    Μηνύματα
    1.161
    Downloads
    0
    Uploads
    0
    ISP
    Cosmote
    DSLAM
    ΟΤΕ - ΓΑΛΑΤΣΙ
    Παράθεση Αρχικό μήνυμα από turboirc Εμφάνιση μηνυμάτων
    Τι σημαίνει low level systems programming ? Kernel driver?
    Ναι, όπως ανέφερα και πιο πριν, θεωρώ τη C καταλληλότερη από τη C++, μόνο για να γράφει κανείς device drivers και λειτουργικά συστήματα. Όπως επίσης και για τον προγραμματισμό embedded συστημάτων (π.χ. microcontrollers).

    Παράθεση Αρχικό μήνυμα από turboirc Εμφάνιση μηνυμάτων
    Το (1) δεν με ενδιαφέρει, ο compiler είναι πλέον καλός.
    Δεν διαφωνώ, υπάρχουν εξαιρετικοί C++ compilers, proprietary (Microsoft, Intel, IBM) και open-source (g++, clang++).

    Παράθεση Αρχικό μήνυμα από turboirc Εμφάνιση μηνυμάτων
    Το (2) ήδη έβαλα στοίχημα για όποιον το καταφέρει. Από ότι φαίνεται εδώ μέσα όλοι θεωρητικοί φυσικοί σπούδασαν αλλά δεν ξέρουν να κουνήσουν μία μπετούγια. Βρες μου έναν από εδώ μέσα που έχει γραψει κώδικα.
    Εδώ μάλλον δεν κατάλαβες ακριβώς, αυτό που εννοούσα. Ας το ξεκαθαρίσω λοιπόν:

    Αρκετός κόσμος μπορεί να φτάσει, σε ένα πολύ καλό επίπεδο C developer.
    Πολύ λιγότερος κόσμος μπορεί να φτάσει στο αντίστοιχο πολύ καλό επίπεδο C++ developer.

    Όσον αφορά το στοίχημα, θα έχει πράγματι ενδιαφέρον, αν κάποιος σηκώσει το γάντι...
    NetBSD Rocks!
    http://www.netbsd.org

  9. #24
    Εγγραφή
    20-12-2005
    Μηνύματα
    3.222
    Downloads
    4
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    49997/4997
    ISP
    ΟΤΕ Conn-x
    DSLAM
    ΟΤΕ - ΞΑΝΘΗ
    Router
    Speedport W 724V
    SNR / Attn
    24,4(dB) / (dB)
    Παράθεση Αρχικό μήνυμα από Mosfet Εμφάνιση μηνυμάτων
    Όσον αφορά το στοίχημα, θα έχει πράγματι ενδιαφέρον, αν κάποιος σηκώσει το γάντι...
    Αφενός, όταν ο turboirc αφορίζει ολόκληρο το φόρουμ με λόγια του στυλ "βρες μου έναν που να γράφει κώδικα" λες και μόνο αυτός προγραμματίζει από ολόκληρη την ελλάδα και οι υπόλοιποι γράφουν κώδικες τύπου "δώσε όνομα, γειά σου τάδε", δεν νομίζω να ανοίγει σε κάποιον η διάθεση να σηκώσει το γάντι.

    Αφετέρου, κανένα ενδιαφέρον δεν θα έχει επειδή το μόνο που θα δείξει είναι πόσο καλός ή κακός προγραμματιστής είναι το Χ άτομο στο συγκεκριμένο αντικείμενο σε σχέση με τον turboirc. Για παράδειγμα αν εγώ που δεν έχω ιδέα από Windows APIs (και γνωρίζω μόνο πολύ βασικά πράγματα από c++) κάτσω και γράψω ένα άθλιο asio driver σε c++ που έχει χάλια απόδοση θα σημαίνει ότι η C++ δεν είναι καλή ?

    Αν ο turboirc που γνωρίζει το αντικείμενο κάτσει ο ίδιος και γράψει τον asio driver σε C χρησιμοποιώντας καλές πρακτικές τότε _ίσως_ δείξει κάτι το εγχείρημα. Και εκείνο που θα δείξει θα είναι απλά πόση διαφορά έχει ο MSVC στους συγκεκριμένους κώδικες c και c++ και όχι γενικά συμπεράσματα για τις δύο γλώσσες.
    "I like offending people, because I think people who get offended should be offended" - Linus Torvalds

    "Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
    κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
    Γα.... την πολιτική ορθότητα.

  10. #25
    Το avatar του μέλους turboirc
    turboirc Guest
    Παράθεση Αρχικό μήνυμα από imitheos Εμφάνιση μηνυμάτων
    Αφενός, όταν ο turboirc αφορίζει ολόκληρο το φόρουμ με λόγια του στυλ "βρες μου έναν που να γράφει κώδικα" λες και μόνο αυτός προγραμματίζει από ολόκληρη την ελλάδα και οι υπόλοιποι γράφουν κώδικες τύπου "δώσε όνομα, γειά σου τάδε", δεν νομίζω να ανοίγει σε κάποιον η διάθεση να σηκώσει το γάντι.

    Αφετέρου, κανένα ενδιαφέρον δεν θα έχει επειδή το μόνο που θα δείξει είναι πόσο καλός ή κακός προγραμματιστής είναι το Χ άτομο στο συγκεκριμένο αντικείμενο σε σχέση με τον turboirc. Για παράδειγμα αν εγώ που δεν έχω ιδέα από Windows APIs (και γνωρίζω μόνο πολύ βασικά πράγματα από c++) κάτσω και γράψω ένα άθλιο asio driver σε c++ που έχει χάλια απόδοση θα σημαίνει ότι η C++ δεν είναι καλή ?

    Αν ο turboirc που γνωρίζει το αντικείμενο κάτσει ο ίδιος και γράψει τον asio driver σε C χρησιμοποιώντας καλές πρακτικές τότε _ίσως_ δείξει κάτι το εγχείρημα. Και εκείνο που θα δείξει θα είναι απλά πόση διαφορά έχει ο MSVC στους συγκεκριμένους κώδικες c και c++ και όχι γενικά συμπεράσματα για τις δύο γλώσσες.
    Το βασικο προβλημα ολων εδω μεσα ειναι οτι θεωρουν C++ οτι εχει να κανει σχεση με αντικειμενα, templates κλπ. Και οι απλες συναρτησεις C++ ειναι. Η διαφορα με την C++ δεν ειναι στην ταχυτητα εκτελεσης, που ειναι ιδια και για τις δυο γλωσσες, αλλα στο τεραστιο κοστος επιπλεον που εχει να φτιαξεις κατι σε C που στη C++ θελει λιγες γραμμες, οταν αυτο χρειαζεται.

    Φυσικα οι περισοτεροι δεν αντιμετωπισαν ποτε κατι τετοιο, οποτε γιατι να καταλαβουν τη διαφορα;
    Εξ ου και ενα καρο exploits σε απαρχαιωμενο κωδικα του παρελθοντος. Στα συγχρονα προγραμματα εχουν μειωθει κατα πολυ τα bugs.


    Οι περισσοτεροι εχουν μαθει λανθασμενα στο πανεπιστημιο οτι οπου βλεπω συναρτησεις ειναι C και οπου βλεπω objects και templates ειναι C++. Γιατι φυσικα στο πανεπιστημιο συνηθως διδασκονται πρωτα απλη C -> τεραστιο λαθος και επισης διδασκονται λανθασμενα οτι η C++ γινεται translate σε C, αρα πιο αργη.

    Και φυσικα, η C++ ειναι πολυ δυσκολοτερη για τον μεσο προγραμματιστη, οποτε και ειτε θα μεινει στη C (και με καποιο αναλογο μπαζο οπως το debugging by printf()) ειτε θα παει σε καμια αλλη γλωσσα.

    Οσο για τις παρατηρησεις σου για το στοιχημα, δεν εχω αλλο τροπο εδω μεσα να αποδειξω αυτα που λεω. Δεν ειναι συνεδριο οποτε και για να μιλησει καποιος θελει επιχειρηματα και βιβλιογραφια, εδω ειναι ενα απλο φορουμ και ο καθενας μπορει να λεει οτι θελει. Και ναι, αν φτιαξω τον ASIO driver σε C θα τρεχει το ιδιο ισως γρηγορα (αν υποθεσουμε οτι τα optimizations ειναι σωστα) αλλα θα μου κοστισει πολυ περισσοτερο σε χρονο, ασφαλεια, αξιοπιστια και maintenance. Και η steinberg θα με ξηλωσει αργα η γρηγορα.
    Τελευταία επεξεργασία από το μέλος turboirc : 01-10-17 στις 16:46.

  11. #26
    Εγγραφή
    20-12-2005
    Μηνύματα
    3.222
    Downloads
    4
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    49997/4997
    ISP
    ΟΤΕ Conn-x
    DSLAM
    ΟΤΕ - ΞΑΝΘΗ
    Router
    Speedport W 724V
    SNR / Attn
    24,4(dB) / (dB)
    Παράθεση Αρχικό μήνυμα από turboirc Εμφάνιση μηνυμάτων
    Το βασικο προβλημα ολων εδω μεσα ειναι οτι θεωρουν C++ οτι εχει να κανει σχεση με αντικειμενα, templates κλπ. Και οι απλες συναρτησεις C++ ειναι. Η διαφορα με την C++ δεν ειναι στην ταχυτητα εκτελεσης, που ειναι ιδια και για τις δυο γλωσσες, αλλα στο τεραστιο κοστος επιπλεον που εχει να φτιαξεις κατι σε C που στη C++ θελει λιγες γραμμες, οταν αυτο χρειαζεται.

    Οι περισσοτεροι εχουν μαθει λανθασμενα στο πανεπιστημιο οτι οπου βλεπω συναρτησεις ειναι C και οπου βλεπω objects και templates ειναι C++. Γιατι φυσικα στο πανεπιστημιο συνηθως διδασκονται πρωτα απλη C -> τεραστιο λαθος και επισης διδασκονται λανθασμενα οτι η C++ γινεται translate σε C, αρα πιο αργη.

    Και φυσικα, η C++ ειναι πολυ δυσκολοτερη για τον μεσο προγραμματιστη, οποτε και ειτε θα μεινει στη C (και με καποιο αναλογο μπαζο οπως το debugging by printf()) ειτε θα παει σε καμια αλλη γλωσσα.

    Οσο για τις παρατηρησεις σου για το στοιχημα, δεν εχω αλλο τροπο εδω μεσα να αποδειξω αυτα που λεω. Δεν ειναι συνεδριο οποτε και για να μιλησει καποιος θελει επιχειρηματα και βιβλιογραφια, εδω ειναι ενα απλο φορουμ και ο καθενας μπορει να λεει οτι θελει. Και ναι, αν φτιαξω τον ASIO driver σε C θα τρεχει το ιδιο ισως γρηγορα (αν υποθεσουμε οτι τα optimizations ειναι σωστα) αλλα θα μου κοστισει πολυ περισσοτερο σε χρονο, ασφαλεια, αξιοπιστια και maintenance.
    Αυτό το ποστ σου είναι τελείως διαφορετικό από τα αφοριστικά προηγούμενα και συμφωνώ απολύτως. Να προσθέσω κιόλας ότι σε κάποιες σχολές μετά την μετάβαση από C σε C++ δεν διδάσκουν καν C++ αλλά C με cout/cin

    Όσον αφορά το bold συμφωνώ και σε αυτό. Στην C θα αναγκαστείς να υλοποιήσεις από την αρχή ένα κάρο πράγματα που υπάρχουν στην C++ και θα φας χρόνο. Πριν όμως δεν προέβαλες αυτό σαν επιχείρημα αλλά ότι οποιοδήποτε κώδικα σε C σου δώσουν, εσύ θα τον γράψεις σε C++ και θα τρέχει πιο γρήγορα.
    "I like offending people, because I think people who get offended should be offended" - Linus Torvalds

    "Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
    κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
    Γα.... την πολιτική ορθότητα.

  12. #27
    Το avatar του μέλους turboirc
    turboirc Guest
    Παράθεση Αρχικό μήνυμα από imitheos Εμφάνιση μηνυμάτων
    Αυτό το ποστ σου είναι τελείως διαφορετικό από τα αφοριστικά προηγούμενα και συμφωνώ απολύτως. Να προσθέσω κιόλας ότι σε κάποιες σχολές μετά την μετάβαση από C σε C++ δεν διδάσκουν καν C++ αλλά C με cout/cin

    Όσον αφορά το bold συμφωνώ και σε αυτό. Στην C θα αναγκαστείς να υλοποιήσεις από την αρχή ένα κάρο πράγματα που υπάρχουν στην C++ και θα φας χρόνο. Πριν όμως δεν προέβαλες αυτό σαν επιχείρημα αλλά ότι οποιοδήποτε κώδικα σε C σου δώσουν, εσύ θα τον γράψεις σε C++ και θα τρέχει πιο γρήγορα.
    Θα τρεχει πιο γρηγορα. O C++ compiler κανει optimizations. Ειπα οτι συναγωνιζομαι με οποιον θελει να φτιαξει κατι που κανω εγω σε C++, σε απλη C. Οτι και να ειναι, κατι θα του ξεφυγει που απο τον C++ compiler δεν θα ξεφυγει.

    Και βεβαια μιλαμε για κανονικο προγραμμα.

  13. #28
    Εγγραφή
    28-03-2006
    Περιοχή
    KV G434
    Ηλικία
    49
    Μηνύματα
    42.338
    Downloads
    23
    Uploads
    0
    Τύπος
    FTTH
    Ταχύτητα
    310/31
    ISP
    Cosmote
    DSLAM
    ΟΤΕ - ΕΡΜΟΥ
    Router
    RB4011iGS+5 ONT: G-010G-R
    Παράθεση Αρχικό μήνυμα από turboirc Εμφάνιση μηνυμάτων
    Χαζομάρες. Η C++ είναι σχεδον superset της C. Μάλλον νομίζεις ότι για να κάτσω να υλοποιήσω το (απαρχαιωμένο και επικίνδυνο αλλά ακόμα σε χρήση σε σαβουροκώδικα) md5 Θα κάτσω να χρησιμοποιήσω std::map. Προφανώς και έχεις μείνει στο linux development command line της εποχής του 90 και αυτών που έφτιαξε ο Stroustroup.

    Η C++ είναι superset (εκτός απο ελάχιστες μικροδιαφορές) και, κατά συνέπεια, σχεδόν όλοι οι C κώδικες είναι C++ κώδικες.

    Παιδιά βαρέθηκα. Το στοίχημα ισχύει για όποιον νομίζει ότι μπορεί.
    Αντιος.
    Δεν σου είπα να αναπτύξεις κώδικα για να τον πουλήσεις.
    Για δοκιμή σου το είπα.
    Προφανώς και δεν έχεις ιδέα από τέτοιου είδους προγραμματισμό.
    Και μόνο η επιμονή σου (που τις σφραγίζεις μάλιστα και με χαρακτηρισμούς) σε πράγματα που δεν γνωρίζεις, δείχνει πως είσαι πολύ μακριά από το πνεύμα του προγραμματιστή.
    Θα μπορούσες πολύ απλά να δοκιμάσεις αυτό που προανέφερα ως πρόκληση και να με διορθώσεις σε όλα γράφω.
    Παρ όλα αυτά επιμένεις δαιμονικά ("το σφάλλειν ανθρώπινον, το εμμένειν σατανικόν") στις απόψεις σου απλά επαναλαμβάνοντας τα ίδια και τα ίδια.
    Αφού λοιπόν τοποθετείς τον εαυτό σου σε μια τέτοια εωσφορική κατάσταση όπου δεν δέχεσαι τίποτε άλλο παρά μόνο την ίδια σου την άποψη σου... καλώς κάνεις και μας αποχαιρετάς.
    Δεν έχει πραγματικά κανένα νόημα να συζητάμε (λάθος μου... να μην δεχόμαστε τις θεωρίες σου).
    | "Anyone can build a fast CPU.
    | The trick is to build a fast system."
    |____________Seymour Cray...

  14. #29
    Εγγραφή
    11-07-2005
    Περιοχή
    Λουξεμβούργο
    Ηλικία
    58
    Μηνύματα
    12.570
    Downloads
    6
    Uploads
    1
    Τύπος
    FTTH
    Ταχύτητα
    500Μ Download/260M Uploa
    ISP
    Διάφοροι. Ολο
    Router
    Fritzbox!7490
    Παράθεση Αρχικό μήνυμα από turboirc Εμφάνιση μηνυμάτων
    Οσον αφορα τη συγκριση C με C++ δεν υπαρχει κανενας λογος για την C, εκτος αν για καποιο λογο λειπει ο compiler.

    Σε σχεση με τις αλλες γλωσσες, σωστα ειναι αυτα που λεγονται παραπανω, εγω θα προσθεσω οτι μετα την C++ ολα τα αλλα φαινονται ευκολοτερα, αρα μικρο learning curve. Μετα απο 25 χρονια στη C++ εμαθα ενα καρο αλλες σαν παιχνιδακι.
    Λες ο Linus Torvalds να μην ξέρει τι του γίνεται;;;; χμμμμ.....

    - - - Updated - - -

    Παράθεση Αρχικό μήνυμα από Mosfet Εμφάνιση μηνυμάτων

    Όσον αφορά το στοίχημα, θα έχει πράγματι ενδιαφέρον, αν κάποιος σηκώσει το γάντι...
    Η πρόκληση ειναι μια παπαριά και μισή. Γιατί ειναι στο δικό του πεδίο, και το έχει ήδη κάνει. Γιατί να μην γίνει το αντίθετο; Ο μίστερ turboirc λέει ότι χρησιμοποιεί ετοιμες βιβλιοθήκες και σιγά μην κάτσει να υλοποιήσει απο την αρχή. Ναι, για το 90% μην πω παραπάνω, ισχύει αυτό που λέει. Αλλά υπάρχει και αυτό το μαμημένο 10% (ή και πολύ λιγότερο), ΠΟΥ ΔΕΝ ΙΣΧΥΕΙ

    Πραγματική ιστορία παρακάτω
    Spoiler:

    Η ιστορία ειναι απο το 1989, αλλά ανάλογα συμβαίνουν πάντα.
    Ρουτίνα να σορτάρει records fixed length σχετικά μεγάλου μήκους (για την εποχή). ΟΚ, χρησιμοποιούν την έτοιμη quicksort, αλλά έχει μεγάλο χρόνο εκτέλεσης.... Οτι και να κάνανε, δεν κατέβενε... Παίρνω τον κώδικα, τον ξαναγράφω σε C (ναι σε Xenix τότε), και κάνω profiling να δω που τρώει τον χρόνο του. Βλέπω την low level memcpy να έχει το 99% του χρόνου. Και ναι, φυσικό ειναι. Η quicksort άλλαζε θέση στα πραγματικά δεδομένα, μέχρι να τα βάλει σε σωστή διάταξη.
    Την γράφω την quicksort σε C, αλλά χωρίς να αλλάζω θέση στα πραγματικά δεδομένα, αλλά σε έναν πίνακα pointers (indirect addressing) και κάνω διάταξη στον πίνακα των pointers και όχι στα actual data. Αποτέλεσμα, η εκτέλεση γινόταν σε λιγότερο απο 1/10 του προηγούμενου χρόνου, και όσο μεγαλύτερο ήταν το dataset, τοσο μεγάλωνε η διαφορά.
    με τα έτοιμα, ποτέ δεν θα γινόταν.
    Κάποιες φορές πρέπει να μπαίνεις πιο βαθιά απο το να κάνεις plumbing programming
    Αν και νομίζω πια ότι κάτι τέτοιο δεν τους ενδιαφέρει. Οταν δεν πάει αρκετά γρήγορα, η λύση ειναι έτοιμη στα χείλη. Πάρτε γρηγορότερο μηχάνημα.

  15. #30
    Το avatar του μέλους turboirc
    turboirc Guest
    Ας φέρεις τον linus να συζητήσουμε τότε, εσύ τι θες;

Σελ. 2 από 3 ΠρώτηΠρώτη 123 ΤελευταίαΤελευταία

Παρόμοια Θέματα

  1. Free C/C++ compiler, υπάρχει?
    Από eyw στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμού
    Μηνύματα: 36
    Τελευταίο Μήνυμα: 07-01-18, 21:00
  2. string C++ και C-string
    Από panosdoken_ στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμού
    Μηνύματα: 10
    Τελευταίο Μήνυμα: 02-09-17, 12:06
  3. Μηνύματα: 8
    Τελευταίο Μήνυμα: 30-11-16, 23:41
  4. Thomson TG782 νέο firmware 8.C.D.C
    Από qaz031 στο φόρουμ ADSL
    Μηνύματα: 7
    Τελευταίο Μήνυμα: 27-10-16, 16:17

Bookmarks

Bookmarks

Δικαιώματα - Επιλογές

  • Δεν μπορείτε να δημοσιεύσετε νέα θέματα
  • Δεν μπορείτε να δημοσιεύσετε νέα μηνύματα
  • Δεν μπορείτε να αναρτήσετε συνημμένα
  • Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας
  •  
  • Τα BB code είναι σε λειτουργία
  • Τα Smilies είναι σε λειτουργία
  • Το [IMG] είναι σε λειτουργία
  • Το [VIDEO] είναι σε λειτουργία
  • Το HTML είναι εκτός λειτουργίας