c++ oder c#?
-
Wenn du wirklich hardwarenah sein willst, so gibt es nur diese Reihenfolge:
1.Assembler
2.C
3.C++
... irgendwann c#
-
Bashar schrieb:
Optimizer schrieb:
Public Fields
Classes can expose their fields as being public. This violates the encapsulation principle of objects.Das ist natürlich etwas, was ganz speziell C# betrifft.
Ja, weil C# Properties hat und daher public-Felder eigentlich nicht braucht. Das wurde da auch gesagt.
Schon klar, aber dass man diese Möglichkeit trotzdem hat, macht diese Sprache ja (jedenfalls nicht aus dem Grund) nicht schlechter als andere objektorientierte Sprachen. Deshalb ist das kein Grund, nicht C# zu nehmen...
-
meissa röhrich schrieb:
Wenn du wirklich hardwarenah sein willst, so gibt es nur diese Reihenfolge:
1.Assembler
2.C
3.C++
... irgendwann c#Ne, wenn du Hardwarenah programmieren willst, faellt C# weg.
mfg
v R
-
Naja, man kann im unsafe Mode AFAIK einiges machen (ich habs nicht ausprobiert), theoretisch soll man damit sogar einen Treiber schreiben können.
Stellt sich natürlich die Frage, ob das Sinn macht.
-
Hat eigentlich schon jemand was mit dem Managed-Zeug gemacht? Ich hab mal gestern probiert ne Windows-Forms anwendung zu schreiben. Das hat mich aber nur wenig an C++ erinnert was ich da gesehen habe...
-
C# kommt an C und C++ bezüglich Hardwarenähe nicht heran. Daran ändert auch der "Sicherheitsschalter" unsafe Mode nichts.
C# und VB.Net sind in diesem Punkt praktisch gleichzusetzen.
-
KAnnst du mal bitte kurz ein Beispiel in VB posten, das mit wilder Pointerarithmetik arbiete (muss keinen Sinn machen).
-
Private Sub Form_Load() With List1 .AddItem "CD-ROM" .ItemData(.NewIndex) = ObjPtr(Image1) .AddItem "Disk 5,25""" .ItemData(.NewIndex) = ObjPtr(Image2) .AddItem "Disk 3,5""" .ItemData(.NewIndex) = ObjPtr(Image3) .AddItem "Harddisk" .ItemData(.NewIndex) = ObjPtr(Image4) .ListIndex = 0 End With End Sub Private Sub List1_Click() Dim nCmd As Image Dim nTag As Long With List1 nTag = Val(.Tag) If nTag <> 0 Then PtrToObject(nTag).Visible = False End If nTag = .ItemData(.ListIndex) PtrToObject(nTag).Visible = True .Tag = nTag End With End Sub
-
Ist das Pointerarithmetik?
Also von C# weiss ich, dass es die Pointer im unsafe Mode genauso gibt, wie in C++. Ich frage mich allerdings wirklich, wofür man die noch brauchen könnte, außer, wenn einem wirklich was ganz extrem h4xX0rmäßiges eingefallen ist.
-
Optimizer schrieb:
Ich frage mich allerdings wirklich, wofür man die noch brauchen könnte, außer, wenn einem wirklich was ganz extrem h4xX0rmäßiges eingefallen ist.
Performance?