
B1 — Programlamanın Doğuşu: İnsanlık Neden Bir Dile İhtiyaç Duydu?
Bu bölümün temel sorusu: Bilgisayarlar zaten hesap yapabiliyor. Öyleyse "programlama dili" diye ayrı bir şeye neden ihtiyaç duyduk?🎯 Bölümün Öğrenme Hedefleri
Bu bölümün sonunda öğrenci;- bilgisayarların aslında ne anladığını ve bir "dile" neden ihtiyaç duyduğumuzu,
- Python'un hangi problemi çözmek için tasarlandığını,
- yorumlanan (interpreted) dil ile derlenen (compiled) dil arasındaki farkı,
- print() fonksiyonunun aslında ne yaptığını,
- string, sayı ve yorum satırı kavramlarının neden birbirinden ayrıldığını,
- Python'un büyük/küçük harfe neden duyarlı olduğunu,
- Python'un diğer dillerle nasıl bir ilişki içinde olduğunu
1.1. Her Şey Bir Sorunla Başladı
Programlamayı anlamanın en kötü yollarından biri, konuya doğrudan print("Merhaba Dünya") yazdırarak başlamaktır. Bu kod doğrudur, çalışır — ama neden böyle bir şeye ihtiyaç duyduğumuzu bilmeden ezberlemek, kalıcı bir öğrenme sağlamaz.Şimdilik kodu bir kenara bırakalım. Binlerce yıl değil ama seksen yıl geriye gidelim. 1940'lı yıllarda ilk bilgisayarlar üretildiğinde, bu makineler yalnızca bir şeyden anlıyordu: elektrik akımının açık ya da kapalı olması. Yani 0 ve 1.
Bir insanın bilgisayara "şu iki sayıyı topla" demesi gerekiyorsa, bunu doğrudan 0'lar ve 1'lerden oluşan uzun bir dizi olarak yazması gerekiyordu:
Kod:
01100001 01100100 01100100Bu, tıpkı düzgün olmayan bir bölgenin alanını klasik geometri formülleriyle hesaplayamamak gibi bir sorundu — elimizdeki araç (makine dili), çözmek istediğimiz probleme (insanın düşünme biçimine) uymuyordu.
1.2. Büyük Fikir: Anlaşılmazı, Anlaşılabilir Katmanlara Böl
Karşımızdaki sorunu doğrudan çözemiyoruz. İnsan beyni 0-1 dizileriyle düşünemez bir makine değil ama güçlü bir fikir kullanabilir: makine ile insan arasına bir çevirmen katmanı koymak!Önce Assembly dili ortaya çıktı ve 0-1 yerine kısa İngilizce kısaltmalar kullanmayı sağladı (MOV, ADD gibi). Sonra C gibi diller ortaya çıktı insan mantığına daha da yakın. Sonra da Python gibi diller geldi ve neredeyse düz İngilizce cümleye yakın okunabiliyor.
Her katman, bir öncekinin üzerine inşa edildi. Tıpkı dikdörtgenleri küçülterek eğri bir alana yaklaşmak gibi. Her yeni dil katmanı, insan ile makine arasındaki mesafeyi biraz daha kapattı.
1.3. Peki Python Nereden Çıktı?
1991'de Guido van Rossum adında bir programcı, elindeki dillerin (özellikle C) çok fazla teknik detayla uğraştırdığından rahatsızdı. Kodun okunabilir olmasının, hızlı yazılabilir olmasından çoğu zaman daha değerli olduğunu düşünüyordu. Bu nedenle Python'u tasarlarken şu felsefeyi benimsedi: "Kodun nasıl göründüğü önemlidir; kodu ilk yazan sen değil, altı ay sonra o kodu okuyan biri (belki yine sen) olacak."Bu felsefe yüzünden Python bugün:
- Yeni başlayanlar için en kolay öğrenilen dillerden biridir
- Yapay zeka / veri biliminde endüstri standardı hâline gelmiştir (pandas, numpy, tensorflow)
- Web geliştirme, otomasyon, oyun geliştirme, siber güvenlik gibi hemen her alanda kullanılır
1.4. Yorumlanan Dil Ne Demek? (Arka Planda Ne Oluyor)
Az önce dediğimiz gibi bilgisayar hâlâ sadece 0 ve 1'lerden anlıyor. Peki Python kodun bu 0-1'lere nasıl dönüşüyor? İki yaklaşım var:- Derlenen (compiled) diller (C, C++ gibi): Kodun tamamı önce baştan sona makine diline çevrilir (buna "derleme" denir), sonra çalıştırılır. Yani önce bütün tarifi Türkçe'den bir dile çevirip kitap hâline getiriyorsun, sonra o kitabı kullanıyorsun.
- Yorumlanan (interpreted) diller (Python gibi): Bir yorumlayıcı (interpreter) kodu satır satır okur, anlık olarak çevirir ve hemen çalıştırır. Yani bir tercüman yanında duruyor, sen konuştukça o anında çeviriyor.
1.5. “Program” Aslında Bir Tarif Kitabıdır
Bir program, bilgisayara adım adım ne yapması gerektiğini söyleyen bir talimatlar dizisidir tıpkı bir yemek tarifi gibi. Python kodu yukarıdan aşağıya, satır satır çalışır. Bir satırda hata varsa, Python o satıra gelene kadar önceki satırları çalıştırır, sonra hatayı verip durur tıpkı bir tarifte 3. adımdaki malzeme eksikse, ilk iki adımı yapıp orada takılmak gibi.
1.6. İlk Talimat: print() Fonksiyonu
Şimdi elimizdeki en basit ama en temel talimata bakalım yani bilgisayara “şunu ekrana yaz” demek:Kod:
print("Merhaba Dünya")Kaynak Kod
Kod:
print("Merhaba") # metin
print(42) # sayı
print(3.14) # ondalıklı sayı
print(True) # mantıksal değerÇıktı
Merhaba
42
3.14
True
1.7. Neden Bazı Şeyler Tırnak İçinde, Bazıları Değil?
Burada yeni başlayanların en çok kafasını karıştıran noktalardan birine geliyoruz.Kod:
print("Merhaba") # bu çalışır
print(Merhaba) # HATA!DİKKAT
Python, tırnak içindeki her şeyi olduğu gibi bir “yazı” (string) olarak kabul eder sorgulamaz, olduğu gibi yazdırır. Tırnaksız yazılan her şeyi ise bir isim (değişken, fonksiyon, vb.) sanır ve “bu isimde tanımlanmış bir şey var mı?” diye arar. Merhaba diye bir şey tanımlamadığımız için Python onu bulamaz ve hata verir.
Bu ayrım o kadar temeldir ki, ilerleyen tüm bölümlerde (değişkenler, veri tipleri, fonksiyonlar) sürekli karşımıza çıkacak. Tek tırnak ('...') ile çift tırnak ("...") Python’da aynı işi görür:
Kaynak kod
Kod:
print('Merhaba')
print("Merhaba")Çıktı
Merhaba
Merhaba
1.8. Birden Fazla Değeri Aynı Anda Yazdırmak
Kaynak kod
Kod:
print("Yaşım:", 25)Çıktı
Yaşım: 25
Python, virgülle ayrılan öğelerin arasına otomatik olarak bir boşluk koyar.
1.9. Basit Matematik İşlemleri
Kaynak kod
Kod:
print(3 + 2) # 5
print(10 - 4) # 6
print(6 * 7) # 42
print(15 / 4) # 3.75 (bölme her zaman ondalıklı sonuç verir)Çıktı
5
6
42
3.75
1.10. Yorum Satırları, Kod İçinde Varlar Ama Ekranda Yok
Kaynak kod
Kod:
# Bu bir yorum satırıdır, Python bunu çalıştırmaz
print("Sadece bu yazı görünür")Çıktı
Sadece bu yazı görünür
# işaretinden sonraki her şey Python tarafından tamamen görmezden gelinir yani ekranda çıktı olarak görünmez.
Peki bu neden önemli? Çünkü altı ay sonra kendi kodun bile sana yabancı gelebilir. Yorumlar, gelecekteki sana (ya da kodunu okuyacak başka birine) bir not bırakmanın yoludur.
1.11. Python Büyük/Küçük Harfe Duyarlı mı?
Evet, kesinlikle duyarlı (case-sensitive). isim, Isim ve ISIM Python için üç farklı isimdir. Yani birbirinden farklı üç kişi veya üç elaman.Kaynak kod
Kod:
isim = "Ahmet"
print(Isim) # HATA! "Isim" diye bir değişken tanımlamadın, "isim" tanımladınÇıktı
null
Kaynak kod
Kod:
print("Merhaba") # doğru
Print("Merhaba") # HATA!Çıktı
Merhaba
null
BİLGİ
🤔 Neden Böyle Tasarlanmış?
Bazı diller (SQL gibi) büyük/küçük harfe duyarsızdır. Python'un duyarlı olmasının nedeni, dilin tutarlılığı ve netliği önceliklendirmesidir. kullanici A di ve kullanici a di görsel olarak iki farklı şeymiş gibi ayırt edilebilsin istenmiştir. Bunun bedeli, başlangıçta en sık yapılan hatalardan birinin bu olmasıdır.
Bazı diller (SQL gibi) büyük/küçük harfe duyarsızdır. Python'un duyarlı olmasının nedeni, dilin tutarlılığı ve netliği önceliklendirmesidir. kullanici A di ve kullanici a di görsel olarak iki farklı şeymiş gibi ayırt edilebilsin istenmiştir. Bunun bedeli, başlangıçta en sık yapılan hatalardan birinin bu olmasıdır.
1.12. Python Başka Bir Dilin İçinde Kullanılır mı?
Evet, birkaç şekilde:- Python, C ile iç içedir: Python'un standart yorumlayıcısı (CPython) aslında C dilinde yazılmıştır. Performans kritik yerlerde C kodu yazıp Python'a bağlamak mümkündür (ctypes, Cython).
- Farklı platformlarda çalışan versiyonlar var: Jython (Java sanal makinesinde çalışır), IronPython (.NET ortamında çalışır)
- Uygulama içine gömülü Python: Blender gibi bazı programlar, kullanıcıların uygulamayı Python scriptleriyle özelleştirmesine izin verir
- Diğer dillerle haberleşme: Bir web sitesinin ön yüzü JavaScript ile yazılmış olsa bile, arka planda (backend) Python çalışabilir ve ikisi API üzerinden konuşabilir
⚠️ Kavram Yanılgıları
❌ Yanlış düşünce: "Python sadece yeni başlayanlar için basit bir dildir, gerçek işler C/Java gibi dillerle yapılır."✅ Doğru düşünce: Python, okunabilirliği önceliklendirdiği için öğrenmesi kolaydır ama Instagram, YouTube'un bir kısmı, NASA'nın bazı sistemleri ve modern yapay zeka altyapısının neredeyse tamamı Python ile yazılmıştır. "Kolay öğrenilir" ile "güçsüz" aynı şey değildir.
❌ Yanlış düşünce: "Tırnak işareti sadece görsel bir ayrıntıdır, olsa da olur olmasa da."
✅ Doğru düşünce: Tırnak, Python'a bir ifadenin "sabit bir metin" mi yoksa "bir isim/işlem" mi olduğunu söyleyen temel bir sinyaldir. Bu ayrımı atlarsan, ilerleyen bölümlerde (özellikle değişkenler ve string işlemlerinde) sürekli hata alırsın.
👨🏫 Öğretmen Notu
Yeni başlayan birine programlama anlatılırken doğrudan sözdizimi kurallarına (syntax) geçilmesi önerilmez. Önce şu bilişsel çatışma oluşturulmalı:- Öğrenci bilgisayarın sadece 0-1 anladığını duyar, şaşırır.
- "Peki ben nasıl İngilizce/Türkçeye yakın bir şey yazıp bilgisayara anlatabiliyorum?" sorusu ortaya çıkar.
- Programlama dilinin bir "çevirmen katmanı" olduğu fikri verilir.
- Ancak bu noktada ilk somut komuta (print()) geçilir.
- Sözdizimi kuralları (tırnak, büyük/küçük harf duyarlılığı) tek tek, "neden böyle" sorusuyla birlikte verilir.
📌 Bu Bölümden Çıkarılacak En Önemli Sonuç
Programlama dilleri bir formülle başlamadı. İnsan ile makine arasındaki dev mesafeyi kapatma ihtiyacından doğdu. Python, bu mesafeyi "okunabilirliği" merkeze koyarak kapatan bir dildir. print() gibi basit görünen bir komutun arkasında bile, aslında koca bir felsefe yatıyor: kod, insan tarafından kolayca okunabilmeli.📝 Bölümün Kısa Özeti
Bilgisayarlar yalnızca 0 ve 1'den anlar; programlama dilleri bu makine dilini insan mantığına yaklaştıran katmanlardır. Python, okunabilirliği önceliklendirerek tasarlanmış, yorumlanan (satır satır çalıştırılan) bir dildir. print() fonksiyonu ekrana veri yazdırır; tırnak içindeki ifadeler metin (string), tırnaksız ifadeler ise isim veya işlem olarak değerlendirilir. Python büyük/küçük harfe duyarlıdır ve C, Java, .NET gibi diğer dillerle çeşitli şekillerde etkileşime girebilir.|
Bu metnin taslağı yazar tarafından kaleme alınmış, dil bilgisi ve akıcılık düzenlemeleri Gemini ve Grok iş birliğiyle tamamlanarak siz kıymetli okuyucularımızın beğenisine sunulmuştur. |
![]() DİKKAT |
Python'a Sıfırdan Giriş (Python 1.Ders)

