Neredeyse kendi bildiğimden tereddüt edecektim ya. Arkadaş bir de kendi söylediğine kaynak falan verince iyiden iyiye "şimdiye kadar yanlış mı öğrettiler bize?" diye düşünmeye başlıyodum. Neyse konu o değil. .Net dilleri ve Java için birşeyler ekleyeyim dedim sadece maksat anlatılanlar eksik kalmasın. Şu ana kadar eklemelerde bulunanlara teşekkürler.

.Net compilerları ve Java Compiler ları yazılan kodları Assembly veya makine diline kadar yorumlamazlar. Genel olarak Intermediate Language (.Netteki adı Microsoft Intermediate Language MSIL. Java daki adını bilmiyom) denilen bir seviyede bırakırlar. Bunun farklı nedenleri var.

Microsoft bunu farklı dillerde yazılmış kodları birbiri içinde kullanabilmek için kullanıyor. Mesela C# ile yazılmış bir classı VB içerisine referansını aldıktan sonra sanki VB de yazılmış gibi kullanabiliyorsunuz.

Java ise yazılan tek bir kodu farklı platformlarda çalıştırabilmek için kullanıyor. Windows ortamında yazılmış bir java kodu bu yapı sayesinde linux veya solaris bir ortamda da çalışabiliyor.

Bunun tabii bazı sonuçları da var. Bu dillerde yazılmış programların çalışabilmesi için yine kodların yarım bırakılan yorumlanma işlemlerinin bitirilmesi yani makine diline kadar yorumlanması gerekiyor. Dolayısıyla herhangi bir .Net dilinde yazılmış bir programınızın çalışabilmesi için sisteminizde .Net Frameworkün kurulu olması gerekiyor. Aynı şekilde Java ile yazılmış bir programın çalışması için de Sistemde Java Runtime Environment kurulu olması gerekiyor.

Forumlarda konuları ayrı ayrı takip edememe gibi bi hastalığa müptelayım. Yanlışım varsa zahmet edip PM atıp beni düzeltecek arkadaşa şimdiden teşekkürler.