C# lernserie

newbody
Hallo liebes C# Forum.

Ich würde euch gerne mein kleines Projekt vorstellen:
(C) sharp your mind!
In diesem geht es darum C# von Anfang an zu lernen! Mit Videos!

Hier mal die Komponenten:

1.Die Website: Alles zum download: PDF, Projektdateien,...
Natürlich kann man auch direkt eine Frage stellen.
www.tch-support.de/cs

2.Als iTunes Podcast:
(Derzeit nur 3 Videos) auf iTunes: (C) sharp your mind

3.Im YouTube Channel: www.youtube.de/tchsupport


Alles ist natürlich gratis!!!

LG
Chris Hunter
*gähn* gibts das auch als mp3 download, verwende ich dann zum einschlafen als hörbuch.
Chris Hunter
Ich hab mal ne Frage... hab mir jetzt die Tutorials angeschaut und gleich zum zweiten eine Frage. Was genau ist denn der Unterscheid zwischen JIT und diesem IL-Assembler und warum langt der IL denn nicht aus, immerhin isses ja dann schon eine EXE Datei, oder? Irgendwie verstehe ich das noch nicht ganz... wollte schon C# mal probieren bin bis jetzt nur noch nicht dazu gekommen. Dachte immer dieses JIT-Ding gehört zu Java, ist das der selbe "JIT-Compiler"
newbody
Hallo!

Freut mich dass du dir die Serie angesehen hast!

IL Code: Der IL Code ist dafür da, das es eine .exe Datei wird! Und auf Windows, Linux oder sonstwo laufen kann!
Der ist eigentlich nr dafür zuständig dass in eine .exe Datei zu zaubern

JIT Code: Der Jit Code ist für die Hardware zuständig! Er ist Maschienensprache!
ER kümmert sich darum dass dein Prozessor den Code verarbeitet!
JIT heißt Just in Time: diese Technik hat den Vorteil dass nur das übersetzt wird, was zu dem Zeitpunkt gebraucht wird! Im Gegensatz zum klasischen Kompiller: Der Übersetzt alles auf einmal!
Deshalb auch die Perfomance Steigerung

DIESE CODES HABEN ERSTMAL WENIG MIT C# zu tuen!
Desweiteren hat C# mit Java viel gemeinsam!

Hoffe ich konnte helfen!

LG

PS: Über video@tch-support.com gehts schneller
Chris Hunter
aha. klingt aber irgendwie unlogisch, oder?

also ein compiler compiliert alles vorher, und ein JIT-compiler kompiliert das zur laufzeit, deshalb ist ein JIt Compiler dier neben der ausführung des programmcodes auch noch kompilieren muss schneller als ein normaler compiler? mmmhhh irgendwas stimmt da nicht....

oder verwechselst du grade interpreter und compiler?

oh und da fältl mir noch was auf... wenn der compler den c# umgesetzt hat in eine EXE, wie geht das dann weiter, wo ist denn dieser misteriöse JIT-compiler. weil exe dateien sind ja ausführbare dateien(zumindest unter windows) Linux braucht ja keine dateiendung exe.... sind diese exe datein denn dann auch unter linux lauffähig. weil wenn ich nur die exe uploade um mein neues programm zu verteilen muss ich ja noch diese JIT Kompiler dazupacken oder? wo bekomm ich den her? ist der beim visual studio mit dabei? und wo finde ich den?
newbody
Ok!

Normaler Compiller: kompilliert den gesamten Code auf einmal!
JIT Kompiller: kompilliert alles dann wenn es gebraucht wird! Das macht das ganze schneller!


Ja der JIT Kompiller: Dieser übersetzt das ganze in Maschienensprache!
Das passsiert in mehreren Sprachen!
Der Jit Kompiller wird automatisch dazugepackt!
Problem bei Linux ist: .Net Frameworks und mehr! In der Theorie sollte man aber .exes zum laufen kriegen! (Bei meinem Linux Fedora läuft es)
Aber dieser Jit Code ist schon für die Plattformunabhängikeit da!

Information zum JIT im Visual Studio auf msdn-online.de
Chris Hunter
mmmh echt? der packt de Il Code zusammen mit JIT kompilern für alle betriebssysteme zusammen? also ich kann die selbe datei unter linux, solaris mac und windows ausführen? wieviele OS unterstützt denn dieser JIT kompiler. gibts da ne liste?
newbody
Eine Liste fande ich nicht!
Aber es gibt viele Einflüsse die das ausführen auf anderen OSes nicht zulassen:
meisten .Net Framework
den selbst die messagebox gehört zum .Net framework

und .Net ist nicht plattformunanhangikeit

richtige Plattformunabhangigkeit gelangt meist erst mit silverlight

ps: hast du dir mal die anderen folgen angesehen
Chris Hunter
öhm dich dachte der code ist portabel...

also wenn ich jetzt die message box verwende, dann kann ich das programm nur unter windows ausführen weil es das .net framework benötigt?
newbody
Code sagt nur dass das Programm Elemente aus dem .Net braucht!

Stell dir das so vor!

Du kommst mit einem zetel (jit) in einen Raum (Windows)
auf den zetel steht:
messageBox.Show ("ja");
daraufhin musst du eine schublade öffnen (.Net) und die messagebox herausholen und ja drauftuen!

Wenn du jetzt in den Raum Linux gehst, hat der kein .Net und ist dadurch aisgeschlossen!
Allerdings gibt es Projekt wie Mono welche die Schublade imitieren!

Lg
daHooligan
@newbody: sicher, dass du nicht verschiedene CPUs und verschiende Betriebssysteme verwechselst?
viel .NET-Zeug läuft unter diversen Linux-Distributionen dank Mono, das die Aufgabe des .NET-Frameworks unter Linux-Systemen übernimmt aber mono kann doch nicht alles, was das "originale" framework kann. .NET ist sinnvoll und hilfreich bei der Entwicklung auf PDAs und Smartphones (aus eigener Erfahrung!!). Es ist kaum mehr ein Unterschied ob ich für Win 7 / XP oder Win Mobile entwickle, beides ist gleich einfach und vorallem funktioniert mein Programm in der Regel auf beiden Plattformen

nur so am rande wie das bei .NET in etwa abläuft:
Programmcode wird in die CPU-unabhängige MSIL (Microsoft intermediate language) [alias CIL] übersetzt und bei der Ausführung durch das .NET-JIT CPU-spezifisch in Maschinensprache übersetzt

Und Silverlight hat mit Plattformunabhängigkeit erstmal wenig zu tun sondern ermöglicht nur die Ausführung über den Browser und ist nur auf Mac OS und Windows verfügbar.

//edit: noch mehr senf:
und alles was über n runtime-environment läuft ist praktisch nie gleich schnell oder gar schneller (ich weiß, da lassen sich fälle konstruieren....) als direkt übersetztes.
Chris Hunter
huuuiiiii - die sonne geht auf ;-)


ne jetzt mal echt newbody. Ihr solltet wirklich eure tutorials noch einmal stark überarbeiten und euer wissen festigen bevor ihr anfängern c# näher bringt. ihr scheint euch da selber noch nicht ganz sicher zu sein von was ihr sprecht.
zum einen merkt man euch duie unsicherheit oder das fehlende wissen daran an das ihr kaum flüssig sprecht, oft nach worten suchen müsst und euch selber widersprecht.

zum anderen spiegelt sich die qualität der fakten in der qualität eurer präsentationen wieder. also ich selten eine folie gesehen die keinen tippfehler enthält und das ist wirklich ein kunststück bei einem inhalt von 4 sätzen.

ich will euer vorhaben nicht verurteilen, aber ihr solltet wirklich euren qualitätsanspruich etwas höher ansetzen und euren content schonmal zweimal oder dreimal korrekturlesen.
daHooligan
Zitat:
Original von Chris Hunter
huuuiiiii - die sonne geht auf ;-)


jaja, der meister ist wieder da...^^

@newbody: nicht falsch verstehen... es ist gut wenn ihr euch damit beschäftigt und anderen euer wissen näher bringen wollt. aber achtet dann bitte ein bissl darauf, dass alles was ihr sagt 120% sicher und verifiziert ist.
chrigu99
Amen!