Abo
  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. ^^

  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.

  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.

  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.

  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...

  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).

  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.

  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...

  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...

  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.

  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...

  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.

    --
    Erst wenn der letzte Baum gefällt, der letzte Fluss gestaut und der letzte Fisch gefangen ist, werdet ihr feststellen, dass man Biber nicht essen kann!

  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...

  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.

  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 ;)

  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?

  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...

  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...

  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.

  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.

  1. 1
  2. 2
  3. 3

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Zum Login

Anzeige
Stellenmarkt
  1. Daimler AG, Leinfelden-Echterdingen
  2. adesso AG, verschiedene Standorte in Deutschland, Istanbul (Türkei)
  3. DMG MORI Software Solutions Germany GmbH, Pfronten (Allgäu)
  4. Allianz Deutschland AG, Unterföhring

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Hardware-Angebote
  1. (u. a. ROG Strix GTX1080-8G-Gaming, ROG Strix GTX1070-8G-Gaming u. ROG Strix Radeon RX 460 OC)
  2. 59,90€
  3. bei Alternate


Haben wir etwas übersehen?

E-Mail an news@golem.de


Donald Trump: Ein unsicherer Deal für die IT-Branche
Donald Trump
Ein unsicherer Deal für die IT-Branche
  1. Potus Donald Trump übernimmt präsidiales Twitter-Konto
  2. USA Amazon will 100.000 neue Vollzeitstellen schaffen
  3. Trump auf Pressekonferenz "Die USA werden von jedem gehackt"

Begnadigung: Danke, Chelsea Manning!
Begnadigung
Danke, Chelsea Manning!
  1. Die Woche im Video B/ow the Wh:st/e!
  2. Verwirrung Assange will nicht in die USA - oder doch?
  3. Whistleblowerin Obama begnadigt Chelsea Manning

Mi Mix im Test: Xiaomis randlose Innovation mit kleinen Makeln
Mi Mix im Test
Xiaomis randlose Innovation mit kleinen Makeln
  1. Smartphone-Hersteller Hugo Barra verlässt Xiaomi
  2. Xiaomi Mi Note 2 im Test Ein Smartphone mit Ecken ohne Kanten

  1. Spielebranche: Goodgame Studios entlässt weitere 200 Mitarbeiter
    Spielebranche
    Goodgame Studios entlässt weitere 200 Mitarbeiter

    Der Stellenabbau beim Hamburger Entwicklerstudio Goodgame geht weiter: Rund 200 Mitarbeiter verlieren offenbar ihren Job. Das erst kürzlich abgetretene Management kehrt zurück an die Spitze.

  2. Project Scorpio: Neue Xbox ohne ESRAM, aber mit Checkerboard
    Project Scorpio
    Neue Xbox ohne ESRAM, aber mit Checkerboard

    Microsoft verzichtet bei Project Scorpio auf schnellen On-Chip-Speicher und setzt offenbar weiterhin auf Jaguar-Kerne. Die Xbox beherrscht wie die Playstation 4 Pro sogenanntes Checkerboard-Rendering, Microsoft rät aber zu gröberen Effekten und dynamischer Auflösung statt durchweg zu 4K-UHD.

  3. DirectX 12: Microsoft legt Shader-Compiler offen
    DirectX 12
    Microsoft legt Shader-Compiler offen

    Der Compiler für Microsofts Shader-Sprache HLSL ist Open Source. Das Werkzeug ist Teil von DirectX 12 und basiert auf LLVM sowie dessen Frontend Clang. HLSL ist damit effektiv nicht mehr proprietär und für die Treiberentwickler ergeben sich daraus einige Vorteile.


  1. 18:21

  2. 18:16

  3. 17:44

  4. 17:29

  5. 16:57

  6. 16:53

  7. 16:47

  8. 16:14