Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.net  
   

Die mobilen Seiten von c++.net:
https://m.c-plusplus.net

  
C++ Forum :: Java ::  Java vs. C++  
Gehen Sie zu Seite Zurück  1, 2, 3, 4, 5, 6, 7, 8, 9  Weiter
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
Zeus
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.09.2003
Beiträge: 3045
Beitrag Zeus Mitglied 21:57:26 29.10.2016   Titel:              Zitieren

ShadowClone schrieb:
Allein durch RAI und die bessere Typisierung fallen viele Fallstricke von C weg.
Die STL ist außerdem sehr sinnvoll und performant. Bspw. ist std::copy im Gegensatz zu memcpy nicht nur typsicher, sondern tendenziell auch etwas performanter!

http://stackoverflow.com/ ....... y-in-terms-to-performance


Ach du love!
Ist nicht dein Ernst?


Hast du dir dein Source Code angeschaut?
Weißt du, dass das vor 5 Jahren war?
Außerdem Speedtest mit einem Compiler?

OMG!
Unregistrierter





Beitrag Unregistrierter 22:29:16 29.10.2016   Titel:              Zitieren

Kannst du drehen und wenden wie du willst. Die verlinkten Videos kommen zum selben Schluss: C++ ist mind. genau so schnell wie C und dies bei mehr Sicherheit und Wartbarkeit.
Die C++ Leute liefern wenigsten und räumen mit Mythen auf. Leute wie du kommen nur mit Behauptungen und nörgeln rum.
swapper
Mitglied

Benutzerprofil
Anmeldungsdatum: 02.08.2016
Beiträge: 771
Beitrag swapper Mitglied 04:20:04 30.10.2016   Titel:              Zitieren

ShadowClone schrieb:
Ohne Beispiele bleiben das Behauptungen.


das netz ist voller beispiele: http://horstmann.com/cpp/pitfalls.html

sogar aktuell hier im forum: https://www.c-plusplus.net/forum/340285

_________________
“It’s freezing and snowing in New York. We need global warming!” -- Donald J. Trump


Zuletzt bearbeitet von swapper am 04:42:27 30.10.2016, insgesamt 1-mal bearbeitet
Unregistrierter





Beitrag Unregistrierter 08:21:55 30.10.2016   Titel:              Zitieren

Mal davon abgesehen, dass C diese auch hat und diese gewiss nicht schön sind: Compilerwarnungen sind mittlerweile eine große Hilfe.
Zeus
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.09.2003
Beiträge: 3045
Beitrag Zeus Mitglied 10:46:26 30.10.2016   Titel:              Zitieren

ShadowClone schrieb:
Kannst du drehen und wenden wie du willst. Die verlinkten Videos kommen zum selben Schluss: C++ ist mind. genau so schnell wie C und dies bei mehr Sicherheit und Wartbarkeit.
Die C++ Leute liefern wenigsten und räumen mit Mythen auf. Leute wie du kommen nur mit Behauptungen und nörgeln rum.


An wem ist das Adressiert?
Ich persönlich bin Software Engineer. Ich brauch kein Language War. Außerdem hab ich das Recht eine andere Meinung als irgendwer im Netz zu sein. Copy vs Memcopy ist ja so lächlich weil der Compiler und deren Runtime Implementieren lebendige Software ist, was ist wenn die heutige gcc 5% mehr raushaut? C Compiler und C++ beu GNU sind mindesten zwei verschiedenen Branches unter Umständen von zwei verschiedenen Entwicklergruppe gepflegt und du willst mir weiß machen das irgendein Beitrag der mit eine Version testet, sein Beitrag zum Fakt wird? Ich bitte dich. Außerdem benutzt dein Video nicht zero cost abstraction. Sowas gibst nicht in C++, Bjarne Stroustrup redet von
B. Stroustrup schrieb:
zero-overhead principle: What you don't use, you don't pay for
in The Design and Evolution of C++. Addison Wesley, ISBN 0-201-54330-3.
March 1994.

In C++ musst du
- für Objektorientierung zahlen
- für Template Mechanismen zahlen

Aber umsonst ist nix, die Frage ist ob es effizienter ist, aber das wiederum ist die Implementierung!
Unregistrierter





Beitrag Unregistrierter 11:50:16 30.10.2016   Titel:              Zitieren

Zeus schrieb:

In C++ musst du
- für Objektorientierung zahlen
- für Template Mechanismen zahlen

Für die anderen, die diesen Quatsch tatsächlich glauben:

Klassen haben nicht per se Overhead. Den hat man nur, wenn du virtuelle Funktionen benutzt.

Templates: Der Code wird komplett zur Compilezeit erstellt. Den einzigen "Overhead" den man hat, ist, dass der Code für jeden Datentyp dupliziert wird. Das wirkt sich jedoch meist positiv auf die Laufzeit aus (deswegen hat man es ja gemacht). Der einzige Umstand, wo es sich negativ auswirkt, ist, wenn der Code nicht mehr in den CPU-Cache passt. Aber auch hier gilt: Niemand zwingt einen das zu benutzen. Allein durch Klassen, RAI und bessere Typsicherheit, ist viel gewonnen.

Mit dir Zeus, ist jegliche Diskussion beendet.
HansKlaus
Mitglied

Benutzerprofil
Anmeldungsdatum: 19.04.2016
Beiträge: 231
Beitrag HansKlaus Mitglied 11:59:35 30.10.2016   Titel:              Zitieren

Aber Klassen und schöne Fehlervermeidung habe ich bei Java doch auch.
cppvsjava
Unregistrierter




Beitrag cppvsjava Unregistrierter 11:59:50 30.10.2016   Titel:              Zitieren

Zitat:
- für Template Mechanismen zahlen

Ich nehme mal an du sprichst über den Kompiliervorgang. Dann ja, manchmal muss ich mich echt am Kopf fassen, wenn ich irgendwas von Boost kompiliere.
Zeus
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.09.2003
Beiträge: 3045
Beitrag Zeus Mitglied 12:13:29 30.10.2016   Titel:              Zitieren

ShadowClone schrieb:
Zeus schrieb:

In C++ musst du
- für Objektorientierung zahlen
- für Template Mechanismen zahlen

Für die anderen, die diesen Quatsch tatsächlich glauben:

Klassen haben nicht per se Overhead. Den hat man nur, wenn du virtuelle Funktionen benutzt.

Templates: Der Code wird komplett zur Compilezeit erstellt. Den einzigen "Overhead" den man hat, ist, dass der Code für jeden Datentyp dupliziert wird. Das wirkt sich jedoch meist positiv auf die Laufzeit aus (deswegen hat man es ja gemacht). Der einzige Umstand, wo es sich negativ auswirkt, ist, wenn der Code nicht mehr in den CPU-Cache passt. Aber auch hier gilt: Niemand zwingt einen das zu benutzen. Allein durch Klassen, RAI und bessere Typsicherheit, ist viel gewonnen.

Mit dir Zeus, ist jegliche Diskussion beendet.


Du hast ja nix wiederlegen können? Also wo ist der Quatsch? Was ist der Blödsinn was ich sagte?

Wie willst du objektorientierte Pattern verwenden ohne dynamischen Dispatcher zu benutzen? Es geht nicht oder du nimmst Substitionstechniken! Außerdem hab ich nie von Overhead geredet. Im Kern kannst du meine Aussage nicht wiederlegen. Du musst bezahlen. Egal wie du es machst.
Halsabschneider
Unregistrierter




Beitrag Halsabschneider Unregistrierter 19:30:02 30.10.2016   Titel:              Zitieren

Zeus schrieb:
In C++ musst du für Objektorientierung zahlen
In C++ lässt sich auch statischer Polymorphismus implementieren, der absolut keine Indirektionen zur Folge hat. Moderne C++-Compiler beherrschen außerdem Devirtualization. In C++ zahlt man also unter dem Strich deutlich weniger für Objektorientierung als in anderen OO-Sprachen.
Außerdem ist dein Argument von Grund auf invalide, denn für Funktionszeiger in C oder für call/jmp zahlt man genauso. Die Abstraktion, die C++ hierbei bietet, beläuft sich lediglich darauf, dass man sich nicht mehr selbst um die Funktionszeigern kümmern muss, wie man es in C müsste. Diese Abstraktion ist in der Tat ohne zusätzliche Kosten; im Gegenteil, sie erlaubt sogar noch besseren Code dank den aufgezählten Optimierungen.
Zeus schrieb:
In C++ musst du für Template Mechanismen zahlen
Ganz klar falsch. "Template-Mechanismen" evaluieren während der Compile-Zeit zu gewöhnlichem C++-Code und werden, wie alles andere, zu nativem Code kompiliert. Ferner erlauben sie Techniken wie Expression Tempaltes oder Spezialisierung, die zu noch performanterem Zielcode führen.
Zeus schrieb:
wiederlegen
Zeus schrieb:
An wem ist das Adressiert?
Ich persönlich bin Software Engineer. Ich brauch kein Language War. Außerdem hab ich das Recht eine andere Meinung als irgendwer im Netz zu sein. Copy vs Memcopy ist ja so lächlich weil der Compiler und deren Runtime Implementieren lebendige Software ist, was ist wenn die heutige gcc 5% mehr raushaut?
Lern zuerst Deutsch, du Analphabet, bevor du hier dein jämmerliches Halbwissen zu Programmiersprachen äußerst.
C++ Forum :: Java ::  Java vs. C++  
Gehen Sie zu Seite Zurück  1, 2, 3, 4, 5, 6, 7, 8, 9  Weiter
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.net ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.