interpreter ne demek açıklar mısın
Bildiğin üzere bilgisayardaki programları işlemci çalıştırır. Lakin işlemciler, bizim yazdığımız kodlardan anlamaz. İşlemcilerin anladığı tek şey "0" ve "1" rakamlarıdır. Yani aslımda bilgisayarda yüklü olan her şey; ama her şey "0" ve "1" rakamlarından ibarettir.
Bu rakamların adetlerinin ve yerlerinin değişmesiyle değişik değişik dosyalar, programlar oluşur.
Lakin sırf bu iki rakamı kullanarak program yazmak imkansıza olacağından, program yazmak isteyen kişilerin işini kolaylaştırmak maksadıyla programlama dilleri geliştirilmiştir.
Biz rakamlarla program yazamayacağımıza göre ve işlemciler de bizim yazdığımız kodlardan anlamadığına göre, yazdığımız kodları rakamlara dönüştürecek bir yazılıma ihtiyaç vardır ki işlemciler bu sayede yazdığımız programları çalıştırabilsin.
Dönüştürme işleminin 2 çeşidi vardır. Hangi tipte dönüştürmenin yapılacağı, kullandığın programlama diline göre değişir.
Bu dönüştürme tipleri şunlardır:
1. Interpreting (Yorumlama)
2. Compiling (Derleme)
Bir de bu iki kategorinin ikisine de tam olarak uymayan programlama dilleri vardır. Bu tip programlama dillerinin en önemli özelliği, bu dillerde yazılan programların çalışabilmek için ".Net Framework" yüklenmesine ihtiyaç duymasıdır.
Bu dillere örnek olarak C#, F#, Visual Basic'i verebiliriz.
Yorumlanan programlama dillerinde yazdığın programları her çalıştırışında, o programı oluşturan kodların rakamlara dönüştürülmesi gerekir. İşte bu işi yapan yazılımlara da "interpreter" denir.
Bu tip dillere örnek olarak HTML, Java, Python'ı verebiliriz. Mesela tarayıcılar aslında HTML kodlarını çalıştıran bir interpreter'dır diyebiliriz kabaca.
Derlenen dillerde ise yazdığın kodlar bir kereye mahsus rakamlara dönüştülür ve bu dönüştürme sonucunda "exe" veya "dll" formatında dosyalar oluşur, sen de bu dosyaları çalıştırırsın.
Derlenen dillerle yazılan programlar, yorumlanan dillerle yazılan programlar gibi bir çalıştırıcıya ihtiyaç duymazlar.
Derlenen dillere örnek olarak C, C++, Delphi'yi verebiliriz.
Son olarak .Net Framework gerektiren dillerin nasıl çalıştığından bahsedeyim. Bu tip dillerle programlar yine "exe" formatında olur; lakin yazdığın kodlar ilk önce bir ara formata, bu ara formattan da rakamlara dönüştürülür.
İşte o ara formata da "Intermediate Language (IL)" denir.
NOT: Yazı tamamiyle bana aittir. İsim belirtmek şartıyla istediğin yerde paylaşabilirsin.?