Öncelikle, betik dilleri genel olarak derlenmemiştir . Bu, onları genellikle betik dilleri olarak tanımlayan şeyin büyük bir parçasıdır. Bunlar genellikle, "yorumlanır". Ne bu temelde anlamı başka bir dil (bir olmasıdır edilir hat-by-line, gerçek zamanlı olarak, metin okuma ve işlemleri gerçekleştiriyor değil daha sık, derlenmiş).
Bu ve diğer diller arasındaki fark, betik dillerinin daha basit olma eğilimindedir (genellikle "daha yüksek seviye" olarak adlandırılır). Bununla birlikte, derleyiciler kodlamanın "insan öğesi" ile gelen sorunların çoğunu optimize etme eğiliminde olduklarından ve sonuçta ortaya çıkan ikili kod makine için daha küçük ve hızlı olma eğilimindedir. Ek olarak, derlenen programlarla, çalışmakta olan kodu okumak için çalıştırılması gereken başka bir programdan daha az ek yük vardır .
Şimdi, “Pekala, bunun biraz daha kolay olduğunu biliyorum ama neden dünyada neden bu performansı biraz daha fazla kullanım kolaylığı için bırakıyorsun?” Diye düşünüyorsunuz.
Bu varsayımda yalnız kalmayacaksınız, ancak onlarla ne yaptığınıza bağlı olarak betik dilleri kullanma eğilimindesiniz, performanstaki fedakarlığa değer olabilir.
Temel olarak: Geliştirme hızının, programın çalıştırılma hızından daha önemli olduğu durumlarda, bir komut dosyası dili kullanın. Oyun geliştirmede bunun gibi durumlar çok var. Özellikle üst düzey etkinlik yönetimi gibi önemsiz şeylerle uğraşırken.
Düzenleme: Lua'nın oyun geliştirmede oldukça popüler olma eğiliminin nedeni, tartışmalı olarak, dünyadaki en hızlı (en hızlı değilse) herkese açık betik dillerinden biri olmasıdır. Ancak, bu ekstra hız ile bazı kolaylıklarından ödün vermiştir. Olduğu söyleniyor, hala tartışmalı C veya C ++ ile çalışmaktan daha uygun.
Önemli Düzenleme: Daha fazla araştırma yapıldığında, bir betik dili tanımında daha fazla tartışma olduğunu gördüm (bkz. Ousterhout'un ikilemi ). Bir dili "betik dili" olarak tanımlamanın temel eleştirisi, yorumlanması veya derlendiği dilin sözdizimi veya anlambilimi için önemli olmamasıdır.
Genellikle "betik dilleri" olarak kabul edilen diller genellikle derlenmiş olmaktan ziyade geleneksel olarak yorumlanırken, "betik dilleri" olarak tanımlanma sürelerinin kısa ve özü insanların kendilerini nasıl gördüklerinin ve yaratıcılarının onları nasıl tanımladıklarının bir birleşimidir.
Genel olarak konuşursak, bir dil, aşağıdaki kriterleri yerine getirdiği takdirde (yukarıdaki bağlantılı makaleye göre), kolayca bir betik dili olarak kabul edilebilir (Ousterhout'un ikilemini kabul ettiğiniz varsayılarak):
- Dinamik olarak yazılırlar
- Karmaşık veri yapıları için çok az veya hiç provizyonları yok
- İçlerindeki programlar (scriptler) yorumlanır
Ek olarak, bir dilin başka bir programlama diliyle (genellikle bir komut dosyası dili olarak kabul edilmeyen bir dille birlikte) etkileşimde bulunmak ve işlev görmek üzere tasarlanmış olması halinde, bir dilin bir betik dili olduğu kabul edilir.