Kaynak kod nedir?
Kaynak kod, bir programcının Python, Java ya da C gibi bir dilde yazıp düz metin dosyaları olarak kaydettiği, programın insanların okuyabildiği metnidir. Bir derleyici ya da yorumlayıcı onu bilgisayarın çalıştırabileceği talimatlara dönüştürür.
Güncellendi: 24 Eylül 2026
.py, .c ya da .java ile biten herhangi bir dosyayı düz bir metin düzenleyicide aç: okuduğun şey kaynak koddur. Bir alışveriş listesiyle aynı türden bir dosyadır: harfler, rakamlar, boşluklar ve satır sonları. Onu bir program yapan şey, metnin bir programlama dilinin kurallarına uymasıdır; böylece bir araç onu işlemci için talimatlara çevirebilir.
Kaynak kod neye benzer
İşte eksiksiz bir Python programı. Her satırı kaynak koddur; bilgisayarın yok saydığı ama bir sonraki programcının okuduğu yorum satırı da buna dahildir.
Total: 12
Aynı program C ile yazıldığında da kaynak koddur, yalnızca farklı kuralları olan farklı bir dildedir:
#include <stdio.h>
int main(void) {
int price = 4;
printf("Total: %d\n", price * 3);
return 0;
}
Gerçek bir uygulama bu tür binlerce dosyadan oluşur. Linux çekirdeğinde 30 milyondan fazla satır kaynak kod vardır, küçük bir web uygulamasında bile kolayca birkaç yüz dosya olabilir. Her dosyanın adı, araçlara hangi dili içerdiğini söyleyen bir uzantıyla biter:
| Uzantı | Dil |
|---|---|
.py | Python |
.c, .h | C |
.cpp, .hpp | C++ |
.java | Java |
.js | JavaScript |
.go | Go |
.rs | Rust |
Kaynak kod düz metindir
Kaynak kodda yazı tipi, renk ya da gizli biçimlendirme yoktur. Bir düzenleyicide gördüğün renkleri, okumayı kolaylaştırmak için düzenleyici ekler; dosyada saklanmazlar. Kodu bu yüzden VS Code gibi bir kod düzenleyicide yazarsın, asla Microsoft Word'de yazmazsın: bir kelime işlemci biçimlendirme verisi ve "akıllı" tırnak işaretleri kaydeder, sonuç da dilin okuyamadığı, genellikle bir sözdizimi hatasıyla reddedilen bir dosya olur.
Yalnızca metin olduğu için bir program başka bir programın kaynağını bir string içinde tutup çalıştırabilir bile:
<class 'str'>
3 lines of text
Total: 12
Son satıra kadar source sıradan bir string'dir. exec onu Python'a verir, Python da metni okuyup uygular. Kaynak kodun bütün hayatı küçük ölçekte budur: önce metin, sonra talimat.
Kaynak kod nasıl çalışan bir programa dönüşür
Bilgisayarındaki işlemci Python ya da C okuyamaz. Yalnızca makine kodu çalıştırır; makine kodu, tek bir işlemci türüne özgü ikili talimatlardır (dizüstü bilgisayarların ve sunucuların çoğunda x86-64, telefonlarda ve Apple Silicon Mac'lerde ARM). Birinin çeviri yapması gerekir. Bunun iki ana yolu vardır:
- Bir derleyici programın tamamını önceden çevirir.
gcc hello.c -o hellokomutu C kaynağını okur ve makine koduyla dolu yeni bir dosya yazar:hello. Sonrahello.cdosyasını silebilirsin,helloyine çalışır. - Bir yorumlayıcı kaynağı doğrudan çalıştırır.
python3 hello.pykomutu Python yorumlayıcısını başlatır; yorumlayıcıhello.pydosyasını okur ve talimatlarını uygular. Ayrı bir program dosyası üretilmez, bu yüzden kaynağın her seferinde orada olması gerekir.
Birçok dil ikisini karıştırır. Java kaynağı javac ile bytecode'a (.class dosyaları) derlenir, Java Sanal Makinesi (JVM) de bu bytecode'u çalıştırır. Tam karşılaştırma derleyici ve yorumlayıcı farkı sayfasındadır.
Kaynak kod, nesne kodu ve makine kodu
Bu üç terim aynı programı farklı aşamalarda anlatır:
| Terim | Kim okur | Örnek |
|---|---|---|
| Kaynak kod | İnsanlar ve derleyiciler | app.py içinde total = price * 3 |
| Nesne kodu | Bağlayıcı (linker) | gcc -c hello.c ile üretilen hello.o |
| Makine kodu (çalıştırılabilir dosya) | İşlemci | Linux veya macOS'ta hello, Windows'ta hello.exe |
Derlenmiş bir çalıştırılabilir dosyayı metin düzenleyicide açarsan okunamayan semboller görürsün, çünkü dosya metin değil ikili veridir. Bir Mac'te yukarıdaki hello programının ilk dört baytı onaltılık tabanda cf fa ed fe olur; bu, Mach-O çalıştırılabilir dosyasının işaretidir. Bu tür ham değerlere sayı tabanı dönüştürücüyle bakabilirsin.
Açık kaynak ve kapalı kaynak
Kaynak kodu kimin okuyabileceği, teknik olduğu kadar hukuki bir sorudur. Açık kaynak yazılım, kaynağını herkesin okumasına, değiştirmesine ve paylaşmasına izin veren bir lisansla yayımlar. Python, Linux ve Firefox açık kaynaktır. Kapalı kaynak (tescilli) yazılım yalnızca derlenmiş programı dağıtır. Microsoft Windows ve Adobe Photoshop kapalı kaynaktır, kaynak kodları ticari sırdır.
Kaynak kod bir kitap gibi telif hakkıyla da korunur. İnternette bir kod bulman onu yeniden kullanabileceğin anlamına gelmez: kendi projene bir şey kopyalamadan önce çoğu zaman LICENSE adını taşıyan lisans dosyasına bak.
Yaygın yanlış inanışlar
- "Sayfa kaynağını görüntüle, bir sitenin kaynak kodunu gösterir." Tarayıcının aldığı HTML, CSS ve JavaScript'i gösterir. Sitenin sunucu tarafı (Python, Java, PHP ya da başka bir dilde yazılmış) sunucudan hiç çıkmaz, bu yüzden onu göremezsin.
- "Bir decompiler sana orijinal kaynağı geri verir." Decompiler, derlenmiş bir programdan okunabilir kod yeniden kurar, ama yorumlar gitmiştir ve adlar çoğu zaman kaybolur; sonuç, yazarların yazdığı dosya değil, kaynağa dair bir tahmindir.
- "Kod ve kaynak kod aynı şeydir." Kaynak kod insanların yazdığı sürümdür. "Kod" daha geniştir; makine kodunu, bytecode'u ve otomatik üretilen kodu da kapsar.
- "Kaynak kod İngilizce olmak zorundadır."
ifveprintgibi anahtar kelimeler İngilizcedir, ama değişken adları, yorumlar ve string'ler herhangi bir dilde olabilir. Python 3 kaynak dosyaları varsayılan olarak UTF-8'dir, bu yüzdenprix = 4ve# 合計を計算するikisi de geçerlidir.
Sırada ne var
Kaynak kod çalışmadan önce kontrol edilir ve yeni başlayanların çoğunun ilk karşılaştığı şey sözdizimi hatasıdır. Kaynak kodu çalıştırmanın iki yolunun nasıl ayrıldığını görmek için önce derleyicinin ne olduğunu, sonra derleyici ve yorumlayıcı farkını oku. Kendi kaynak kodunu tarayıcıda Python playground içinde yazıp çalıştırabilir ya da Python kursuna başlayabilirsin.
Sıkça Sorulan Sorular
Kaynak koda örnek nedir?
app.py gibi bir Python betiği, main.c gibi bir C dosyası ya da bir web sayfasındaki JavaScript. Bir .py dosyasına kaydedilmiş print("Hello") gibi tek bir satır bile sayılır. Firefox ya da Linux gibi programlar milyonlarca satır kaynak koddan oluşur.Kod ile kaynak kod arasındaki fark nedir?
Bir programın kaynak kodunu nasıl elde ederim?
HTML kaynak kod mudur?
.html dosyaları bir web sayfasının kaynağıdır ve tarayıcılar bu görünüme "Sayfa kaynağını görüntüle" der. Aynısı CSS dosyaları ve bir sayfanın yüklediği JavaScript dosyaları için de geçerlidir.