Live Messenger nicht mit .NET ...

Akilein

Mitglied
eine Frage beschäftigt mich in den letzten Tagen ... wenn Microsoft so sehr auf .NET setzt, wieso zeigen Sie dann kein Vorbild und schreiben Ihre neuesten Progis selber auf Basis von .NET? der WindowsLIveMessnger liegt in der alten Form vor, in keiner Zwischensprache (nix CLI)

und noch etwas, wenn man ein Programm mit VusalC erstellt, kommt da eine EXE-DAtei herauß die man aber nicht dissasemblieren kann, weils ja in der Zwischensprache CLI vorliegt, bessert mich aus wenn ich etwas falsch verstanden habe. Jedoch steht es auch geschrieben, dass es beim ersten Start die Zwischensprache übersetzt wird auf die Sprache des Systems, damit es später schneller ausgeführt werden kann. Wieso kann ich es dann nach dem ersten Start noch immer nicht dissasemblieren? Und .NET sollte ja den Sinn haben, dass die Programme auch auf anderen Systemen funktionieren, aber bisher merkt man nicht viel davon, also so richtig interpretiert hat diese cli-sprache nur Microsoft ... was bringt es also bisher für mich meine Programme in dieser CLI-Zwischensprache ausliefern zu lassen, damit sie erstmal immer übersetzt werden müssen, was Zeit kostet. die Linux und Mac-Gemeinde interessiert sich e nicht bisher für diese Zwischensprache, also ist es nicht eine Verschwendung VisualC anzuwenden und die Programme in dieser Zwischensprache erstellen zu lassen?

Ich mein das ganze stützt sich im Endefekt e auf die alte Windows-API ausgenommen die Graphische-API, die verschwunden ist, weil da baut MIcrosoft nun auf DirectX auf ... aber sonst baut alles noch auf die alte API auf, wozu die ganze Zwischensprache und alles?

wäre für eine Antwort dankbar, ich lass mich gern vom Gegenteil überzeugen, bin nur bisher bisschen spektisch gegenüber .NET
 
Der Zwischencode verbleibt ja in der exe. Der Bytecode wird, falls das Programm nicht zu groß ist nur in den Hauptspeicher geladen vermute ich mal.

enn Microsoft so sehr auf .NET setzt, wieso zeigen Sie dann kein Vorbild und schreiben Ihre neuesten Progis selber auf Basis von .NET? der WindowsLIveMessnger liegt in der alten Form vor, in keiner Zwischensprache (nix CLI)

Weil man Viren immer noch am besten in unmanaged Code schreibt:suspekt:
 
Zuletzt bearbeitet:
Gibt es .net für Windows 98?
Falls nicht wäre das schonmal ein guter Grund warum der Messenger nicht in .net ist.
Microsoft wird aber in zukünftigen Produkten verstärkt auf .net setzen, es wurde ja schon angekündigt dass man damit bist Vista warten will, weil .net immernoch kein Standart auf den Benutzer Systemen ist. Es mit Vista aber zumindest für Windows in absehbarer Zeit wird.
 
Ja, du hast einiges falsch verstanden und mischt hier Äpfel mit Birnen.

Also, CLI (Common Language Infrastructure) ist eine Spezifikation und keine Implementierung. Damit kann nichts in CLI-Form vorliegen.

Was du meinst ist die Common Intermediate Language, ergo CIL oder kurz IL oder eben die ehemalige MSIL. CIL ist die gemeinsamste Form aller .NET Sprachen. Im Unterschied zu beispielsweise C++ verwendet .NET einen JIT (Just-in-Time) Compiler. Dies bedeutet, dass zur Laufzeit IL in Code umgewandelt wird (NGEN), der durch die CPU ausgeführt werden kann. NGEN kann jedoch auch manuell auf die Assemblies angewandt werden.

Zum nächsten Punkt:
Microsoft bringt sehr viele Anwendungen heraus, die mit .NET entwickelt wurden. Viele der Vista-Anwendungen beispielsweise. Weiters gibt es beispielsweise Mono. Dadurch können .NET Anwendungen auf Linux, FreeBSD, etc. ausgeführt werden - solange keine Windows-spezifischen API's verwendet werden.

Zum Grafik-Teil: Microsoft setzt nicht nur auf DirectX, sondern auch auf GDI und GDI+ (siehe sämtliche grafischen Oberflächen unter Windows). DirectX kommt dann wohl eher bei Spielen oder speziellen Anwendungen zum Einsatz.
 
vielen vielen Dank!
ich habe nur mehr eines nicht verstanden, wenn der JIT zur Laufzeit diese CIL-Sprache umwandelt, wird dann die CIL-Sprache überschrieben und das Programm liegt nur mehr in Code vor, der durch den Prozessor ausgeführt wird, oder bleibt diese CIL-Sprache in der Datei behalten, so dass falls man eventuell die Datei an wen anderen weiterschickt, der andere Rechner wieder erst die CILSprache zu sehen bekommt, das heißt wird die Datei beim ersten Ausführen grundlegend und langfristig verändert?

danke!
 
Der JIT (Just-in-Time) Compiler tut genau das wie er auch heißt, der macht dies immer zur Laufzeit. Die Datei selbst wird dabei nicht verändert. Ausser - wie schon geschrieben - du verwendest NGEN. Damit kannst du die Anwendung quasi schon kompiliert ausliefern.

Kann es sein, dass du hier das Thema Sicherheit, Vermeidung des Auslesens von Sourcecode etc. ansprechen willst? Wenn ja, dann schau dir das Thema Obfuscating an. Zudem gibt es auch noch weitere Möglichkeiten hier einzugreifen.
 
also wird das Progi nur dann nicht jedes Mal beim Start neu übersetzt, wenn man es schon vornhinein mit NGEN "behandelt"?
Ist NGEB eigentlich bei Visaul Studio schon dabei oder muss man es dazu kaufen/herunterladen?

Nein ums Codeverschleiern geht es mir nicht, bin nur ein sehr neugieriger Mensch und .net ist für mich etwas ganz neues, nachdem ich paar Jahre Programmier-Pause eingelegt hatte und nun wieder etwas auf die Beine stellen möchte.
 
Zurück