Bu sadece yorumlanmış ve derlenmiş diller hakkında okurken bir merak ediyorum.
Kaynak kod yürütme noktasında bir tercüman tarafından işlendiğinden, Ruby'nin bir tercüman dili olduğuna şüphe yok.
Aksine, C derlenmiş bir dildir, çünkü ilk önce kaynak kodunu makineye göre derlemek ve daha sonra çalıştırmak gerekir. Bu sonuç çok daha hızlı işlemdir.
Şimdi Python'a geliyor :
- İçe aktarıldığında bir python kodu ( somefile.py ) aynı dizinde bir dosya ( somefile.pyc ) oluşturur . Diyelim ki ithalat bir python kabuğu veya django modülünde yapıldı. İçe aktarmadan sonra, kodu biraz değiştiririm ve hala eski kodu çalıştırdığını bulmak için içe aktarılan işlevleri tekrar yürütürüm. Bu, * .pyc dosyalarının, bir C dosyasının derlenmesinden sonra oluşturulan çalıştırılabilir dosyaya benzer şekilde derlenmiş python dosyaları olduğunu gösterir, ancak * .pyc dosyasını doğrudan yürütemiyorum.
- Python dosyası (somefile.py) doğrudan çalıştırıldığında (./somefile.py veya python somefile.py) .pyc dosyası oluşturulmaz ve yorumlanan davranışı belirten kod çalıştırılır.
Bunlar, bir python kodunun, doğrudan çalıştırıldığında yorumlanırken bir .pyc oluşturmak için yeni bir işlemde alındığında derlendiğini göstermektedir.
Peki hangi dil dili olarak düşünmeliyim? Yorumlanan veya Derlenmiş? Ve etkinliği, yorumlanmış ve derlenmiş dillerle nasıl karşılaştırılır?
Wiki'nin Sözlü Dilleri sayfasına göre, Sanal Makine Koduna derlenmiş bir dil olarak listelenmiştir, bunun anlamı ne?
RUN
. Lexing adımını uygulayan ve ardından programın her çalıştırılışında yeniden düzeltilmesi gereken bir belirteç akışı çıkaran bir derleyiciniz varmış gibiydi. javac
Lexing, ayrıştırma ve optimizasyon içeren , modern bytecode derlemesi gibi değil .