1. Foren
  2. Kommentare
  3. Software-Entwicklung
  4. Alle Kommentare zum Artikel
  5. › Entwicklungsumgebungen…

Es lebe C++

Anzeige
  1. Thema
  1. 1
  2. 2
  3. 3

Neues Thema Ansicht wechseln


  1. Es lebe C++

    Autor: Bonita.M 22.03.13 - 18:18

    Mit C++ programmiert man halt übersichtlicher und effektiver
    - wenn man es kann. ^^

    Benutzer wird von Ihnen ignoriert. Anzeigen

  2. Re: Es lebe C++

    Autor: theonlyone 22.03.13 - 18:38

    Bonita.M schrieb:
    --------------------------------------------------------------------------------
    > Mit C++ programmiert man halt übersichtlicher und effektiver
    > - wenn man es kann. ^^

    Die Effizienz des Codes spielt eben immer eine Rolle.


    Umso abstrakter die Sprache wird umso besser um sie lesbar und einfach zu halten.

    C++ eignet sich echt schlecht um Realbeispiele direkt so in Code zu übernehmen, man muss sich eben doch mit zu viel low-level kram rumschlagen, was von eigentlichen use-case ablenkt, den man ja "eigentlich" programmieren will.


    Du sagst es mit "wenn man es kann" , das bedeutet schlichtweg, das man die Low-level probleme so sehr in fleisch übergehen gelassen hat, das man sich um das "wesentliche" gedanken machen kann ; in dem fall ist das aber exakt so als würde man mit einer abstrakten Schicht einfach eine andere programmiersprache nutzen, die diese Low-Level Problematiken garnicht erst aufkommen lässt.


    Anders sieht das aus wenn die Effizienz sagt man sollte es in C schreiben, heute ist aber auch C++ nicht "mehr" wesentlich schlechter als reiner C code, von daher macht es sinn auch umzusteigen.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  3. Re: Es lebe C++

    Autor: Bonita.M 22.03.13 - 19:02

    > Die Effizienz des Codes spielt eben immer eine Rolle.

    Wenn man nicht ungeschickt programmiert ist man bzgl der Effizienz gleichauf mit C. Und da es oft nicht praktikabel ist wie in C++ eben mal einen Algorithmus auf einen Datentyp zu spezialisieren wie man es mit generischer Programmierung mal nebenbei macht ist man in C++ oft sogar schneller als in C.

    > Umso abstrakter die Sprache wird umso besser um
    > sie lesbar und einfach zu halten.

    Wenn man damit richtig umgeht.

    > C++ eignet sich echt schlecht um Realbeispiele direkt so
    > in Code zu übernehmen, man muss sich eben doch mit
    > zu viel low-level kram rumschlagen, ...

    Du kannst in C++ ziemlich "highlevelig" programmieren wie es der Umgang mit der "STL" zeigt. Z.B. bieten dir C++-Strings die Möglichkeit die ganzen Lowelvel-Strings aus der C-Zeit fallen zu lassen.

    > Du sagst es mit "wenn man es kann" , das bedeutet schlichtweg, das man
    > die Low-level probleme so sehr in fleisch übergehen gelassen hat, das man
    > sich um das "wesentliche" gedanken machen kann ; in dem fall ist das aber
    > exakt so als würde man mit einer abstrakten Schicht einfach eine andere
    > programmiersprache nutzen, die diese Low-Level Problematiken garnicht
    > erst aufkommen lässt.

    Man sollte den Lowlevel-Kram den C++ noch mitschleppt kennen, aber wenn man wirklich C++-paradigmatisch programmiert hat man da meist kaum noch was mit zu tun.

    > Anders sieht das aus wenn die Effizienz sagt man sollte es in C schreiben, ...

    Ne, da gibt's keinen Unterschied mehr.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  4. Re: Es lebe C++

    Autor: flow77 22.03.13 - 19:04

    Ich nehme an das es im ersten Schritt hauptsächlich darum geht den gcc auf dem c++ compiler zu übersetzen um eben die genannten Vorteile zu haben.
    Auch wenn hier sicher nach und nach Funktionen in C++ umgeschrieben werden, habe ich das schlichtweg so verstanden dass es vorerst hauptsächlich um den compiler geht. Diverse Anpassungen waren sicher notwendig - gerade bzgl. casts damit der c++ compiler den c-code sauber übersetzen kann.

    Oder täusche ich mich hier?

    theonlyone schrieb:
    --------------------------------------------------------------------------------
    > Bonita.M schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Mit C++ programmiert man halt übersichtlicher und effektiver
    > > - wenn man es kann. ^^
    >
    > Die Effizienz des Codes spielt eben immer eine Rolle.
    >
    > Umso abstrakter die Sprache wird umso besser um sie lesbar und einfach zu
    > halten.
    >
    > C++ eignet sich echt schlecht um Realbeispiele direkt so in Code zu
    > übernehmen, man muss sich eben doch mit zu viel low-level kram rumschlagen,
    > was von eigentlichen use-case ablenkt, den man ja "eigentlich"
    > programmieren will.
    >
    > Du sagst es mit "wenn man es kann" , das bedeutet schlichtweg, das man die
    > Low-level probleme so sehr in fleisch übergehen gelassen hat, das man sich
    > um das "wesentliche" gedanken machen kann ; in dem fall ist das aber exakt
    > so als würde man mit einer abstrakten Schicht einfach eine andere
    > programmiersprache nutzen, die diese Low-Level Problematiken garnicht erst
    > aufkommen lässt.
    >
    > Anders sieht das aus wenn die Effizienz sagt man sollte es in C schreiben,
    > heute ist aber auch C++ nicht "mehr" wesentlich schlechter als reiner C
    > code, von daher macht es sinn auch umzusteigen.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  5. Re: Es lebe C++

    Autor: QDOS 22.03.13 - 19:52

    theonlyone schrieb:
    --------------------------------------------------------------------------------
    > Anders sieht das aus wenn die Effizienz sagt man sollte es in C schreiben,
    > heute ist aber auch C++ nicht "mehr" wesentlich schlechter als reiner C
    > code, von daher macht es sinn auch umzusteigen.
    Vergleich mal die Performance von qsort und std::sort und melde dich dann wieder...

    Benutzer wird von Ihnen ignoriert. Anzeigen

  6. Re: Es lebe C++

    Autor: bloody.albatross 22.03.13 - 20:07

    Bei so Diskussionen gibt es immer wieder ein Kommunikationsproblem. Viele sprechen wenn sie über die Sprache C++ reden nicht über die STL, andere tun das sehr wohl. Ich glaube wenn man die STL ignoriert und nur die Performance der Sprachen an sich vergleicht gibt es keinen Unterscheid (je nach dem wie man Programmiert eben - also nicht wenn man so programmiert, wie die STL programmiert ist).

    Benutzer wird von Ihnen ignoriert. Anzeigen

  7. Re: Es lebe C++

    Autor: Lord Gamma 22.03.13 - 20:12

    qsort meidet man aus Angst vor dem "worst case" in vielen Szenarien und setzt lieber auf heapsort, obwohl es durchschnittlich langsamer ist. Weiß jetzt gerade nicht auswendig, was std:sort nimmt, aber würde auf heapsort oder gar introsort (quicksort mit fallback auf heapsort) tippen.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  8. Re: Es lebe C++

    Autor: Steffo 22.03.13 - 20:35

    Lord Gamma schrieb:
    --------------------------------------------------------------------------------
    > qsort meidet man aus Angst vor dem "worst case" in vielen Szenarien

    Es gibt nur ein Worst Case bei quick sort und das ist der Fall, wo schon alles richtig sortiert ist. Aber in diesem Fall nimmt man einfach quicksort 3 median und gut ist...

    Benutzer wird von Ihnen ignoriert. Anzeigen

  9. Re: Es lebe C++

    Autor: QDOS 22.03.13 - 21:08

    Der C-Standard definiert keinen Heapsort...
    Und wenn man eben die von mir angesprochenen Algorithmen vergleicht stellt man fest, wie ineffizient das Zeiger-Gewurstel unter C im Vergleich zu Templates und Inlining von C++ ist...

    Benutzer wird von Ihnen ignoriert. Anzeigen

  10. Re: Es lebe C++

    Autor: BRDiger 22.03.13 - 22:50

    So ein Schwachsinn.
    Wenn jemand wirklich mal ernsthaft C und C++-Code in der Ausführung verglichen hat, dann weiß er dass C immer noch um ein Vielfaches schneller ist. Allein schon das "Hello World"-Programm ist in C viel viel schneller. Es ist ein low-level-Beispiel aber es zeigt eine grundverschiedene Performanz. Hört mir doch auf mit dieser "C++ ist mind. so schnell wie C-blah-blah"-Scheiße. Das ist einfach nicht wahr. C ist immer noch zig mal schneller als C++ und wird es IMMER bleiben und nicht umsonst versucht man im Kernel akribisch jede Zeile C++ fernzuhalten. Das ist nicht nur Ideologie. Wenn jemand antwortet, dann bitte keine C++-Schwuchtel.

    >"Mit C++ programmiert man halt übersichtlicher und effektiver
    >- wenn man es kann. ^^"

    Wenn man C kann, kann man auch übersichtlich programmieren. Ist euch vielleicht entgangen. Der GCC war immer ein Grundpfeiler der C-Programmierung. GNU hat sehr sehr schöne und verdammt schnelle (coreutils) Programme in C geschrieben. Aber heutzutage muss einfach jeder Idiot programmieren können denn die guten C-Programmierer werden rar und da bietet sich C++ nun mal an.
    Also spielt ruhig weiter rum in C++. Wer ernsthaft Programmieren will, lernt C.
    Nicht alles was alt ist, ist schlecht.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  11. Re: Es lebe C++

    Autor: QDOS 22.03.13 - 22:57

    BRDiger schrieb:
    --------------------------------------------------------------------------------
    > So ein Schwachsinn.
    Stimmt, bei deinem Kommentar auf jeden Fall :)

    > Wenn jemand wirklich mal ernsthaft C und C++-Code in der Ausführung
    > verglichen hat, dann weiß er dass C immer noch um ein Vielfaches schneller
    > ist.
    Wenn man keinen Schwachsinn wie Zeiger (void *) verwendet, stimmt das vl. für einzelne Abschnitte, aber sicher nicht generell...

    > Allein schon das "Hello World"-Programm ist in C viel viel schneller.
    > Es ist ein low-level-Beispiel aber es zeigt eine grundverschiedene
    > Performanz.
    Du vergleichst also jetzt die FILE*-API von C mit den "langsamen" IOstreams von C++ und glaubst darauf basierend C++ als langsam abstempeln zu können?

    > nicht umsonst versucht man im Kernel akribisch jede Zeile C++ fernzuhalten.
    > Das ist nicht nur Ideologie.
    Bei Linux ist das sicher Ideologie, denn C++ ist nicht inhärent langsamer als C...

    > Wenn man C kann, kann man auch übersichtlich programmieren.
    Red dir das nur ein :)


    > Aber heutzutage muss einfach jeder Idiot programmieren können denn die guten C-Programmierer werden rar und da bietet sich C++ nun mal an.
    Stimmt, denn C++ ist bekannt dafür sehr viel einfacher und simpler als C zu sein. Reality Police!

    > Nicht alles was alt ist, ist schlecht.
    Stimmt, C aber schon, das zeigen auch diese schwachen Versuch des ISO-Komitees seit 1990...

    Benutzer wird von Ihnen ignoriert. Anzeigen

  12. Re: Es lebe C++

    Autor: bstea 22.03.13 - 23:10

    Naja, die kaputten Konzepte von C hat C++ gerne aufgenommen. Ein Hoch auf den Präprozessor und die Header Include Thematik.

    --
    "Die Tragik des 20. Jahrhunderts liegt darin, daß es nicht möglich war, die Theorien von Karl Marx zuerst an Mäusen auszuprobieren."

    Benutzer wird von Ihnen ignoriert. Anzeigen

  13. Re: Es lebe C++

    Autor: QDOS 22.03.13 - 23:22

    Nachdem sie kompatible sein wollte, war das ein notwendiges Übel...
    An der Header-Problematik wird derzeit in Form einer Study Group geforscht, Ziel sind Modules.

    Ansonsten kriegt man in modernem C++ nicht wirklich was vom Präprozessor mit - keiner mit genug Verstand käme jemals auf die Idee Funktionalität über Macros zu realisieren...

    Benutzer wird von Ihnen ignoriert. Anzeigen

  14. Re: Es lebe C++

    Autor: BRDiger 22.03.13 - 23:22

    Tja wenn man kein C kann sollte man lieber die Klappe halten....,0

    >Bei Linux ist das sicher Ideologie, denn C++ ist nicht inhärent langsamer als C...

    Doch ;) Prüf es doch einfach mal anstatt Lügen zu verbreiten.

    >Stimmt, denn C++ ist bekannt dafür sehr viel einfacher und simpler als C zu sein. >Reality Police!

    Ja klar ;) C ist sooo kompliziert hahahha Pfeife....

    Es gab bei C 2 Standards. Eindeutige Sache also heul nicht rum.



    2 mal bearbeitet, zuletzt am 22.03.13 23:25 durch BRDiger.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  15. Re: Es lebe C++

    Autor: BRDiger 22.03.13 - 23:27

    >An der Header-Problematik wird derzeit in Form einer Study Group geforscht, Ziel sind Modules.

    Ja Header sind soooo schlimm und unhandlich ;) hahhahaha...Pfeifen.
    Lernt erstmal programmieren bevor ihr euch über C auslasst. C wurde von Leuten entwickelt die euch kleinen Scripties weit weit überlegen waren ;)

    Benutzer wird von Ihnen ignoriert. Anzeigen

  16. Re: Es lebe C++

    Autor: Tmrn 23.03.13 - 00:35

    BRDiger schrieb:
    --------------------------------------------------------------------------------
    > So ein Schwachsinn.
    > Wenn jemand wirklich mal ernsthaft C und C++-Code in der Ausführung
    > verglichen hat, dann weiß er dass C immer noch um ein Vielfaches schneller
    > ist. Allein schon das "Hello World"-Programm ist in C viel viel schneller.
    > Es ist ein low-level-Beispiel aber es zeigt eine grundverschiedene
    > Performanz. Hört mir doch auf mit dieser "C++ ist mind. so schnell wie
    > C-blah-blah"-Scheiße. Das ist einfach nicht wahr. C ist immer noch zig mal
    > schneller als C++ und wird es IMMER bleiben und nicht umsonst versucht man
    > im Kernel akribisch jede Zeile C++ fernzuhalten. Das ist nicht nur
    > Ideologie. Wenn jemand antwortet, dann bitte keine C++-Schwuchtel.

    Und zufällig habe ich gerade gesehen, dass ein entsprechender Artikel auf LWN aufgetaucht ist.

    http://lwn.net/Articles/543927/

    Ergebnis: Der selbe Code mit C oder C++ Compiler kompiliert, ist quasi gleich schnell.

    Wenn du meinst, dass C++ langsamer ist, musst du schon sagen, was genau. Was ist beim Hello World angeblich langsamer? Die Ausgabe? Das Starten? Das Beenden?

    Benutzer wird von Ihnen ignoriert. Anzeigen

  17. Re: Es lebe C++

    Autor: QDOS 23.03.13 - 01:18

    BRDiger schrieb:
    --------------------------------------------------------------------------------
    > Tja wenn man kein C kann sollte man lieber die Klappe halten....,0
    Stimmt, wenn man C++ kann, impliziert das ja nicht aus bestimmten Gründen, dass man C kann /s


    > Doch ;) Prüf es doch einfach mal anstatt Lügen zu verbreiten.
    Ach, was ist den an C++ inhärent langsamer als C? Gib mal ne Liste her mit Sachen, die C++ langsamer machen...

    > >Stimmt, denn C++ ist bekannt dafür sehr viel einfacher und simpler als C
    > zu sein. >Reality Police!
    >
    > Ja klar ;) C ist sooo kompliziert hahahha Pfeife....
    LOL, vl solltest du den Satz noch mal ganz langsam lesen...

    > Es gab bei C 2 Standards. Eindeutige Sache also heul nicht rum.
    Ich zähle 3: 1989, 1999, 2011 - lern erst mal Zählen bevor du rumbrüllst...

    Benutzer wird von Ihnen ignoriert. Anzeigen

  18. Re: Es lebe C++

    Autor: QDOS 23.03.13 - 01:20

    BRDiger schrieb:
    --------------------------------------------------------------------------------
    > Ja Header sind soooo schlimm und unhandlich ;) hahhahaha...Pfeifen.
    Wenn man keine Ahnung hat...

    > Lernt erstmal programmieren bevor ihr euch über C auslasst.
    Schick den Vorschlag mal den Leuten im Standardkomitee, die haben gern mal was zu lachen...

    Benutzer wird von Ihnen ignoriert. Anzeigen

  19. Re: Es lebe C++

    Autor: Lord Gamma 23.03.13 - 01:30

    BRDiger schrieb:
    --------------------------------------------------------------------------------
    > So ein Schwachsinn.
    > Wenn jemand wirklich mal ernsthaft C und C++-Code in der Ausführung
    > verglichen hat, dann weiß er dass C immer noch um ein Vielfaches schneller
    > ist. Allein schon das "Hello World"-Programm ist in C viel viel schneller.
    > Es ist ein low-level-Beispiel aber es zeigt eine grundverschiedene
    > Performanz. Hört mir doch auf mit dieser "C++ ist mind. so schnell wie
    > C-blah-blah"-Scheiße. Das ist einfach nicht wahr. C ist immer noch zig mal
    > schneller als C++ und wird es IMMER bleiben und nicht umsonst versucht man
    > im Kernel akribisch jede Zeile C++ fernzuhalten. Das ist nicht nur
    > Ideologie. Wenn jemand antwortet, dann bitte keine C++-Schwuchtel.
    >

    Schau dir bitte mal bspw. die Lib Blitz++ an, oder informiere dich mal allgemein über Metaprogrammierung! Normales C ist zwar performanter kommt aber bspw. lange nicht an numerische Berechnungen mittels Metaprogrammierung in C++ heran, die mit der Performance von Fortran vergleichbar sind, während man seinen Code strukturierter und eleganter organisieren kann.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  20. Re: Es lebe C++

    Autor: Robert0 23.03.13 - 02:27

    Und warum ist es jetzt so wichtig, ob der Compiler 1% schneller oder langsamer ist?

    Wenn ich eine kritische Stelle habe, dann verwende ich eben keine ineffizienten/ nicht dem Problem angemessenen Strukturen wie std::list vs. heap eóder wasauchimmer.

    Dass die Entwicklungsperformanz des GCC leidet ist viiiel wichtiger bzw. sie schneller werden.

    Man sieht doch, was clang so "mal eben" auf die Beine stellt. Warum? Weil sie nicht bei c feststehen.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  1. 1
  2. 2
  3. 3

Neues Thema Ansicht wechseln


Entschuldigung, nur registrierte Benutzer dürfen in diesem Forum schreiben. Klicken Sie hier um sich einzuloggen


Anzeige

Haben wir etwas übersehen?

E-Mail an news@golem.de


Moore's Law: Totgesagte schrumpfen länger
Moore's Law
Totgesagte schrumpfen länger

OS X Yosemite im Test: Continuity macht den Mac zum iPhone-Helfer
OS X Yosemite im Test
Continuity macht den Mac zum iPhone-Helfer
  1. OS X 10.10 Yosemite ist da
  2. Betriebssystem Apple bringt dritte öffentliche Beta von OS X 10.10
  3. Apple OS X Yosemite - die zweite öffentliche Beta ist da

Samsung Galaxy Note 4 im Test: Ausdauerndes Riesen-Smartphone mit Top-Hardware
Samsung Galaxy Note 4 im Test
Ausdauerndes Riesen-Smartphone mit Top-Hardware
  1. Galaxy Note 4 4,5 Millionen verkaufte Geräte in einem Monat
  2. Samsung Galaxy Note 4 wird teurer und kommt früher
  3. Gapgate Spalt im Samsung Galaxy Note 4 ist gewollt

  1. Streaming-Dienst: Netflix-App für Amazons Fire TV ist da
    Streaming-Dienst
    Netflix-App für Amazons Fire TV ist da

    Amazon hat die deutsche Netflix-App für die Streaming-Box Fire TV veröffentlicht. Vor der Installation der App muss eine neue Firmware auf das Fire TV installiert werden. Wer bereits die US-Version der Netflix-App genutzt hat, muss sich erneut anmelden.

  2. Pilot tot: Spaceship Two stürzt in der Mojave-Wüste ab
    Pilot tot
    Spaceship Two stürzt in der Mojave-Wüste ab

    Spaceship Two, das Raketenflugzeug des Raumfahrtunternehmens Virgin Galactic, ist in der Mojave-Wüste abgestürzt. Dabei kam wohl der Co-Pilot ums Leben, der Pilot soll schwer verletzt sein. Wie es zu dem Unglück kam, ist zur Stunde nicht bekannt. Das Trägerflugzeug WhiteKnightTwo landete unversehrt.

  3. Bewegungsprofile: Dobrindt wegen "Verkehrs-Vorratsdatenspeicherung" kritisiert
    Bewegungsprofile
    Dobrindt wegen "Verkehrs-Vorratsdatenspeicherung" kritisiert

    Das Versprechen von Verkehrsminister Dobrindt, dass das Mautsystem nicht zur Bildung eines massenhaften Bewegungsprofils der Bevölkerung genutzt wird, nimmt kaum einer ernst. Dobrindt versichert: "Kein Bürger muss Sorge haben, dass jetzt irgendwo Profile gespeichert werden könnten."


  1. 23:29

  2. 23:23

  3. 17:58

  4. 17:56

  5. 15:04

  6. 14:57

  7. 14:02

  8. 13:38