![]() |
Was bringt einem C++ noch?
Überall sieht man sie: Die C++ler. Viele Leute programmieren C++, viele (aktuelle) Programme werden in C++ geschrieben. Erst neulich hab ich in "Herr der Ringe - Schlacht um Mittelerde" eine Visual C++ Exception ausgelöst. Nur, was ist so toll an C++?
Zitat:
Oder hat C++ noch irgendwelche grundlegenden Vorteile gegenüber C#? Lohnt es sich eventuell sogar noch, C++ zu lernen? Wenn ich irgendwo Mist erzählt haben sollte, bitte nicht hauen. Ich hab alles nur so geschildert, wie ich es verstanden hab ;) |
Re: Was bringt einem C++ noch?
Zitat:
|
Re: Was bringt einem C++ noch?
Hi,
C# ist nicht direkt die .NET-Version von C++. Das wäre Managed C++, was aber kaum jemand verwendet, aus den von dir genannten Gründen. Der wesentliche Unterschied ist halt, dass C# .NET ist und C++ Win32. Denn mit C# kannst du kein Spiel programmieren, das wäre viel zu langsam, weil .NET einfach nicht für DirectX/OpenGL ausgelegt ist und somit nicht die nötige Performance aufbringen kann. Und wenn man das schaffen würde, wäre das ein erheblich hoher Ressourcenverbrauch. Also verwendet man C++, weil dass die Sprache ist, die von Microsoft gewählt wurde, um Dinge wie DirectX oder OpenGL zu entwickeln. Das "Schöne" daran ist, dass es sowohl auf UNIX-Basis als auch auf Windows-Basis läuft, da beide Betriebssysteme mit C entwickelt wurden und C++ eigentlich nichts Anderes, als die Weiterentwicklung von Ersterem ist. Und eine Übersetzung der Bibliotheken wäre zu unsicher, zu teuer und zu zeitaufwändig. Also einfach das nehmen, was da ist. Denn C++ ist eigentlich die Programmiersprache gewesen, mit der alle Welt programmiert. Selbst Delphi kann keine Konkurrenz mit C++ aufnehmen. Zumindest in seiner ursprünglichen Form, da Delphi für die Datenbank-Entwicklung geschaffen wurde und somit versucht ein ganz anderes Feld abzudecken. Außerdem ist Delphi für OOP ausgelegt und mit C++ ist das relativ schlecht möglich. Das ist zwar ein großer Vorteil, dennoch ist die Entwicklung von aufwändigen Grafik-Anwendung nicht sehr verbreitet, weil Delphi einfach nicht die nötige Performance bringen kann, die C++ bringt. Soweit von dem, was ich in den Tiefen meines Hirnes finden konnte. Ich bin mir aber nicht zu 100% sicher, ob das alles schlüssig und vorallem richtig ist. Lasse mich gerne korrigieren. :) Chris |
Re: Was bringt einem C++ noch?
Ja kann man denn mit C ++/# irgendwas machen, was man mit Delphi (bzw. Object Pascal) nicht kann?
|
Re: Was bringt einem C++ noch?
Zitat:
Es gibt eine ganze Reihe von "perversen Features" in C++, die es (zum Glück) nie zu Delphi oder C# geschafft haben. Mehrfachvererbung hätte der CLR schon ganz gut gestanden, aber es geht ja auch mit Interfaces... :? Delphi32 und C# zu vergleichen wäre unfair, da C# eine .Net-Sprache ist und man somit auf Tausende Basisklassen der FCL zurückgreifen kann. Wenn du jetzt fragen würdest was man mit C# machen kann, dass Delphi.Net nicht kann: Mit C# kann man wunderbar .Net programmieren. Mit Delphi.Net kann man versuchen .Net zu programmieren. :P Zitat:
Auf die Art kann man DirectX verwenden OHNE .Net verlassen zu müssen. Das ganze verliert etwa 1-2% der Performance gegenüber hochoptimierten DX-Zugriffen aus nativem C++. Es gibt aber immer noch "krasse Chegga", die aus irgendeinem masochistischem Trieb lieber OpenGL in C# benutzen. :mrgreen: |
Re: Was bringt einem C++ noch?
Mit C++ ja. Zum Beispiel Treiber programmieren. Das ist in Delphi ein nahezu unmögliches Unterfangen. Aber C# steht da genauso schlecht da.
@Chakotay: Das mit den Spielen ist eine glatte Lüge. Quake II wurde komplett nach managed C++ portiert und läuft ohne Performance-Einbussen 100% auf .NET: ![]() Soviel zum Thema .NET sei langsam. |
Re: Was bringt einem C++ noch?
Zitat:
Zitat:
|
Re: Was bringt einem C++ noch?
Also heißt das, C++ ist für alles überflüssig, außer für direkte Systemeingriffe (z.B. Treiber) und für DirectX / OpenGL-Programme, die nicht auf 1-2% Performence verzichten können? Und warum wird immer noch soviel in C++ gemacht? :gruebel:
Weil es kommt mir vor, als sei C# für alles andere einfach besser geeignet als C++ :gruebel: |
Re: Was bringt einem C++ noch?
Ich für meinen Teil programmiere deshalb in C++ und nicht in C#, weil ich im Moment noch mit Win32 arbeite. Wenn ich dann auf .NET umsteigen, wird C# drankommen.
|
Re: Was bringt einem C++ noch?
Zitat:
z.B. sind viele bestehende Systeme / Prorgamme in C++ geschrieben und nicht jede Firma hat das Geld alle neu zu codieren. Außerdem haben viele Entwickler C++ müsahm gelernet und es gibt für sie eigentlich keinen Grund eine andere Sprache zu benutzen , da C++ sogut wie alles kann. Eine viel berechtigtere Frage wäre , wer braucht Delphi , wenn es C++(oder C# für Delphi.net) gibt? Außerdem kann nicht jeder das .net Framework benutzen (z.b. unter Linux auch wenn es Mono gibt). Ein anderer Grund ist, dass C++ die eine Sprache für kleine Geräte ist. Z.B. der Ti89 lässt sich mit C programmieren. Sowieso werden Betriebssysteme usw. in C/C++ geschrieben (und natürlich assembler :-) ). Aber die C++ werden wohl doch zurückgehen, weil viel, wofür früher C++ mit z.B. den MFC genutzt wird, wird in naher Zukunft wohl mehr auf .net gesetzt. So klein ist der Perfomance Unterschied zwischen C/C++ und C# gar nicht, wenn man sich mal Benchmarks ansieht. Man kann aber durchaus Spiele in C# schreiben , siehe Arena Wars.( ![]() |
Re: Was bringt einem C++ noch?
Die Sache, dass man mit C# kein Game programmieren kann ist wie schon o.g. absoluter Schwachsinn, dass bischen Performanceeverlust durch den GC ist absolut zu vernachlässigen! Natürlich würde man eine Physikengine nicht in C# schreiben, da ist reiner nativer Code schneller! Am besten in Delphi oder für Masochisten in C/C++!
Ich weiss zwar immer noch nicht, warum viele glauben oder der Meinung sind, dass C/C++ die Killersprache ist, wenn man schnelle Programme schreiben möchte! Bei mir war's immer so, dass wenn ich rechenintensive Anwendungen geschrieben habe, Delphi gut und gerne 10-15% schneller war als mein C++ Version! :shock: Gut ich könnte den Compiler von Intel nehmen, aber für's Geld hole ich mir gleich einen neuen Prozessor, der bringt deutlich mehr Vorteile! Gruss pajofego |
Re: Was bringt einem C++ noch?
Zitat:
Im Gegenteil, die Schnittstelle von managed Code auf die unmanaged DLLs der Physikengine werden wohl langsamer sein, als eine Physikengine in C#. Zitat:
Und wenn ich den Rest meines Programmes in einer C-Sprache schreibe und alle meine Kollegen nur mit C++ und C# arbeiten, werde ich doch nicht aus irgendwelchen Sympathiegefühlen eine Sprache nehmen, die außer mir keiner in der Firma lesen kann. Zitat:
|
Re: Was bringt einem C++ noch?
Zitat:
|
Re: Was bringt einem C++ noch?
Zitat:
|
Re: Was bringt einem C++ noch?
Zitat:
Wie in Physikengines werden keine großen Speicherblöcke allokiert und...häää?!? Schon mal überlegt wie du Rauch simulieren kannst? Da musst du ganz schön mit großen Matrizen rechnen, na wenn das nicht mit Speicher allokieren zu tun hat und mit dem ständigen hin her schieben von Daten, dann sollte ich wohl nochmals studieren gehen! :gruebel: Das C/C++ Programm wurde eins zu eins nach Delphi portiert! Es bestand zu 90% aus Schleifen und Speicher allokieren! Es wurden keine besonderen Eigenschaften von Programmiersprache A oder B benutzt, damit der Vergleich auch Gerecht ist! Der Compiler war übrigens der MS C++ aus VS2003! |
Re: Was bringt einem C++ noch?
In diesen Zusammenhang mal eine Frage. Was würdet Ihr den empfehlen wenn man die freie Wahl hätte, zwischen Delphi und C++?
|
Re: Was bringt einem C++ noch?
Zitat:
Zitat:
Zitat:
|
Re: Was bringt einem C++ noch?
Zitat:
1. Die Syntax ist, meiner Meinung nach, leichter zu verstehen und übersichtlicher 2. Ab D2005 hat man neben Delphi auch C# in einer IDE (also 2 Fliegen mit einer Klappe) 3. Delphi (und auch C#) sind objektorientierter als C++ 4. Es fällt einem leichter, fremden Delphicode zu lesen, statt fremdem C++ Code, da in Delphi alles "einheitlich" bleibt, in C++ gibt es jedoch extrem viele Möglichkeiten, dasselbe auszudrücken. |
Re: Was bringt einem C++ noch?
Zitat:
Zitat:
Um endlich mal auch ein Ende über die Einsatzfähigkeit von Delphi für Spiele zu setzen, dem seie gesagt, dass die Konvertierung ![]() Zitat:
Zitat:
|
Re: Was bringt einem C++ noch?
Zitat:
|
Re: Was bringt einem C++ noch?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz