|
|
|
Und der größte Vorteil - das Resultat läuft effektiv nur unter Windows ;-) (und komm mir jetzt nicht mit mono)
– fenchurch 27.01.2011
|
||
| 1 |
Was ist an Mono auszusetzen? Mono deckt [url=http://mono-project.com/Compatibility]fast[/url] das gesamte Framework ab.
– Konstantin 27.01.2011
|
|
|
Gar nichts, ich finde, Mono ist eine super Idee. Ich glaube aber nicht, dass es viele nicht-triviale C#-Programme gibt, die nicht auf windowsspezifische Funktionalität setzten. Java würde einen davor besser schützen - ein Registryzugriff mit Java würde beispielsweise ziemliche Verrenkungen erfordern. Der Unterschied ist eben, dass die eine Sprache explizit so konzipiert wurde, dass die Leute innerhalb einer Plattform gehalten werden, während die andere explizit plattformunabhängig ist (leider bis hin zu solchen Abstrusitäten wie fehlender nativer USB-Unterstützung).
– fenchurch 27.01.2011
|
||
| 1 |
Ähm ja, deswegen wird .Net-Code auch in ByteCode und nicht in MSIL-Code übersetzt damit es nur auf Windows läuft. Und um deine These zu untermauern unterstützt Microsoft natürlich die Entwicklung von Mono NICHT. *ironie off* Registryzugriffe sind unter Mono genauso möglich wie unter Windows. Das einzigste was Probleme sind Programme die unbedingt Windows-DLLs laden wollen. Wobei es auch hier Möglichkeiten gibt Windows und Linux-API aufrufe in einem Binary zu vereinen. Man muss es nur tun.
– Floyd 27.01.2011
|
|
| 1 |
Und zum Thema Java. Java schreckt mich ab. Jedes Programm bringt seine eigenen Runtime-Version mit da diese nicht zueinandere kompatibel sind. Der Resourcenverbrauch, Ladezeiten etc. ist in meinen Augen nicht akzeptable. Und ich hab schon einige Javaprogramme bentuzt. Sicherlich ist Java eine gute Sprache für plattformunabhängige Entwicklung. Aber man sollte beim vergleichen von .Net und Java nie vergessen das .Net auf den Konzepten von Java beruht und aus den Vorteilen und Fehlern von Java gelernt hat.
– Floyd 27.01.2011
|
|
|
Ich habe das Gefühl, dass ich mich nicht deutlich ausgedrückt habe, also jetzt mal explizit: C# ist eine von Microsoft erfundene Sprache und die Erfahrung zeigt, dass alles, was diese Fa. tut, darauf ausgerichtet ist, Anwender auf die eigenen Produkte festzulegen. Alternativen werden nur Unterstützt, wenn externer Druck nichts anderes mehr zulässt. Für mich ist das ein Ausschlusskriterium. Bei Java sah das bisher anders aus, ob das mit Oracle noch so bleibt, ist m.E. sehr unsicher. Ich würde Java auch nicht vorbehaltlos empfehlen, C# (und VB) würde ich aber grundsätzlich ausschließen.
– fenchurch 27.01.2011
|
||
|
Wenn man allerdings vor hat, unter Windows und nur dort zu arbeiten und sich auch nicht um Andwender kümmert, die andere OS verwenden, ist C# sicher eine gute Wahl
– fenchurch 27.01.2011
|
||
|
Zur Kompatibilität mit Mono: meine Erfahrung aus langjähriger professioneller Programmierung zeigen, dass alle Murksereien, die möglich sind, auch stattfinden, ob es nun Registryzugriffe oder Einbindung von DLLs oder COM-Zugriffe oder was auch immer sind. Wenn die Sprache so angelegt ist, dass ich das tun kan, ohne es groß zu merken, dann wird das auch passieren. Hier sind die Hürden bei Java wie gesagt sehr hoch. Wenn ich das tun möchte, muss ich mir das bewusst und sehr genau überlegen. NB: Das ist mein letzter Kommentar hierzu, habe jetzt leider keine Zeit für religiöse Diskussionen :-)
– fenchurch 27.01.2011
|
||
| 1 |
Um das einmal klar zu stellen. Die CLI ist ISO/IEC/ECMA Standard so das jeder compatible interpreten / compiler bauen könnte. Auch Microsoft lernt dazu. Natürlich hast du aber mit der inhaltenlichen Aussage das Microsoft auch nur ein kapitalistisches Unternehmen ist welches Gewinnmaximierung anstrebt, vollkommen recht. .Net vs Java ist eine Glaubes-Frage. Beide Seiten haben sicherlich ihre Vorteile. .Net aber als Windows-Plattform zu bezeichnen ist meiner Meinung nach völlig daneben. Siehe Mono (für: Linux, Windows, Mac), MonoDroid (Android), .Net-Runtime (für Windows, WinPhone)
– Floyd 27.01.2011
|
|
|
Wenn Du zB Applikationen fürs iPhone entwickeln willst, kommst Du um Objective C kaum heraum - das nützt Dir aber wiederum für anderes nichts. Im Web wären C#, PHP oder Java interessant, vielleicht auch Ruby. Auf dem Desktop wiederum ist Java relativ uninteressant, es sei denn, Du zielst OpenSolaris an oder so ;-).
Insofern mal die Gegenfrage: Was willst Du eigentlich machen?