"Yanlış şeyler" burada yorumlayıcının kodu ayrıştırması ve işlemesi için gereken ek yük anlamına gelir. Yorumlanan ve derlenen diller kavramıyla bağlantılıdır. Kullanımda olan ve aşağıdaki kategorilerden birine giren çeşitli kod çevirisi modelleri vardır:
- Yerel derleme - kaynak kodu doğrudan makine kodunda derlenir. Taşınabilirlik pahasına en iyi performans. Genellikle C ve C ++ ile ilişkilidir,
- Ara derleme - kaynak kodu, daha sonra yürütülürken makine koduna yorumlanan veya derlenen (tam zamanında derleme) basitleştirilmiş bir ara dile (bayt kodu) derlenir. Yerel koddan daha iyi taşınabilirlik, yorumlamanın bazı yönlerini korurken (geç bağlama gibi) saf yoruma göre daha iyi performans. Örnekler arasında C #, Java ve JVM ve .NET CLR'yi hedefleyen diğer diller,
- Yorum - kaynak kodu doğrudan makine koduna çevrilmez, bunun yerine özel bir tercüman programı tarafından yorumlanır ve yürütülür. Tercümanlar, saf uygulamada sofistike olarak farklılık gösterir, ancak kaynak kodunu satır satır ayrıştırmaya, analiz etmeye ve yürütmeye bağlıdır. Yorumlama, derlemeden daha fazla esneklik sağlar, dolayısıyla yorumlanmış diller, örneğin dinamik yazım veya yansımayı daha fazla kullanır. Yorumlanan diller, daha az kaynak plakası kodu gerektirdiklerinden ve hızlı prototiplemeye kendilerini iyi verdiklerinden, geliştirici verimliliğini arttırmak olarak görülür. Dezavantajı düşük performanstır. Genellikle JavaScript, Ruby veya Python ile ilişkilendirilir.
Dolayısıyla, yorumlanmış ve derlenmiş dil arasındaki seçim, neye daha çok değer veriyoruz, geliştirici üretkenliği veya performansı sorusuna dayanıyor. Makalede açıklanan göç, aynı düşünce tarzını izliyor gibi görünüyor, güçlü prototipleme dili Ruby, performans değerlendirmeleri nedeniyle JVM tabanlı Scala ile değiştirildi.