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 ... 7, 8, 9, 10, 11  Weiter
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
Zeus
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.09.2003
Beiträge: 3070
Beitrag Zeus Mitglied 22:06:04 30.10.2016   Titel:              Zitieren

Halsabschneider schrieb:
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.


Woher kommen die Berechnungen zu devirtualisierung her, holt sie dein C++ Compiler aus eine andere Dimension, damit die keine Kosten haben?

Halsabschneider schrieb:

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.


Ja genau der Compiler musst während des Compilezeit Typeinstanziierung von Template berechnen, Instanziierung ausführen und das Ergebnis zurückschreiben - Holt sich der Compiler diese Berechnungen aus eine andere Dimension damit sie nix kosten?


Zuletzt bearbeitet von Zeus am 22:38:48 30.10.2016, insgesamt 4-mal bearbeitet
Zeus
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.09.2003
Beiträge: 3070
Beitrag Zeus Mitglied 22:25:23 30.10.2016   Titel:              Zitieren

Halsabschneider schrieb:
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.


DO ist im LLVM implementierung und kann von jeden Compilerentwickler für seine Programmiersprache verwenden. Es ist nicht C++ exclusiv!
Unregistrierter





Beitrag Unregistrierter 23:15:19 30.10.2016   Titel:              Zitieren

Da klammert sich jemand an die letzten Grashalme. Da sagt er, dass da (zur Compilezeit) sehr wohl Kosten entstehen, um dann danach zu sagen, dass diese Kosten bei C auch entstehen können.
Mal davon abgesehen, dass man lieber Compiletime-Kosten in Kauf nimmt als Runtime-Kosten (ein Release-Build macht man sowieso viel seltener). Da vermischt jemand ganz gehörig Dinge bzw. tut das absichtlich um auf Teufel komm raus recht behalten zu wollen. Wirklich armselig...
Zeus
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.09.2003
Beiträge: 3070
Beitrag Zeus Mitglied 23:36:31 30.10.2016   Titel:              Zitieren

ShadowClone schrieb:
Da klammert sich jemand an die letzten Grashalme. Da sagt er, dass da (zur Compilezeit) sehr wohl Kosten entstehen, um dann danach zu sagen, dass diese Kosten bei C auch entstehen können.
Mal davon abgesehen, dass man lieber Compiletime-Kosten in Kauf nimmt als Runtime-Kosten (ein Release-Build macht man sowieso viel seltener). Da vermischt jemand ganz gehörig Dinge bzw. tut das absichtlich um auf Teufel komm raus recht behalten zu wollen. Wirklich armselig...


Erstens, wolltest du die Diskussion nicht mit mir beenden? Warum meldest du dich überhaupt?

Vorallen, kannst du überhaupt denken? Du schießt dich so sehr ein auf 'kosten'. Das du total vergießt, dass man sich darüber noch über Struktur und Wertigkeit (im Vergleich) reden könnten.

Außerdem bist du doch gar nicht an eine sinnvolle Diskussion interessiert. Du hast dich schon mit deine ersten Provokation disqualifiziert
ShadowClone schrieb:
Von wegen C++ und typsicher!
C++:
int x = 2;
if (x = 1) {
    std::out << "Na klaro!" << std::endl;
}


Also Mr.Cpp-Papst, predige C++ weil es eine Ingenieursprache ist :D, aber bitte meide es objektive sich darüber auszutauschen.
Unregistrierter





Beitrag Unregistrierter 23:45:46 30.10.2016   Titel:              Zitieren

Verdreh keine Dinge. Der Eingangspost hat Java mit C++ verglichen und es hieß, dass C++ typsicherer als Java sei. In diesem Kontext konnte ich nicht zustimmen, aber ich kann darin zustimmen, dass C++ typsicherer als C ist! – Hat alles Hand und Fuß!
Zeus
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.09.2003
Beiträge: 3070
Beitrag Zeus Mitglied 23:51:52 30.10.2016   Titel:              Zitieren

ShadowClone schrieb:
Verdreh keine Dinge. Der Eingangspost hat Java mit C++ verglichen und es hieß, dass C++ typsicherer als Java sei. In diesem Kontext konnte ich nicht zustimmen, aber ich kann darin zustimmen, dass C++ typsicherer als C ist! – Hat alles Hand und Fuß!


D.h. implizite Typkonvertierung schwächen C++ typensicherheit?
wenn ja, dann passt dein Post,
wenn nein, dann ist dein Post unsinn.

Meine Meinung ist nein.
Unregistrierter





Beitrag Unregistrierter 23:53:17 30.10.2016   Titel:              Zitieren

Zeus schrieb:
ShadowClone schrieb:
Verdreh keine Dinge. Der Eingangspost hat Java mit C++ verglichen und es hieß, dass C++ typsicherer als Java sei. In diesem Kontext konnte ich nicht zustimmen, aber ich kann darin zustimmen, dass C++ typsicherer als C ist! – Hat alles Hand und Fuß!


D.h. implizite Typkonvertierung schwächen C++ typensicherheit?

Ja.
zufallswert
Unregistrierter




Beitrag zufallswert Unregistrierter 19:16:38 31.10.2016   Titel:   Re: Java vs. C++            Zitieren

cppvsjava schrieb:

Jetzt schreibe und (ein bisschen) lese ich C++ seit ungefähr 6 bis 8 Jahren. Dann dacht ich mir, ein guter Programmierer, der kann mehr als nur eine Sprache.

Kann er ja auch. Mit C++ kannst Du eine blockstrukturierte Sprache (C), eine objektorientierte Sprache, eine generische Sprache, eine funktionale Sprache (Template Meta). 4 für einen Preis, ein echtes Schnäppchen.
cppvsjava schrieb:

Und dann habe ich Java gemacht.

Ach Du warst das ?! :eek:
cpp_Jungspund
Mitglied

Benutzerprofil
Anmeldungsdatum: 10.06.2015
Beiträge: 163
Beitrag cpp_Jungspund Mitglied 12:29:28 01.11.2016   Titel:              Zitieren

Vielleicht sollten sich die Gemüter zu dem Thema etwas entspannen und einen Film ansehen :) https://www.youtube.com/watch?v=RnqAXuLZlaE
wie bitte?
Unregistrierter




Beitrag wie bitte? Unregistrierter 15:09:40 19.11.2016   Titel:              Zitieren

C++ ist langsamer als C, wenn man Objektorientierung benutzt (Konstruktoren, Destruktoren, mehr Daten...). Ansonsten ist das doch C, welches mit einem C++-Compiler compiliert wurde.
C++ Forum :: Java ::  Java vs. C++  
Gehen Sie zu Seite Zurück  1, 2, 3 ... 7, 8, 9, 10, 11  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.