c++ oder c#?
-
hi, ich bin java programmierer und will auf eine sprache umsteigen, um hardware(geräte die an irgendeine schnittstelle(serielle, parallele, usb..) angeschlossen sind steuern zu können. in frage kommt c++ und c#. welche würdet mir empfehlen?
-
Seit wann kann man mit C# hardwarenah programmieren?
-
C ist (und wird mit dem neuen Standard) um einiges hardwarenaeher als C++, oder täusche ich mich.
MfG Max
-
Master_Max schrieb:
C ist (und wird mit dem neuen Standard) um einiges hardwarenaeher als C++, oder täusche ich mich.
Oh erklaer mal. Wann kommt denn der neue Standard und was kann der so tolles?
-
Das stand letztens irgendwo im Ansi-C Forum, ich weis nich mehr aus welchem Mund es kam.
-Leider finde ich den Beitrag nicht mehr, aber es ging um den neuen C Standard und neue hardwarenahe Funktionen. Sorry, falls ich da etwas verwechselt haben sollte.[EDIT]Ausserdem stand letztens irgendwo, das mann mit C/ASM viel einfacher Compiler schreiben kann als mit C++/ASM, daraus habe ich geschlossen das C hardwarenäher ist.
[/EDIT]
MfG Max
-
Leider finde ich den Beitrag nicht mehr, aber es ging um den neuen C Standard und neue hardwarenahe Funktionen
Spielst du vielleicht auf den Embedded System Technical Report an. Den mit dem einprägsamen Namen "Extension for the programming language C to support embedded processors"? Nicht vergessen: Ein TR ist kein Standard. Teile davon werden aber vielleicht mal Standard.
-
Master_Max schrieb:
[EDIT]Ausserdem stand letztens irgendwo, das mann mit C/ASM viel einfacher Compiler schreiben kann als mit C++/ASM, daraus habe ich geschlossen das C hardwarenäher ist.
[/EDIT]
Man braucht keine hardwarenahe Sprache, um einen Compiler zu schreiben. Eigentlich sind Compiler eins der wenigen Dinge, die man in reinstem ISO-C++ schreiben kann.
-
Seit wann ist C hardwarenah?
Soweit ich weiß kann oder sollte man Hardware nur mit speziellen APIs bedienen und wenn nicht muss man das doch gleich via speziellen Adressen tun, aber man kann nicht mit ANSI-C oder ISO-C++ auf die Hardware zugreifen, oder?
-
-
Mis2com schrieb:
Seit wann ist C hardwarenah?
Schon immer
mfg
v R
-
der_held schrieb:
[url=http://www.heron-language.com/c-sharp-critique.html]
nicht C#[/url]Was ist denn das fuer ein Scheiss?
-
Was stört dich daran?
-
der_held schrieb:
Was stört dich daran?
Ueberleg dir mal, fuer was C# entwickelt worden ist. Man muss es zwar nicht
moegen, aber es wurde mit sicherheit nicht umsonst entwickelt.mfg
v R
-
der_held schrieb:
Was stört dich daran?
Der Artikel ist absolut daneben.
Attributes: das Argument, dass zuviele Moeglichkeiten sich auszudruecken schlecht sind. Was soll das? Ich will doch keine verkrueppelte Sprache.
Garbage Collection:
Keine Destruktoren: OK, guter Punkt. Allerdings sieht es jetzt so aus, als waere der Autor kein Java-Fan mehr...
unsafe Code: was hat er dagegen? unsafe Code ist dazu da, dass man auch mal etwas schnell erledigen kann - ohne den .NET Ballast. Niemand muss es verwenden.Value Type / Reference Types:
naja, das kann man sehen wie man will, aber:
"There are more allocations on the heap than are strictly neccessary leading to memory fragmentation" - genau deswegen gibt es einen Garbage Collector, der diese Fragmentierung verhindert"Boxing and unboxing is both subtle and confusing as it can lead to a surprising interpretation of straightforward code" - ich finde Boxing ist etwas gutes, aber sicher nicht verwirrend - auch wenn man es nicht mag.
Namespace Restrictions
Natuerlich - das ist wohl ein Hautkritikpunkt von allen "Purely OOP Languages"usw. usw.
Wenn der Autor mit C# nicht klar kommt: OK - aber seine Erklaerungen und Argumente sind mies.
-
Public Fields
Classes can expose their fields as being public. This violates the encapsulation principle of objects.
[...]
Assignment Ambiguity [...]Das ist natürlich etwas, was ganz speziell C# betrifft.
Gerade der Assignment-Punkt ist so lächerlich, weil C# verdammt typensicher ist, was spricht denn bitte gegen implizite Konversionen??Der Artikel ist Schrott. In welcher Sprache programmiert der Autor dieses Artikels bitte?
-
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.
-
Der Artikel ist Schrott. In welcher Sprache programmiert der Autor dieses Artikels bitte?
In seiner eigenen (ist ernst gemeint).
-
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