Ana sayfateknolojiYazılım ve ProgramlamaYorumlayıcı Nedir?
💻
Teknoloji · Konu Anlatımı

Yorumlayıcı Nedir? Kaynak Kodu Nasıl Çalıştırır?

Programlamaya Giriş· Genel· 4 dk okuma· Son güncelleme: 27 Ağustos 2026
Öğreniyo İçerik Ekibi tarafından hazırlandı · Editör: Yusufhan Seyis
Kısaca

Yorumlayıcı, kaynak kodunu çalıştırmadan önce doğrudan makine koduna dönüştürmek yerine programın yürütülmesini sağlayan yazılımdır. Kodu çalışma sırasında işler ve programın sonuç üretmesine aracılık eder. Derleyiciyle arasındaki temel fark, çevirme ve çalıştırma işlemlerinin ne zaman yapıldığıdır.

Bu yazıda (5)

Yorumlayıcı, programcının yazdığı kaynak kodu bilgisayarın işlemleri gerçekleştirebileceği biçimde ele alıp programı çalıştıran yazılımdır. Kaynak kodu önceden bağımsız bir makine kodu dosyasına dönüştürmek yerine, çalıştırma sırasında değerlendirmesiyle tanınır.

Yorumlayıcının tanımı ve görevi

Yorumlayıcı, kaynak kodunu okuyarak içindeki komutların ne anlama geldiğini belirleyen ve bu komutların gerçekleştirilmesini sağlayan bir yazılımdır. Kaynak kodu, programcının insan tarafından okunabilir bir programlama diliyle yazdığı metindir. Bilgisayarın işlemcisi ise bu metni doğrudan anlayamadığı için yorumlayıcı, kaynak kod ile yürütülen işlemler arasında görev yapan çalışma ortamını oluşturur.

Yorumlayıcının temel görevi, programı çalıştırmak için gerekli anlamlandırma ve yürütme işini çalışma anında yapmaktır. Kodun bir bölümünü ele alır, dilin kurallarına göre bu bölümün yapısını değerlendirir ve karşılık gelen işlemleri yürütür. Böylece programcı, kaynak kodda yaptığı değişikliği önce ayrı bir çalıştırılabilir dosya üretmeden deneyebilir. Bu süreç, yorumlayıcının yalnızca metni okumadığını; komutların sırasını, değerlerini ve birbirleriyle ilişkisini dikkate alarak program davranışını oluşturduğunu gösterir.

Örneğin bir programda ekrana bir mesaj yazdıran komut bulunduğunu düşünelim. Yorumlayıcı bu komutu kaynak koddan alır, yazdırma işlemi olarak değerlendirir ve çalışma ortamının ilgili işlemi yapmasını sağlar. Ardından sonraki komuta geçer. Programın hesaplama yapan bir ifadesi varsa yorumlayıcı, ifadeyi değerlendirip sonucu programın akışına aktarır. Yorumlayıcı kullanılan diller arasında Python, Ruby, MATLAB ve Raku gibi örnekler bulunur; ancak bir dilin hangi biçimde çalıştırıldığı, kullanılan uygulamaya ve çalışma ortamına göre değişebilir.

Yorumlayıcının kaynak kodu çalıştırma biçimi

Yorumlayıcı kaynak kodu çalışma sırasında işler. Önce kodun dil kurallarına uygun bir yapı oluşturup oluşturmadığını ve ilgili parçanın hangi işlemi ifade ettiğini değerlendirir; ardından bu işlemi yürütür ve program akışında sonraki parçaya ilerler. Bu nedenle kaynak kod, baştan sona bağımsız bir makine kodu dosyasına çevrilip daha sonra çalıştırılmak zorunda değildir. Kullanıcı bir komut satırına ifade yazdığında yorumlayıcının sonucu hemen üretmesi, bu çalışma biçiminin basit bir örneğidir.

Yorumlayıcıların hepsi kaynak metni aynı teknik yolla ele almaz. Bazıları kaynak kodu doğrudan değerlendirirken bazıları önce bytecode gibi bir ara biçim hazırlayıp bu biçimi yürütür. Bu ara biçim, işlemcinin doğrudan çalıştırdığı makine kodu değildir; yorumlayıcının çalıştırma sürecinde kullandığı bir gösterimdir. Bytecode, sanal makine ve JIT derleme yorumlayıcıların gerçeklenmesinde kullanılan tekniklerdir; ayrıntıları bu makalenin kapsamı dışındadır.

Yorumlayıcı ile derleyici arasındaki temel farklar

Yorumlayıcı ve derleyici, kaynak kodun çalıştırılabilir işlemlere dönüştürülmesine yardımcı olur; temel ayrım, bu işin ne zaman ve hangi sonuçla yapıldığıdır. Yorumlayıcı, kaynak kodu çalıştırma sırasında ele alır ve programın yürütülmesine hazırlanır. Derleyici ise kaynak kodu önceden işleyerek daha sonra çalıştırılabilecek makine kodu ya da çalıştırılabilir bir çıktı üretmeyi amaçlar.

Bu fark çalışma deneyimini de etkiler. Yorumlayıcı kullanılan bir ortamda kaynak kodu çalıştırmak için çoğunlukla uyumlu bir yorumlayıcının bulunduğu çalışma ortamı yeterlidir. Aynı kaynak kod, böyle bir ortam bulunan farklı platformlarda kullanılabilir. Derlenmiş bir programda ise hedef platforma uygun bir çıktı oluşturma ihtiyacı öne çıkar. Buna karşılık yorumlama sırasında yapılan ek işlemler, özellikle program çalışırken her işlemin anlamlandırılması gerektiğinde yürütme hızını etkileyebilir. Derleyici ile yorumlayıcının aynı ara gösterimi kullanması mümkün olsa da derleyicinin amacı daha sonra yürütülecek makine kodunu üretmek, yorumlayıcının amacı ise programı çalıştırmaya hazırlamaktır. Derleme ve yorumlama modellerinin ayrıntılı karşılaştırması daha geniş bir konudur.

Yorumlayıcı kullanımının avantajları ve sınırlılıkları

Yorumlayıcının önemli bir avantajı, kaynak kodu değiştirme ile sonucu görme arasındaki süreci kısaltmasıdır. Programcı her değişiklikten sonra ayrı bir derleme çıktısı oluşturmak yerine kodu doğrudan çalışma ortamında deneyebilir. Bu özellik, sık deneme yapılan prototiplerde ve test çalışmalarında geliştirmeyi kolaylaştırır. Ayrıca yorumlayıcı bulunan uyumlu bir ortamda çalışan kaynak kodun farklı platformlara taşınması pratik olabilir; her platform için ayrı bir çalıştırılabilir dosya oluşturma gereksinimi azalır.

Bunun karşılığında yorumlanan programlarda çalışma sırasında ek bir işlem yükü oluşabilir. Yorumlayıcı, kaynak kodun anlamını ve değişkenlerle ilgili bilgileri çalışma anında ele aldığı için aynı işlevi doğrudan makine koduyla gerçekleştiren bir programa göre daha yavaş çalışabilir. Bu fark özellikle yoğun ve uzun süren işlemlerde önem kazanır. Yani yorumlayıcı, hızlı geliştirme ve kolay deneme bakımından avantaj sağlarken yürütme hızında sınırlılık oluşturabilir. Hangi seçeneğin uygun olduğu, programın geliştirme sürecinde mi yoksa hızlı çalışmasında mı öncelik bulunduğuna bağlıdır.

“Yorumlayıcı dil” ifadesinin doğru kullanımı

Günlük kullanımda “yorumlayıcı dil” denildiğinde, yorumlayıcı bir çalışma ortamıyla çalıştırılan dil anlaşılır. Ancak dilleri kesin biçimde yalnızca “yorumlanan” veya yalnızca “derlenen” diye ayırmak yanıltıcı olabilir. Çünkü bir programlama dili farklı çalışma ortamlarında uygulanabilir; yorumlayıcılar, geleneksel olarak derlemeyle ilişkilendirilen bazı diller için de geliştirilebilir.

Bu nedenle daha doğru ifade, belirli bir dilin belirli bir uygulamada nasıl çalıştırıldığını belirtmektir. Örneğin bir dilin bir uygulaması kaynak kodu doğrudan değerlendirebilirken başka bir uygulaması önce ara bir biçim oluşturabilir veya makine kodu üretebilir. Burada “dil” ile “dili çalıştıran uygulama” birbirinden ayrılır: Dil kuralları ve yazım biçimini tanımlar, çalışma ortamı ise bu kurallara göre yazılmış kodu hangi yöntemle yürütür. Bu ayrımı kurmak, yorumlayıcı ile derleyici karşılaştırmasını daha doğru yapmayı sağlar.

Günlük hayatta

Bir programlama ortamının komut satırına basit bir matematik ifadesi yazıp sonucu hemen görmek, yorumlayıcının çalışma biçimine somut bir örnektir. Kullanıcı kaynak kodu değiştirdikten sonra ayrı bir çalıştırılabilir dosya hazırlamadan yeni sonucu deneyebilir.

Sınavda

Yorumlayıcı ile derleyiciyi ayırırken temel ölçüt, kaynak kodun ne zaman işlendiğidir: yorumlayıcı çalışma sırasında yürütür, derleyici ise önceden çalıştırılabilir bir çıktı üretmeye yönelir. “Yorumlayıcı dil” ifadesinin kesin bir dil sınıflandırması olmadığını da göz önünde bulundurmak gerekir.

Sık sorulan sorular

Yorumlayıcı kaynak kodu hiç dönüştürmez mi?

Her yorumlayıcı kaynak metni aynı şekilde işlemez. Bazıları kodu doğrudan değerlendirirken bazıları çalışma öncesinde veya sırasında ara bir biçim oluşturabilir; ancak temel amaç programı çalışma anında yürütmektir.

Yorumlayıcı mı, derleyici mi daha hızlıdır?

Genellikle derlenmiş makine kodu, çalışma sırasında ek anlamlandırma yapılmadığı için daha hızlı yürütülür. Yorumlayıcı ise geliştirme ve deneme döngüsünü kısaltabilir.

Bir programlama dili yalnızca yorumlayıcı olabilir mi?

Bunu kesin bir kural olarak söylemek doğru değildir. Aynı dil farklı uygulamalarda yorumlanabilir, derlenebilir veya bu yaklaşımları birlikte kullanabilir.

Yorumlayıcı kullanmak program geliştirmeyi neden kolaylaştırabilir?

Kaynak kodda yapılan değişiklikler, ayrı bir çalıştırılabilir çıktı hazırlama adımı olmadan daha hızlı denenebilir. Bu da özellikle sık değişiklik yapılan çalışmalarda geliştirme döngüsünü kısaltır.

Kaynaklar
SıradakiDeğişken