Seite 3 von 3
Verfasst: 16.09.2007 01:47
von Kaeru Gaman
du solltest dich entscheiden, ob du mit DotNet, oder mit Zeigern programmieren willst...
Verfasst: 16.09.2007 17:11
von SirCus
Kiffi hat geschrieben:@SirCus: C++.Net ist nicht C#
ich weiß, es ging mir jetz eher um die Aussage: was hinten rauskommt is alles gleich.
Denn man KANN ja bei .NET mit Zeigern arbeiten, sofern die Sprache das kann. WEnn nun alles gleich ist, was hinten rauskommt, dann dürfte es keinen Unterschied machen ob ich mit VB ohne Zeiger, oder in C++ (bzw C# unsafe) MIT Zeigern code... alles gleich performant?
Verfasst: 16.09.2007 18:10
von Spirit
SirCus hat geschrieben:Denn man KANN ja bei .NET mit Zeigern arbeiten, sofern die Sprache das kann. WEnn nun alles gleich ist, was hinten rauskommt, dann dürfte es keinen Unterschied machen ob ich mit VB ohne Zeiger, oder in C++ (bzw C# unsafe) MIT Zeigern code... alles gleich performant?
Eher nicht. Wenn man in C# Zeiger in unsafe-Blocks benutzt,
wird das wahrscheinlich schneller sein, als wenn man keine verwendet,
denn wenn es nicht schneller wäre, wäre dieses Feature vollkommen
sinnlos.
Verfasst: 17.09.2007 11:25
von SirCus
...sag ich doch.
Also ist es doch nicht egal, welche Sprache man in .NET benutzt.. weil eben nicht alles gleich ist, was hinten rauskommt...
oder?
Verfasst: 17.09.2007 16:49
von Spirit
Es ist nur insofern gleich, dass überall CIL-Code rauskommt (obwohl das
auch nicht unbedingt immer so ist, C++/CLI z.B. kann auch gemischten
Code ausgeben). Wie der IL-Code aussieht, der hinten rauskommt, hängt
vom verwendeten Compiler ab, aber ich denke nicht, dass hier die
Unterschiede sehr groß sind, da es oft nur einen bestimmten Weg gibt,
etwas in IL-Code zu übersetzen.
Verfasst: 07.10.2007 15:26
von Maurizio555
Das einzige, was alle .Net-Sprachen gemeinsam haben, ist die Standard Klassenbibliothek, nähmlich das .Net-Framework.
Wenn man als IDE Visual Studio verwendet, so ist auch die Programmierumgebung gemeinsam.
Ansonsten hat jede Sprache einen eigenen Compiler (Precompiler), so dass durchaus Unterschiede bezüglich Geschwindigkeit, usw. bestehen.
Klar gibt es nur ein Weg vom IL-Code zum Maschinencode, aber auch unendlich viele Wege von der Hochsprache zum IL-Code und .Net (Pre)Compilers generieren ein IL-Code und keinen Maschinencode.
Nur die endgültige Übersetzung von IL- zu Maschinencode wird von einem für alle Sprachen gemeinsamen Compiler übernommen.
Zeiger sollten grundsätzlich nicht verwendet werden, stattdessen Delegate.
Ich würde lieber C# nehmen (mein Liebling

)