Grundsatzfragen eines Planlosen

Hallo zusammen,
ich habe schon mal mit dem Gedanken gespielt, mich mit der .net-Geschichte auseinanderzusetzen. Was benötige ich, um z.B. ein kleines Progrämmchen in C# zu erstellen? Ein wasweissich wieviel GB großes .NET-Studio? Ich habe gelesen, das man jeden beliebigen Editor verwenden kann, stimmt das?
Was verbirgt sich eigentlich hinter dem mysteriösen .NET-Framework? Ist das das Studio? Oder wieder was zusätzliches?
Kann ich einfach ein Programm erstellen, das in eine .exe kompilieren und dann läuft das auf jedem Windows-Rechner? Oder muß auf diesem Rechner dann auch ein .NET-Framework sein (ähnlich einer Java-Runtime)?

PS: Ich komme aus der Java-Ecke und bin gewohnt, alles umsonst zu bekommen :smile:

Gruß
Jodus, der wiedermal keinen Plan hat

Halli Hallo

Also:

Es gibt das .NET Framework SDK. Momentan in der Version 1.1. Ist ca. 300 MB gross und enthält:

  • copilers für c#, vb.net, c++.net, und j#(?)
  • Klassenlibraries (um die 2300) für so ziemlich alles was das Herz begehrt.
  • dokumentation
  • biespiel source
  • tools

Damit kann man Windows Applikationen, Web Pages (ASP.NET), Smart Devices Applikationen und natürlich Web Services erstellen.
Das SDK ist Kostenlos.

Dann gibt es noch das .NET Framework Redistributable. Auch in der Version 1.1. Ebenfalls Kostenlos und (nur) 26 MB gross.
enthält nur die compilers und die Klassenlibraries.
Dieses Ding wird normalerweise beim Endanwender installiert, damit er die Applikation laufen lassen kann. (Man kann damit auch entwickeln)

Da die Compilers „for Free“ sind, kannst Du applikationen auch mit dem Notepad schreiben. Das ist aber nur lustig wenn man ein „Hello World“ program schreibt.

Für das builden von Windows Applications gibts die freie Entwicklungsumgebung SharpDevelop. Unterstützt c# und vb.net.
Irrtum vorbehalten, lassen sich keine WebServices und WebPages damit erstellen. Hab mal ein wenig rumgespielt und es sieht ganz nett aus und man kann damit sicherlich Appliaktionen schreiben.

Willst Du jedoch Professionelle Software schreiben, brauchst Du meiner Meinung nach Visual Studio.NET.

Hoffe alle Fragen beantwortet zu haben.

Gruss Giuseppe

p.s bei microsoft gibts (fast) nichts um sonst :wink:

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Halli Hallo Hallöle,

erstmal vielen Dank für die ausführliche Antwort. Ich hab schon mein erstes professionelles C#-Projekt hinter mir und es hat doch wirklich „Hello World“ auf den Bildschirm geschrieben :smile:

Jetzt tun sich aber noch andere Fragen auf:
Im Netz hab ich was gelesen von einer „Zwischensprache“ in die das Programm übersetzt wird. Dadurch soll es Plattformunabhängig werden. Hört sich irgendwie nach Java an. Wenn ich mein spektakuläres Hello-World-Programm compiliere, kommt da ne exe raus. Das ist doch Bytecode, oder nicht? exe hört sich nicht sehr plattformunabhängig an finde ich. Oder liege ich da falsch? Wo ist denn nun der Zwischencode?
Und wenn ich die exe auf einen anderen .NET-losen Computer kopiere, würde sie nicht funktionieren? Wenn das schon eine exe ist, wofür brauche ich dann noch das .NET-Framework? Für die Klassenbibliotheken? Wenn ja, kann ich dem Compiler auch sagen, das er alle benötigten Klassen in die exe mit reinpacken soll?

Gruß
Jodus

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

der .NET-Sourcecode wird tatsächlich in die sogenannte MSIL (Microsoft Intermediate Langage) compiliert. Das Compilat hat zwar die Endung .exe, ist aber ohne das installierte .NET-Framework nicht lauffähig. Wenn das Framework installiert ist, erkennt das der Rechner beim Start der .exe, dass es sich um ein .NET-Programm handelt und startet erst mal das Framework. Deswegen dauert der erste Start eines .NET-Programms nach dem Booten auch länger.
Insofern ist die Vorgehensweise im Prinzip gleich einem Java-Programm, das das JRE braucht.

Gruß
Thomas

Halli Hallo Hallöle,

erstmal vielen Dank für die ausführliche Antwort. Ich hab
schon mein erstes professionelles C#-Projekt hinter mir und es
hat doch wirklich „Hello World“ auf den Bildschirm geschrieben

-)

Jetzt tun sich aber noch andere Fragen auf:
Im Netz hab ich was gelesen von einer „Zwischensprache“ in die
das Programm übersetzt wird. Dadurch soll es
Plattformunabhängig werden. Hört sich irgendwie nach Java an.
Wenn ich mein spektakuläres Hello-World-Programm compiliere,
kommt da ne exe raus. Das ist doch Bytecode, oder nicht? exe
hört sich nicht sehr plattformunabhängig an finde ich. Oder
liege ich da falsch? Wo ist denn nun der Zwischencode?
Und wenn ich die exe auf einen anderen .NET-losen Computer
kopiere, würde sie nicht funktionieren? Wenn das schon eine
exe ist, wofür brauche ich dann noch das .NET-Framework? Für
die Klassenbibliotheken? Wenn ja, kann ich dem Compiler auch
sagen, das er alle benötigten Klassen in die exe mit
reinpacken soll?

Gruß
Jodus