Hvad er forskellen på en binær fil lavet med C# og en binær fil lavet med Pascal? Det burde da ikke kræve et andet program for at kunne virke. Hvad kræver .NET Framework så, for at virke?
.NET fungerer på den måde at kompileren ikke oversætter til maskin-kode, men til MSIL (Microsoft Intermediate Language). Dvs. en EXE (eller det vi kalder et assembly) er ikke i native processor format, men altså i et "mellemsprog". Det er derfor du skal bruge .NET Fx på maskinen for at få programmet til at køre.
Hvis du kender til Java så er det egenlig samme process, dvs. man kompilerer fra Java til byte code.
Hvorfor så det kan man spørge sig selv?
Når et assembly skal afvikles er bliver det jittet på platformen, dvs. det kompileres endnu en gang - men direkte til processoren. Det giver rigtigt mange fordele, flere end der her lige er plads til. Men tanken om bedre styring af hukommelse, sikkerhed og performance ligger lige på tungen.
Prøv at se på denne episode af "The .NET Show" med vores helt egen Anders Hejlsberg (bla. fadder til Deplhi og sikkert også den pascal du benytter).
http://msdn.microsoft.com/theshow/episode035/default.aspJeg vil påstå at vi alle laver managed kode inden for de næste 2-4 år. Det vil være MEGET lidt processor specifik kode der skrives.
Giver det mening?