1. Foren
  2. Kommentare
  3. Software-Entwicklung
  4. Alle Kommentare zum Artikel
  5. › C-Programmierung: Schutz…

Was ist mit C++?

  1. Thema

Neues Thema Ansicht wechseln


  1. Was ist mit C++?

    Autor: Stummi 28.12.14 - 13:26

    Es wird nur auf C eingegangen aber nicht auf C++. C++ behebt viele Probleme von C, insbesondere in der Speicherverwaltung, und wenn man die stdlib richtig verwendet ist es ziemlich schwierig, versehentlich ungeprüft in den speicher zu schreiben. Nach dem Autor scheint es aber nur C und high-level-sprachen wie python zu geben.

    C und C++ in "einem Rutsch" zu erwähnen ist heute einfach nicht mehr passend, da sich die zwei sprachen mittlerweile weit ausseinanderentwickelt haben und man sie als komplett unterschiedliche sprachen betrachten muss.



    1 mal bearbeitet, zuletzt am 28.12.14 13:28 durch Stummi.

  2. Re: Was ist mit C++?

    Autor: fuzzy 28.12.14 - 13:44

    Stummi schrieb:
    --------------------------------------------------------------------------------
    > und wenn man die stdlib richtig verwendet ist es ziemlich schwierig,
    > versehentlich ungeprüft in den speicher zu schreiben.

    Naja, da liegt ja das Problem: Wenn man C „richtig verwendet“, geht auch nix schief. Die Idee an den ganzen High-Level-Sprachen wie Python, Java, C#, etc ist, dass man garnicht erst die Möglichkeit hat, es falsch zu verwenden.

    Baumansicht oder Zitieren oder nicht Posten - die Wahl ist eure!

  3. Re: Was ist mit C++?

    Autor: Kasoki 28.12.14 - 13:50

    fuzzy schrieb:
    --------------------------------------------------------------------------------
    > Stummi schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > und wenn man die stdlib richtig verwendet ist es ziemlich schwierig,
    > > versehentlich ungeprüft in den speicher zu schreiben.
    >
    > Naja, da liegt ja das Problem: Wenn man C „richtig verwendet“,
    > geht auch nix schief. Die Idee an den ganzen High-Level-Sprachen wie
    > Python, Java, C#, etc ist, dass man garnicht erst die Möglichkeit hat, es
    > falsch zu verwenden.

    Großer Unterschied ob man eine mit einer Sprache "richtig arbeitet" oder einfach nur die Standard Library benutzt.

    Sehr interessante Sprache die man vllt. noch dazu werfen könnte ist: Rust ( http://www.rust-lang.org/ )

  4. Re: Was ist mit C++?

    Autor: Trockenobst 28.12.14 - 16:06

    fuzzy schrieb:
    --------------------------------------------------------------------------------
    > Stummi schrieb:
    > ---------------------------------------------------------------------------
    > Naja, da liegt ja das Problem: Wenn man C „richtig verwendet“,
    > geht auch nix schief. Die Idee an den ganzen High-Level-Sprachen wie
    > Python, Java, C#, etc ist, dass man garnicht erst die Möglichkeit hat, es
    > falsch zu verwenden.

    Wenn man C++ richtig verwendet, ist die Sprache mit so viel Syntax verzuckert, dass es keinen Spass mehr macht C++ zu schreiben. Man versucht dann Java oder C# zu simulieren.

    Etwa intelligente Zeiger:
    http://stackoverflow.com/questions/106508/what-is-a-smart-pointer-and-when-should-i-use-one/106614#106614

    Bei den Laufzeiten heutiger Prozessoren ist es auch zunehmend Unsinnig alles in C++ zu schreiben. Viele schreiben nur den Kern in C++ und den Rest in einer Skriptsprache wie Python oder Lua, weil sich diese Interpreter fast überall einbinden lassen. Bei Games z.B. ist das inzwischen üblich.

  5. Re: Was ist mit C++?

    Autor: Cerdo 28.12.14 - 19:16

    fuzzy schrieb:
    --------------------------------------------------------------------------------
    > Stummi schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > und wenn man die stdlib richtig verwendet ist es ziemlich schwierig,
    > > versehentlich ungeprüft in den speicher zu schreiben.
    >
    > Naja, da liegt ja das Problem: Wenn man C „richtig verwendet“,
    > geht auch nix schief. Die Idee an den ganzen High-Level-Sprachen wie
    > Python, Java, C#, etc ist, dass man garnicht erst die Möglichkeit hat, es
    > falsch zu verwenden.
    Genau das macht C eigentlich auch zu einer "schlechten" Programmiersprache. Programmieren in C ist schwer und man muss zu viel wissen, um keine Fehler zu machen. Das ungeliebte Java z.B. weist einen schon bei der Übersetzung auf die meisten Fehler hin.
    Nur leider haben die besseren Programmiersprachen einige Konzepte, die C so beliebt machen nicht umgesetzt. Gerade in der parallelen Programmierung fällt das dann negativ auf (vgl. http://brinch-hansen.net/papers/1999b.pdf )

  6. Re: Was ist mit C++?

    Autor: M.P. 29.12.14 - 10:04

    Kasoki schrieb:
    --------------------------------------------------------------------------------
    >
    > Großer Unterschied ob man eine mit einer Sprache "richtig arbeitet" oder
    > einfach nur die Standard Library benutzt.
    >

    Der Witz ist gut. Ich glaube, das "einfach nur die Standard Library" benutzen ist der Punkt, an dem sich schon die Spreu von Weizen trennt...

  7. Re: Was ist mit C++?

    Autor: M.P. 29.12.14 - 10:11

    Brüche gibt es aber dann häufig an der Schnittstelle zwischen den Sprach.Welten. Da ist man dann gezwungen zu Standard C herunterzusteigen, und die Objektorientierung (auf beiden Seiten) hinter sich zu lassen...

  8. Re: Was ist mit C++?

    Autor: RobertFr 29.12.14 - 10:50

    Trockenobst schrieb:
    > Wenn man C++ richtig verwendet, ist die Sprache mit so viel Syntax
    > verzuckert, dass es keinen Spass mehr macht C++ zu schreiben. Man versucht
    > dann Java oder C# zu simulieren.

    Das ist ja mal eine ganz neue Sichtweise. Du hast gar keine Ahnung von C++, oder?

    Zugegeben, die Sprache selbst, insbesondere Templates und alles drumherum sind schon recht eigen, aber mit syntaktischem Zucker hat das rein garnichts zu tun.

    C++ ist eine Multiparadigmen-Sprache. Sie bietet dem Programmierer unheimliche viele Möglichkeiten, sein Ziel zu erreichen, aber eben auch unheimlich viele Möglichkeiten, sich selbst ins Knie zu schießen. (frei nach dem Zitat von Stroustroup...).

    Und das macht verdammt viel Spaß! Nur ein Beispiel: CRTP (http://en.wikipedia.org/wiki/Curiously_recurring_template_pattern) entdecken und verstehen ist wie das erste mal Sex, da öffnen sich ganz neue Welten. Und RAII im Zusammenhang mit Exception-Safety verstehen und anwenden ist wie laufen lernen oder Fahrrad fahren lernen. Macht Spaß und ist durch und durch logisch und schlüssig.

    In all den Sprachen, die ihren Speicher, ihren Heap, verstecken und dem Programmierer entziehen entzieht sich eben auch die Nachvollziehbarkeit und die Logik, die Abläufe werden unklar, und naja... "finally". LOL (wer den Scherz versteht, darf gerne mitlachen).

    Java und C# und dessen Generics und all das drangepappte Geraffel ist im Vergleich zu C++ nur billiges Bling-Bling, was nicht gut funktioniert, weil unausgegoren.

    Man stelle sich vor, man könnte in seiner Muttersprache keine Schimpfwörter benutzen, weil es sie nicht gäbe, und man könnte auch keinerlei selbstreflektive Aussagen formulieren, und es gäbe natürlich auch keine spitzen Gegenstände wie "Messer", also kein Wort dafür, weil das ja potentiell gefährlich sein könnte, und zum Essen dann eben auch nur Suppe und Brei, kein Fleisch, naja usw...

    Ist doch recht doof, wenn man eine Sprache deshalb wählt, weil sie bestimmte Dinge NICHT kann, oder?

  1. Thema

Neues Thema Ansicht wechseln


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

Stellenmarkt
  1. H&H Datenverarbeitungs- und Beratungsgesellschaft mbH, Berlin
  2. Deloitte, Leipzig
  3. AKDB Anstalt für kommunale Datenverarbeitung in Bayern, verschiedene Standorte
  4. DREWAG - Stadtwerke Dresden GmbH, Dresden

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Hardware-Angebote
  1. (reduzierte Überstände, Restposten & Co.)


Haben wir etwas übersehen?

E-Mail an news@golem.de


Elektromobilität: Ein Besuch im tschechischen Grünheide
Elektromobilität
Ein Besuch im tschechischen Grünheide

Der Autohersteller Hyundai fertigt einen Teil seiner Kona Elektros jetzt in der EU. Im tschechischen Nošovice rollen pro Jahr bis zu 35.000 Elektroautos vom Band - sollte es keine Corona-bedingten Unterbrechungen geben. Ein Werksbesuch.
Von Dirk Kunde

  1. Crossover-Elektroauto Model Y fährt effizienter als Model 3
  2. Wohnungseigentumsgesetz Regierung beschließt Anspruch auf private Ladestelle
  3. Plugin-Hybride BMW setzt Anreize für höhere Stromerquote

Autorennen: Rennsportler fahren im Homeoffice
Autorennen
Rennsportler fahren im Homeoffice

Formel 1? Gestrichen. DTM? Gestrichen. Formel E? Gestrichen. Jetzt treten die Rennprofis gegen die besten Onlinefahrer der Welt an.
Von Frank Wunderlich-Pfeiffer

  1. E-Sport Die Formel 1 geht online weiter
  2. Lvl Von der Donnerkuppel bis zum perfekten Burger
  3. E-Sport Gran-Turismo-Champion gewinnt auch echte Rennserie

Next-Gen: Welche neue Konsole darf's denn sein?
Next-Gen
Welche neue Konsole darf's denn sein?

Playstation 5 oder Xbox Series X: Welche Konsole besser wird, wissen wir auch noch nicht. Grundüberlegungen zur Hardware und den Ökosystemen.
Ein IMHO von Peter Steinlechner

  1. Elektroschrott Kauft keine kleinen Konsolen!
  2. IMHO Porsche prescht beim Preis übers Ziel hinaus