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. LeasePlan Deutschland GmbH, Düsseldorf, Neuss
  2. IAV GmbH, München
  3. Schwarz Dienstleistung KG, Raum Neckarsulm
  4. über duerenhoff GmbH, München

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Hardware-Angebote
  1. (u. a. Roccat Kain 122 Aimo für 53,99€, Roccat Kain 200 Aimo für 74,99€)


Haben wir etwas übersehen?

E-Mail an news@golem.de


Verkehr: Das Kaltstart-Dilemma der Autos mit Hybridantrieb
Verkehr
Das Kaltstart-Dilemma der Autos mit Hybridantrieb

Bei Hybridautos und Plugin-Hybriden kommt es häufiger zu Kaltstarts als bei normalen Verbrennungsmotoren - wenn der Verbrennungsmotor ausgeht und der Elektromotor das Auto durch die Stadt schiebt. Wie schnell lässt sich der Katalysator vorwärmen, damit er Abgase dennoch gut reinigen kann?
Von Rainer Klose

  1. Elektromobilität Umweltbonus gilt auch für Jahreswagen
  2. Renault City K-ZE Dacia plant City-Elektroauto
  3. Elektroautos EU-Kommission billigt höheren Umweltbonus

Leistungsschutzrecht: Drei Wörter sollen ...
Leistungsschutzrecht
Drei Wörter sollen ...

Der Vorschlag der Bundesregierung für das neue Leistungsschutzrecht stößt auf Widerstand bei den Verlegerverbänden. Überschriften mit mehr als drei Wörtern und Vorschaubilder sollen lizenzpfichtig sein. Dabei wenden die Verlage einen sehr auffälligen Argumentationstrick an.
Eine Analyse von Friedhelm Greis

  1. Leistungsschutzrecht Memes sollen nur noch 128 mal 128 Pixel groß sein
  2. Leistungsschutzrecht Französische Verlage reichen Beschwerde gegen Google ein
  3. Leistungsschutzrecht Französische Medien beschweren sich über Google

Threadripper 3990X im Test: AMDs 64-kerniger Hammer
Threadripper 3990X im Test
AMDs 64-kerniger Hammer

Für 4.000 Euro ist der Ryzen Threadripper 3990X ein Spezialwerkzeug: Die 64-kernige CPU eignet sich exzellent für Rendering oder Video-Encoding, zumindest bei genügend RAM - wir benötigten teils 128 GByte.
Ein Test von Marc Sauter und Sebastian Grüner

  1. Ryzen Mobile 4000 (Renoir) Lasst die Ära der schrottigen AMD-Notebooks enden!
  2. HEDT-Prozessor 64-kerniger Threadripper schlägt 20.000-Dollar-Xeons
  3. Ryzen Mobile 4000 AMDs Renoir hat acht 7-nm-Kerne für Ultrabooks

  1. Made in USA: Glasexperte Corning und Qualcomm bieten 5G Small Cells
    Made in USA
    Glasexperte Corning und Qualcomm bieten 5G Small Cells

    Mit Corning und Qualcomm sind zwei US-Unternehmen im Bereich RAN aktiv, wie Trump es sich wünscht. Doch die 5G Small Cells arbeiten nur im Millimeterwellenbereich.

  2. 5G SA: Ausbau auf echte 5G-Leistung erfolgt mit Softwareupdate
    5G SA
    Ausbau auf echte 5G-Leistung erfolgt mit Softwareupdate

    Das bisherige 5G-Netz hängt noch stark von LTE ab. Wie sich das ändern lässt, wollten wir von den Ausrüstern genau wissen, weil 5G SA bereits eingesetzt wird.

  3. Youtube: Influencer mögen "Clickbait" nicht
    Youtube
    Influencer mögen "Clickbait" nicht

    Bekannte Influencer wie Unge, Dagi und Bibi nutzen laut einem Medienbericht die Filterfunktion von Youtube, um problematische Kommentare zu blockieren. Besonders unbeliebt sind Wörter wie "Clickbait" und "Fake".


  1. 19:41

  2. 17:39

  3. 16:32

  4. 15:57

  5. 14:35

  6. 14:11

  7. 13:46

  8. 13:23