AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Was bringt einem C++ noch?

Ein Thema von malo · begonnen am 5. Feb 2005 · letzter Beitrag vom 6. Feb 2005
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#1

Was bringt einem C++ noch?

  Alt 5. Feb 2005, 18:33
Ü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 von www.galileocomputing.de:
In Kombination mit der .NET Common Language Runtime kann diese Sprache [C#] für die Entwicklung komponentenorientierter Software eingesetzt werden, ohne dass die Programmierer ihr Potenzial im Hinblick auf C-, C++- oder COM-Code ungenutzt lassen müssen.

C# wurde für die Entwicklung robuster, langlebiger Komponenten konzipiert, mit denen Situationen des wirklichen Lebens bewältigt werden können.
C# ist ja dann scheinbar die ".NET-Version" von C++. Warum lernt man dann nicht einfach auf C# um, das ja soviel robuster als C++ ist? Die Syntax ist ja bei C++ und C# soweit gleich, da fällt der Umstieg ja relativ leicht. Außerdem wird ja auch noch an Visual C++ weiterentwickelt, nur warum sollte man denn eine uralte Sprache (c++) am Leben halten, wenn ein Nachfolger (C#) bereits existiert (bzw. eine "erweiterte Form" der alten Sprache)? Oder hab ich da was falsch verstanden?

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
  Mit Zitat antworten Zitat
tommie-lie
(Gast)

n/a Beiträge
 
#2

Re: Was bringt einem C++ noch?

  Alt 5. Feb 2005, 18:45
Zitat von malo:
Oder hat C++ noch irgendwelche grundlegenden Vorteile gegenüber C#?
Nativer Code, Ausgereiftheit und ausgereifte, etablierte Bibliotheken für alles und jeden.
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Was bringt einem C++ noch?

  Alt 5. Feb 2005, 18:49
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
  Mit Zitat antworten Zitat
Benutzerbild von mr47
mr47

Registriert seit: 6. Dez 2004
Ort: Stuttgart
644 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Was bringt einem C++ noch?

  Alt 5. Feb 2005, 19:00
Ja kann man denn mit C ++/# irgendwas machen, was man mit Delphi (bzw. Object Pascal) nicht kann?
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#5

Re: Was bringt einem C++ noch?

  Alt 5. Feb 2005, 19:14
Zitat von mr47:
Ja kann man denn mit C ++/# irgendwas machen, was man mit Delphi (bzw. Object Pascal) nicht kann?
C++ kann Mehrfachvererbung. C++ kann man zu allen möglichen Plattformen kompilieren.
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.

Zitat von Chakotay1308:
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.
Das ist Käse. Es gibt zum Beispiel Managed DirectX. Das ist eine komplette Portierung von DirectX, die in C# geschrieben wurde.
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.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.608 Beiträge
 
#6

Re: Was bringt einem C++ noch?

  Alt 5. Feb 2005, 19:15
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: Quake II .NET.

Soviel zum Thema .NET sei langsam.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#7

Re: Was bringt einem C++ noch?

  Alt 5. Feb 2005, 19:21
Zitat von Phoenix:
@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: Quake II .NET.
Es ist einen Tick langsamer, da sie das originale Memorymanagement nicht entfernt haben. Auf die Art konkuriert die Instanzverwaltung des Spiels mit der Garbage Collection. (Ist aber nur minimal langsamer )

Zitat von Phoenix:
Soviel zum Thema .NET sei langsam.
Das könnte ich so auch nie stehen lassen. Fast jeder wohlüberlegte Code dürfte in .Net mindestens gleichschnell sein. Aufgrund des genialen JIT ist vielles schneller. Multithreading ist zum Beispiel massiv schneller, da man 90% aller Synchronisierungen umgehen kann.
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#8

Re: Was bringt einem C++ noch?

  Alt 5. Feb 2005, 19:38
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?

Weil es kommt mir vor, als sei C# für alles andere einfach besser geeignet als C++
  Mit Zitat antworten Zitat
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#9

Re: Was bringt einem C++ noch?

  Alt 5. Feb 2005, 22:23
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.
Lukas
  Mit Zitat antworten Zitat
rgernha

Registriert seit: 6. Feb 2005
6 Beiträge
 
#10

Re: Was bringt einem C++ noch?

  Alt 6. Feb 2005, 09:30
Zitat von malo:
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?

Weil es kommt mir vor, als sei C# für alles andere einfach besser geeignet als C++
Das noch soviel in C++ gemacht wird hat sicher viele Gründe:
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.(http://www.gameports.net/gp/artikel_1598.html)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz