C# oder Java?
-
Inwiefern ist Systemprogrammierung mit C# möglich?
Und wozu brauchst du structs?
-
Es ging nicht explizit um structs, nur darum, dass die Sprache "mehr bietet".
Zur Systemprogrammierung: laut dem, was ich rausgefunden habe, so weit wie ich es benötige - und dafür tut es, was ich ja schon bei Python gesehen habe, WMI ziemlich gut. Und WMI wird es unter Java wohl nicht geben. Nachteil ist zwar, dass WMI nicht portierbar ist, aber es geht ja ausnahmsweise mal nur ums Prinzip.
-
Unentschlossen schrieb:
- ist C# für Spieleprogrammierung eigentlich geeignet (für diese doch relativ kleine Dimension, wie ich es halt will)? In dieser Hinsicht habe ich eigentlich noch nie was gelesen/gesehen.
Sehr gut sogar, google mal nach XNA.
-
Gerade vorhin schon gefunden, danke aber trotzdem. Sieht sehr interessant aus!
-
Unentschlossen schrieb:
Sprachtechnisch gefällt mir C# doch ein bisschen mehr als Java; keine Class-Namespace-Vergewaltigung, einige Sprachelemente selbst (structs, ...)
Also, dass bei den ganzen C# Features jemand structs erwähnt find ich schon lustig ^^ Da gibts schon interessantere Sachen, wie Lambda Ausdrücke oder Linq.
-
Unentschlossen schrieb:
Zur Systemprogrammierung: laut dem, was ich rausgefunden habe, so weit wie ich es benötige - und dafür tut es, was ich ja schon bei Python gesehen habe, WMI ziemlich gut. Und WMI wird es unter Java wohl nicht geben. Nachteil ist zwar, dass WMI nicht portierbar ist, aber es geht ja ausnahmsweise mal nur ums Prinzip.
Das ist ja nicht wirklich Systemprogrammierung und zudem ist WMI sowieso nur auf Windows vorhanden. Das wirst du auch in Mono nicht verwenden können. WMI ist von Windows. Heisst ja auch Windows Management Instrumentation. Und aus diesem Namen hörst du eigentlich auch schon, um was es da hauptsächlich geht: Administration von Windows-Computersysteme.
Grüssli
-
Wenn du unbedingt WMI unter Windows mit Java machen wollen würdest, wär das natürlich auch möglich. Du müsstest halt einen Teil in C++ oder irgendeiner anderen nativen Sprache schreiben und über JNI ansprechen. Macht natürlich keinen Sinn, wenn es einen entscheidenden Teil deines Programms ausmacht, aber wenn das nur ein kleines Zusatzfeature ist, kein Problem.
-
Mechanics schrieb:
Wenn du unbedingt WMI unter Windows mit Java machen wollen würdest, wär das natürlich auch möglich. Du müsstest halt einen Teil in C++ oder irgendeiner anderen nativen Sprache schreiben und über JNI ansprechen. Macht natürlich keinen Sinn, wenn es einen entscheidenden Teil deines Programms ausmacht, aber wenn das nur ein kleines Zusatzfeature ist, kein Problem.
Dafür gibst bestimmt irgendwo schon eine Library.
-
ich befürchte du musst dich mal entscheiden, was du nun machen willst. einerseits willst du plattformunabhängigkeit, andererseits aber auch systemnah programmieren!? das schließt sich halt aus.
aber zur beruhigung: man kann auch durchaus mit einer sprache anfangen und dann später noch eine andere sprache lernen.
syntax und sprachelemente hat man eigentlich recht schnell drin, vor allem bei sprachen die sich so ähneln wie java und c#. schon mehr zeit beansprucht das finden und lernen der richtigen APIs. das hängt aber vor allem auch von den problemen ab, die du lösen willst.
fazit: überlege was du als erstes programmieren willst und such danach die erste sprache aus. was danach kommt ist schnee von übermorgen.
-
Unentschlossen schrieb:
- ist C# für Spieleprogrammierung eigentlich geeignet (für diese doch relativ kleine Dimension, wie ich es halt will)? In dieser Hinsicht habe ich eigentlich noch nie was gelesen/gesehen.
XNA wurde schon genannt. Darüber hinaus gibt es für Low-Level es eine sehr gute OpenGL Schnittstelle: http://www.opentk.com/
Unentschlossen schrieb:
- wie stark würde sich der Griff zu Mono bemerkbar machen? Oder wäre es im Endeffekt wirklich klüger extra für C# ein Windows draufzuknallen?
Wenn Du mal mit Visual Studio gearbeitet hast, willst Du sowieso nicht mehr unter Mac programmieren. Außerdem wird Plattformunabhängigkeit von Anfängern oft maßlos überschätzt. Klar, jeder will mal seinen Freunden ein cooles Programm zeigen, aber der Weg dahin ist sowieso lang und steinig.
-
Wenn Du mal mit Visual Studio gearbeitet hast, willst Du sowieso nicht mehr unter Mac programmieren.
Nicht "wollen", sondern müssen. Ich bin von Montag bis Freitag nicht zu Hause und habe für unterwegs ein MacBook.
Aber:
Ich bedanke mich bei allen für die Ratschläge und Hinweise. Ich habe mich gestern noch bisschen mit beiden Sprachen beschäftigt und werde wohl zuerst mal C# lernen. Ich sehe einfach mal von der Plattformunabhängig ab. Wie lolhehe schon schrieb, hält mich ja nichts davon ab, irgendwann auch Java zu lernen.
Aufs MacBook kommt mir ein Windows und fertig.Danke nochmals allen
-
Unentschlossen schrieb:
Ich habe mich gestern noch bisschen mit beiden Sprachen beschäftigt und werde wohl zuerst mal C# lernen.
Gute Entscheidung
Obwohl die beiden Sprache sich ähneln, fühlt sich Java krank an. C# ist imho sehr viel angenehmer. Und die BCL sowie das Framework sehr viel durchdachter.
-
Unentschlossen schrieb:
Wenn Du mal mit Visual Studio gearbeitet hast, willst Du sowieso nicht mehr unter Mac programmieren.
Nicht "wollen", sondern müssen. Ich bin von Montag bis Freitag nicht zu Hause und habe für unterwegs ein MacBook.
sich jetzt nur wegen visual studio für .NET zu entscheiden, wäre ja mal ein selten dämlicher grund.
für java gibts zufällig die beste IDE der welt (Intellij IDEA) und mit eclipse noch eine sehr gute freie alternative. im gegensatz zu visual studio laufen die alle sowohl auf mac osx, linux als auch windows.