c++ Nachfolger

von welchen "macken" oder schwächen von c++ sprecht ihr eigentlich? ich finde c++ ist java in fast jeder beziehung voraus.
man hat templates, speicherarythmetik, operatorüberladung, mehrfachvererbung... das alles kann java nicht und deshalb findet ihr c++ schlechter?
Die Java-Generics können Templates in >90% aller Fälle ersetzen.
Zeigerarithmetik hat sich wiederholt als so fehleranfällig erwiesen, dass man es aus Java herausgelassen hat. Außerdem macht es das sehr viel einfacher, einen performanten Garbage Collector zu implementieren, bei C++ geht das nämlich nicht so einfach. Microsoft hat bei C++/CLI extra einen neuen Zeigertyp eingeführt (der mit ^ anstelle von * markiert wird), mit dem keine Pointerarithmetik nutzbar ist, damit die GC vernünftig funktioniert. Operatorüberladung ist syntaktischer Zucker, den man nicht unbedingt braucht. Was die Mehrfachvererbung angeht, so habe ich mir darüber noch kein Urteil gebildet, aber ich habe schon von vielen Leuten gehört, dass man sie eh so gut wie nie braucht. Außerdem spricht der Fakt, dass die meisten Programmiersprachen sie eben nicht erlauben, nicht gerade für Mehrfachvererbung.
ich denke eher, dass java mehr ein spielzeug für anfänger ist.
Dieser Satz ist an Blödheit wohl kaum zu überbieten :)

Und weil Du ja ein paar Macken von C und C++ hören wolltest:
  • In C kein Exception Handling, in C++ kein gutes (kein finally-Block)
  • keine Reflection, bzw. nur mit zusätzlichen Frameworks wie Qt.
  • Kein Schutz vor arithmetischen Überläufen
  • Riskante Pointerarithmetik
  • keine Garbage Collection (und wegen Pointerarithmetik nicht performant implementierbar)
  • rudimentäre Standardbibliothek
  • nicht sehr schnell (dass Java und .NET C++ überholen, ist eine Frage weniger Jahre, Java ist jetzt schon etwa 3-5x schneller bei der Speicherallokation)
  • bei C++ sehr großer Sprachumfang, also schwieriger zu implementieren, zu lernen und zu optimieren, langsam beim kompilieren.
  • Binaries nicht plattformunabhängig
  • kein standardisiertes ABI --> Binaries, die mit gcc 3.3 oder älter erstellt wurden, funktionieren teilweise heute nicht mehr
  • man muss Header- und Implementierungsdateien separat pflegen, das nervt
Und jetzt komm mir bitte nicht mit "bei der Pointerarithmetik muss man nur richtig aufpassen". Die Erfahrung hat oft genug gezeigt, dass der durchschnittliche Programmierer dazu nicht in der Lage ist, und der schreibt halt nunmal unsere Software. Man muss ja nur mal 'nen Schnupfen haben und deswegen nicht konzentriert sein, und dann reicht ein Tippfehler!
 
C#

Ich habe auch schon oft C# gelesen, dachte aber immer es sei ein Kürzel für C++, was ist denn das überhaupt für eine Sprache?
 
C# ist ein verstümmeltes C++ :devil:
Wenn man keine Ahnung hat, einfach mal die Fresse halten.

Eine Beschreibung von C# findet man übrigens innerhalb von Sekunden in der Wikipedia, daher ist es ein Zeichen von ziemlicher Dummheit, wenn man nicht allein in der Lage ist, so etwas zu finden.
 
Zuletzt bearbeitet:
Ich habe auch schon oft C# gelesen, dachte aber immer es sei ein Kürzel für C++, was ist denn das überhaupt für eine Sprache?

>>C# (gesprochen C-sharp) ist die von Microsoft kopierte Form von Java, ist sehr sehr ähnlich.

Ich hab mal von einem Mitstudenten gehört, er hätte C# mittels eines Java-Compilers kompilieren lassen, angeblich hats geklappt, aber selbst probiert hab ich es nicht.

Kray'
 
Ich habe auch schon oft C# gelesen, dachte aber immer es sei ein Kürzel für C++, was ist denn das überhaupt für eine Sprache?
Also von meinem Empfinden her, ist sie Java sehr ähnlich, mehr als dass sie C++-ähnlich wäre.
 
Ich hab mal von einem Mitstudenten gehört, er hätte C# mittels eines Java-Compilers kompilieren lassen, angeblich hats geklappt, aber selbst probiert hab ich es nicht.
Für triviale Programme mag das gehen, in der Regel funktioniert das aber nicht.
 
Reply

Eine Beschreibung von C# findet man übrigens innerhalb von Sekunden in der Wikipedia, daher ist es ein Zeichen von ziemlicher Dummheit, wenn man nicht allein in der Lage ist, so etwas zu finden.

Ich möchte ja nicht alle Einzelheiten über diese Sprache wissen, nur in einem kleinen Satz zusammengefasst.

>>C# (gesprochen C-sharp) ist die von Microsoft kopierte Form von Java, ist sehr sehr ähnlich.

Dies ist eine Antwort wie ich sie mir vorgestellt habe, nicht ganz perfekt, aber besser als das was wiki mir bietet, wo ich 5 minuten lese und noch nichts weiss.:brav:
 
Ich möchte ja nicht alle Einzelheiten über diese Sprache wissen, nur in einem kleinen Satz zusammengefasst.

Dies ist eine Antwort wie ich sie mir vorgestellt habe, nicht ganz perfekt, aber besser als das was wiki mir bietet, wo ich 5 minuten lese und noch nichts weiss.:brav:

Das ist kein persönlicher Angriff, aber: Was hast du für eine Aufnahmebereitschaft beim Lesen? Die ersten beiden Sätze des Wikis geben dir genau das wieder. Übrigens sind fast alle Wikipedia-Artikel so aufgebaut, dir am Anfang eine Defintion des Begriffes zu geben ...
 
Das ist kein persönlicher Angriff, aber: Was hast du für eine Aufnahmebereitschaft beim Lesen? Die ersten beiden Sätze des Wikis geben dir genau das wieder. Übrigens sind fast alle Wikipedia-Artikel so aufgebaut, dir am Anfang eine Defintion des Begriffes zu geben ...

OK, da muss ich mich wohl geschlagen geben, mir war diese Struktur bisher noch nicht aufgefallen, ich möchte mich daher entschuldigen...
 
Wenn man keine Ahnung hat, einfach mal die Fresse halten.

Eine Beschreibung von C# findet man übrigens innerhalb von Sekunden in der Wikipedia, daher ist es ein Zeichen von ziemlicher Dummheit, wenn man nicht allein in der Lage ist, so etwas zu finden.

Du gehts ja sehr sehr höflich mit den anderen Usern um. Muss ich schon sagen.
Ich hab jedenfalls nur Probleme mit C# gehabt. Und ich hab sogar mal versucht ein einfaches Programm damit (auf einem Win) zu schreiben. Aber ich fands nicht unbedingt toll. Ist meine Meinung, brauchst Du nicht akzeptieren, ich bitte dich bloß, die Leute nicht so anzureden, egal ob es ein Neuling oder ein erfahrerner User ist.

so genug OT.
 
Du gehts ja sehr sehr höflich mit den anderen Usern um.
Tja, und Du hast mal eben mit deiner Äußerung alle Entwickler von C# beleidigt, schonmal daran gedacht? Ganz abgesehen davon, dass C# praktisch nichts außer Teilen der Syntax mit C++ gemein hat.
 
Tja, und Du hast mal eben mit deiner Äußerung alle Entwickler von C# beleidigt, schonmal daran gedacht? Ganz abgesehen davon, dass C# praktisch nichts außer Teilen der Syntax mit C++ gemein hat.

Sollte ich es gemacht haben, dass ich M$ (die Entwickler eher nicht, da ich mir gut vorstellen kann, dass nicht jeder so wie er will schreiben kann und diese sicherlich auch durchwechseln) beleidigt habe, könnte es mir vll leid tun. Aber ich will hier garantiert keine Diskusion anfanngen, wenn du es willst kannst du gerne mit mir in Jabber oder PM, ... diskutieren (solange du mich nicht beschimpfst), aber ich will nicht, dass durch sowas gute leute aus dem Forum gehen. In einem 3d-art-forum sind durch so leute wie dich, die die anderen User blöd angeredet haben, viele gute Leute gegangen.
Also jetzt genug OT.
 

Ähnliche Themen

Wie kann ich meine Websie offline/online archivieren (wget)?

Software-Entwickler C/C++, embedded, automotive (m,w,d) in München gesucht

C Programm Klausur Noten Spiegel einlesen und Farb Balkendiagramm sim draw ausgeben

bonding Centos7 mit mehreren NIC´s

Siduction 2021.1.0 („C-Blues“): Community-Distribution mit Linux 5.10.15 auf Debian-Basis

Zurück
Oben