Tavsiyeler

JavaScript: Yorumlandı mı, Derlendi mi?

JavaScript: Yorumlandı mı, Derlendi mi?

Bilgisayarlar aslında JavaScript'te yazdığınız kodu (veya bu konuda başka bir dili) çalıştıramaz. Bilgisayarlar yalnızca makine kodunu çalıştırabilir. Belirli bir bilgisayarın çalıştırabileceği makine kodu, bu komutları çalıştıracak işlemci içinde tanımlanır ve farklı işlemciler için farklı olabilir.

Açıkçası, makine kodu yazmak insanların yapması için zordu (125, ek bir komut ya da 126 ya da belki 27'dir). Bu sorunu aşmak için, montaj dili olarak bilinen şey yaratıldı. Bu diller komutlar için daha açık isimler kullandılar (eklemeye ADD gibi) ve böylece tam makine kodlarını hatırlama gereksinimini ortadan kaldırdılar. Assembly dilleri, bilgisayarın bu komutları dönüştürdüğü işlemci ve makine kodu ile bire bir ilişki kurar.

Meclis Dilleri Derlenmeli veya Yorumlanmalı

Çok erken bir zamanda, dil yazmanın daha kolay olduğu ve bunları bilgisayarın anlayabileceği makine kodu talimatlarına çevirmek için bilgisayarın kendisinin kullanılabileceği anlaşıldı. Bu çeviriyle alınabilecek iki yaklaşım vardı ve her iki alternatif de seçildi (kullanılan dilin ve nerede çalıştırıldığına bağlı olarak biri ya da diğeri kullanılacak).

Derlenmiş bir dil, program yazıldıktan sonra kodu derleyici olarak adlandırılan ve programın bir makine kodu versiyonunu üreten bir program aracılığıyla beslediğiniz dildir. Programı çalıştırmak istediğinizde sadece makine kodu versiyonunu çağırmanız yeterlidir. Programda değişiklik yaparsanız, değiştirilen kodu test etmeden önce yeniden derlemeniz gerekir.

Yorumlanmış bir dil, program çalıştırılırken talimatların makine koduna yazdığınızdan dönüştürüldüğü dildir. Tercüme edilmiş bir dil, temel olarak program kaynağından bir talimat alır, onu makine koduna dönüştürür, bu makine kodunu çalıştırır ve daha sonra işlemi tekrarlamak için kaynaktan bir sonraki komutu alır.

Derleme ve Yorumlamada İki Çeşit

Bir varyant iki aşamalı bir süreç kullanır. Bu değişkenle, programınızın kaynağı doğrudan makine koduna değil, yine de belirli işlemciden bağımsız olan bir montaj benzeri dile dönüştürülür. Kodu çalıştırmak istediğinizde, derlenen kodu, makinenin kodunu bu işlemciye uygun şekilde almak için işlemciye özgü bir tercüman aracılığıyla işler. İşlemci bağımsızlığını korurken aynı derleme kodunun birçok farklı işlemci tarafından yorumlanabilmesi nedeniyle bu yaklaşımın derleme avantajları vardır. Java, bu değişkeni sıklıkla kullanan bir dildir.

Diğer değişken, Just in Time derleyicisi (veya JIT) olarak adlandırılır. Bu yaklaşımla, kodunuzu yazdıktan sonra aslında derleyiciyi çalıştırmazsınız. Bunun yerine, kodu çalıştırdığınızda otomatik olarak gerçekleşir. Bir Just in Time derleyicisi kullanılarak kod, deyimle ifade olarak yorumlanmaz, çalıştırılması çağrıldığında her seferinde bir seferde derlenir ve daha sonra oluşturduğu derlenmiş sürüm çalıştırılır. Bu yaklaşım, kodun yorumlandığı gibi görünmesini sağlar, yalnızca hata içeren ifadeye ulaşıldığında bulunan hatalar yerine, derleyici tarafından algılanan herhangi bir hata kodun tümü yerine çalıştırılan kodlardan hiçbirinin çalışmamasına neden olur. Bu noktaya kadar çalıştırılıyor. PHP, genellikle tam zamanında derlenmeyi kullanan bir dilin örneğidir.

JavaScript Derlendi mi veya Yorumlanıyor mu?

Şimdi, yorumlanmış kodun ve derlenmiş kodun ne anlama geldiğini biliyoruz, daha sonra cevaplamamız gereken soru, bunun JavaScript ile ne alakası var? JavaScript'inizi tam olarak nerede çalıştırdığınıza bağlı olarak, kod derlenebilir veya yorumlanabilir veya belirtilen diğer iki değişkenden birini kullanabilir. JavaScript'inizi bir web tarayıcısında çalıştırdığınız çoğu zaman orada JavaScript kullanılır.

Yorumlanan diller genellikle derlenmiş dillerden daha yavaştır. Bunun iki sebebi var. Öncelikle, yorumlanacak kodun çalıştırılmadan önce yorumlanması gerekir ve ikinci olarak, ifadenin çalıştırılacağı her zaman gerçekleşmesi gerekir (sadece JavaScript'i çalıştırdığınızda değil, döngü içinde ise döngü etrafında her zaman yapılması gerekiyor). Bu, JavaScript’te yazılmış kodun, diğer birçok dilde yazılmış koddan daha yavaş çalışacağı anlamına gelir.

Bunu bilmek, JavaScript'i tüm web tarayıcılarında kullanabileceğimiz tek dil olan yerlerde bize nasıl yardımcı olur? Web tarayıcısında yerleşik olan JavaScript tercümanı, JavaScript'te yazılmaz. Bunun yerine, daha sonra derlenmiş başka bir dilde yazılmıştır. Bunun anlamı, JavaScript'in görevi JavaScript motorunun kendisine bırakmasına izin veren herhangi bir komuttan yararlanabiliyorsanız, JavaScript'inizi daha hızlı çalıştırabilmenizdir.

JavaScript'i Daha Hızlı Çalıştırmak için Örnekler

Buna bir örnek, bazılarının ancak tüm tarayıcıların JavaScript motoru içinde bir belge.getElementsByClassName () yöntemi uygulamış, diğerleri ise henüz bunu yapmamış olmasıdır. Bu özel işleve ihtiyaç duyduğumuzda, JavaScript motorunun sunduğu tarayıcılarda kodun daha hızlı çalışmasını sağlayabiliriz; yöntemin var olup olmadığını görmek ve yalnızca JavaScript motoru kullanılmadığında JavaScript'te kendi kodumuzu oluşturmak Bunu bize sağlayın. JavaScript motorunun bu işlevi sağladığı durumlarda, JavaScript'te yazılmış kendi sürümümüzü kullanmak yerine, onu kullanırsak daha hızlı çalışması gerekir. Aynı şey, JavaScript motorunun doğrudan arama yapmamız için uygun kıldığı işlemler için de geçerlidir.

JavaScript’in aynı isteği yapmanın birden çok yolunu sağladığı durumlar da olacaktır. Bu gibi durumlarda, bilgiye erişmenin yollarından biri diğerinden daha spesifik olabilir. Örneğin document.getElementsByTagName ('table') 0.tBodies ve document.getElementsByTagName ('table') 0.getElementsByTagName ('tbody'), web sayfasındaki ilk tbody etiketlerinin aynı listeyi ancak web sayfasındaki ilk nodelisten alır. Bunlardan bazıları, ikincisinin bir parametrede tbody etiketlerini aldığımızı tespit ettiği tbody etiketlerini almak için özel bir komuttur ve diğer etiketler diğer etiketleri almak için ikame edilebilir. Çoğu tarayıcıda, kodun daha kısa ve daha spesifik varyantı, ikinci varyanttan daha hızlı (bazı durumlarda daha hızlı) çalışacaktır ve bu nedenle daha kısa ve daha spesifik bir versiyonun kullanılması mantıklı olacaktır. Ayrıca kodun okunmasını ve bakımını kolaylaştırır.

Şimdi, bu durumların çoğunda, işlem süresindeki gerçek fark çok küçük olacak ve yalnızca bu tür kod seçimlerini bir araya getirdiğinizde, kodunuzun çalışması sırasında fark edilir bir fark göreceksiniz. Kodunuzu daha hızlı çalışmasını sağlamak için değiştirmek, kodu önemli ölçüde daha uzun hale getirecek veya bakımı zorlaştıracak olsa da, çoğu zaman nadir görülür. Ayrıca, JavaScript motorlarının gelecekteki sürümlerinin oluşturulabileceği avantajı da vardır. bu, daha belirli varyantı daha da hızlandırarak, belirli varyantı kullanmanın, hiçbir şeyi değiştirmek zorunda kalmadan gelecekte kodunuzun daha hızlı çalışacağı anlamına gelebilir.

Videoyu izle: Programlama Dilleri. Java nedir ? Nerelerde Kullanılır ? (Eylül 2020).