004
07.04.2006, 17:08 Uhr
~Stefan S.
Gast
|
Zitat von (un)wissender: |
Ich finde du siehst Java zu negativ. Ebenso C#. Mittelfristig ist das die Zukunft für Desktop Apps.
|
Jaja, die Zukunft . Ich habe bereits unter Java als auch C# Applikationen geschrieben. Unter Windows ist C# meiner Meinung nach das Maß aller Dinge. Das .NET Framework wird von Microsoft rasant entwickelt und ist perfekt mit Windows verbunden. An C# wird unter Leitung von Hejlsberg ebenfalls stetig gearbeitet. Unter den Windows Desktop Applikationen wird Java langfristig keine Chance haben sich gegeüber C#/.NET durchzusetzen. Das ist zumindest meine Meinung, aber die Zeit wird es zeigen.
Zitat von ao: |
Zitat: |
Ich halte C/C++ immer noch für die beste und bewährteste Sprache überhaupt. Auch mein geliebter Inline Assembler ist mir ans Herz gewachsen.
|
... die beste Sprache für welchen Zweck? Du kannst alles mit C++ erledigen, aber vieles ist umständlicher und fehlerträchtiger als es sein müsste und kostet dadurch zuviel Entwicklungszeit. Bau mal ne Applikation mit MFC zusammen, und dann dasselbe noch mal mit .NET, dann merkst du den Unterschied.
|
C/C++ ist eine Allzwecksprache. Mit ihr ist sowohl Low-Level Programmierung als auch High-Level Programmierung kein Problem. Die Sprache ist standardisiert und die Entwicklung hat sich in den letzten Jahrzenten bewährt. .NET liefert eine weitere Abstraktionsschicht. Versuche doch mal einen Treiber in C# zu programmieren. Mir gefällt das System von Managed Code einfach nicht! Der Programmierer wird von den Internals vollständig abgeschottet. Die VM übernimmt die Kontrolle. Letztenendes bestimmt also der Hersteller der VM wie und ob der Code überhaupt ausgeführt wird! Was im Übrigen noch mehr Kontrolle in die Hände von MS legt...
Mir ist durchaus bewußt dass das .NET Framework die Zukunft in der Entwicklung von Desktop Applikationen darstellt, da ich sowohl mit der MFC als auch mit C#/.NET Windows Applikationen entwickelt habe. Ich weiß also wie leicht und vor allem elegant das .NET Framework mit der Sprache C# verwendet werden kann. Die MFC war leider nie vollständig OO designed und die Entwicklung unter ihr war stets eine Frage des persönlcihen Geschmacks. Dennoch bleibt ein fader Nachgeschmack bei der Entwicklung von Managed Code vorhanden.
Zitat von ao: |
Gut, wenn du Inline-Assembler wirklich brauchst (und nicht nur meinst, es zu brauchen), kommst du um "Lowlevel-Sprachen" wie C++ nicht herum. Aber hast du schon mal eine deiner Inline-Assembler-Lösungen mit einer reinen C++-Lösung verglichen, nach Optimierung durch den Compiler? Bist du wirklich so viel besser?
Zitat: |
Aber Managed Code ist nunmal ein neues Software Paradigma
|
"Immer diese Säugetiere mit ihren neumodischen Ideen", sagte der Dinosaurier, kurz bevor er ausstarb.
Zitat: |
und vieles lässt sich damit nicht realisieren.
|
Es ist nicht so, dass nur hier und da mal was geht, sondern das allermeiste lässt sich machen. Und es geht schneller und einfacher, weil man - durch managed code - keine Speicherfehler mehr machen kann. Der Code ist übersichtlicher, besser verständlich und damit leichter wartbar. Die Klassenbibliothek des .NET-Frameworks ist um Lichtjahre besser als alles, was ich aus der C++-Welt kenne. Alles wichtige Punkte, wenn man nicht nur Ex-und-Hopp-Programme schreibt.
ao
|
In der Tat arbeite ich studienbedingt oft mit Assembler und C/C++. Ich vergleiche im Übrigen öfter die Compiler Übersetzung von C++ mit der Assembler Lösung. Unter Assembler ist es nunmal erforderlich bei der Programmierung ein entsprechendes Wissen mit zu bringen um überhaupt die Sprache sinnvoll nutzen zu können, da der C/C++ Compiler ansonsten wesentlich besseren Maschinencode produziert. Es ist auch nicht so das ich für Alles Assembler nutze. Eben nur dann wenn es wirklich sinnvoll ist. Aber zumindest habe ich die entsprechende Integration in C/C++ aufgrund des praktischen Inline Assemblers.
Und nochmal, ja es stimmt. Das .NET Framework ist riesig und exzellent konzipiert. Aber es ist und bleibt alles verwalteter Code. Zudem besteht bei verwalteten Sprachen das Problem von Dekompilierungen. Ofuscator usw. sind auch keine praktische Lösung!
Ich habe einfach Probleme den Spagat zwischen Managed und Unmanaged Code zu machen. Mir wäre es lieber gewesen MS hätte ein neues Framework für C++ geschaffen das nicht so sehr VM gestützt ist. Aber man musste Sun auf diesem Sektor ja Paroli bieten, leider...
Gruß Stefan
Bearbeitung von ao: |
quote-Tags klargezogen.
|
Dieser Post wurde am 07.04.2006 um 20:38 Uhr von ao editiert. |