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

Was ist mit C++?

Für Konsolen-Talk gibt es natürlich auch einen Raum ohne nerviges Gedöns oder Flamewar im Freiraum!
  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. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. unimed Abrechnungsservice für Kliniken und Chefärzte GmbH, deutschlandweit (Home-Office)
  2. THD - Technische Hochschule Deggendorf, Deggendorf
  3. Nagel-Group | Kraftverkehr Nagel SE & Co. KG, Berlin, Hamburg, Frankfurt am Main, München
  4. Interhyp Gruppe, München

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Hardware-Angebote
  1. 499,99€


Haben wir etwas übersehen?

E-Mail an news@golem.de


Programm für IT-Jobeinstieg: Hoffen auf den Klebeeffekt
Programm für IT-Jobeinstieg
Hoffen auf den Klebeeffekt

Aktuell ist der Jobeinstieg für junge Ingenieure und Informatiker schwer. Um ihnen zu helfen, hat das Land Baden-Württemberg eine interessante Idee: Es macht sich selbst zur Zeitarbeitsfirma.
Ein Bericht von Peter Ilg

  1. Arbeitszeit Das Sechs-Stunden-Experiment bei Sipgate
  2. Neuorientierung im IT-Job Endlich mal machen!
  3. IT-Unternehmen Die richtige Software für ein Projekt finden

Weclapp-CTO Ertan Özdil: Wir dürfen nicht in Schönheit und Perfektion untergehen!
Weclapp-CTO Ertan Özdil
"Wir dürfen nicht in Schönheit und Perfektion untergehen!"

Der CTO von Weclapp träumt von smarter Software, die menschliches Eingreifen in der nächsten ERP-Generation reduziert. Deutschen Perfektionismus hält Ertan Özdil aber für gefährlich.
Ein Interview von Maja Hoock


    Fiat 500 als E-Auto im Test: Kleinstwagen mit großem Potenzial
    Fiat 500 als E-Auto im Test
    Kleinstwagen mit großem Potenzial

    Fiat hat einen neuen 500er entwickelt. Der Kleine fährt elektrisch - und zwar richtig gut.
    Ein Test von Peter Ilg

    1. Vierradlenkung Elektrischer GMC Hummer SUV fährt im Krabbengang seitwärts
    2. MG Cyberster MG B Roadster mit Lasergürtel und Union Jack
    3. Elektroauto E-Auto-Prämie übersteigt in 2021 schon Vorjahressumme

    1. HP Envy 14 im Test: Eine gelungene Alternative zum Lenovo Thinkpad
      HP Envy 14 im Test
      Eine gelungene Alternative zum Lenovo Thinkpad

      Das HP Envy 14 ist mit Tiger-Lake-SoC und Nvidia-GPU schnell und ausdauernd. Es fällt schwer, an der guten Kombination etwas zu bemängeln.

    2. Elektroautos: Autoverbände fordern schnelleren Ausbau von EU-Ladenetz
      Elektroautos
      Autoverbände fordern schnelleren Ausbau von EU-Ladenetz

      Der Verband der Automobilindustrie fordert von der EU-Kommission, beim europäischen Ladenetz für E-Autos endlich zu liefern.

    3. MBOS: Daimler plant eigenes Betriebssystem
      MBOS
      Daimler plant eigenes Betriebssystem

      In Sindelfingen entsteht ein Software-Entwicklungszentrum für Daimlers Betriebssystem MBOS. 1.000 Software-Entwickler sollen dort agil tätig werden.


    1. 09:00

    2. 07:50

    3. 07:38

    4. 07:24

    5. 07:00

    6. 17:32

    7. 16:36

    8. 12:17