TEMEL PROGRAMLAMA NEDİR?

Üç değişken kutusu x y z etiketli yan yana programlama temel kavram metaforu

Bir bilgisayara ne yapacağını nasıl anlatırsınız? Ekranda "Merhaba" yazdırmak ile bir hesap makinesi kurmak arasındaki fark, aslında birkaç temel kavramın birleşmesinden ibarettir. Programlamaya yeni başlayan biri için ilk engel sözdizimi değil, makinenin nasıl "düşündüğünü" kavrayabilmektir. Değişkenler, ifadeler ve kontrol akışı — bu üç yapı taşı oturduğunda hangi dili öğrenirseniz öğrenin temelde aynı mantığı kuruyor olursunuz.

Programlama Aslında Ne Yapar?

Programlama, bir problemi makinenin anlayabileceği adımlara bölmektir. Bir kahve tarifi gibi düşünün: malzemeleri hazırla, suyu kaynat, kahveyi ekle, karıştır. Bilgisayar bu adımları sırayla, koşullu olarak ya da tekrarlayarak çalıştırır. Yazılan kod yalnızca bir talimat listesi değil; veriyi tutan, dönüştüren ve karara bağlayan bir sistemdir.

Yeni başlayan biri için kafa karıştırıcı olan kısım, kodun "doğru cümle" yazmaktan ibaret olmaması. Sözdizimi (syntax) dilin grameridir, ama asıl iş semantikte — yani neyin ne anlama geldiğindedir. Bu yüzden Python öğrenip JavaScript'e geçmek, İngilizce bilen birinin Almanca'ya geçmesinden daha kolaydır: yapı taşları aynıdır. Konunun ayrıntılarına inmek isteyenler konunun temel referansı üzerinden ek bilgi edinebilir.

Değişkenler: Verinin Tutulduğu Yer

Değişken, bir değeri saklamak için kullanılan adlandırılmış bir kutudur. yas = 30 dediğinizde, bellekte "yas" etiketli bir alan açılır ve içine 30 yazılır. Sonradan yas = 31 yazarsanız değer güncellenir. Bu basit fikir, programların durum (state) tutmasını mümkün kılar.

Değişkenlerin tipi vardır ve bu tip ne tür işlemler yapabileceğinizi belirler:

  • Sayı (int, float): 42, 3.14 — aritmetik işlemlere girer.
  • Metin (string): "Ali", "Merhaba dünya" — birleştirilir, parçalanır.
  • Mantıksal (bool): True veya False — koşulların temelidir.
  • Liste / dizi: [1, 2, 3] — birden fazla değeri bir arada tutar.

İyi isimlendirme, kodun okunabilirliğinin yarısıdır. x yerine kullaniciYasi yazmak, üç ay sonra koda dönen kişiye (çoğu zaman size) büyük iyilik yapar.

İfadeler ve Operatörler

x kutusuna 10 atanması ifade değerlendirme x artı 5 sonuç oku ile değişken atama mantığı

İfade (expression), bir değer üreten her şeydir. 2 + 3 bir ifadedir, sonucu 5'tir. yas > 18 da bir ifadedir, sonucu True ya da False'tur. Programlar, ifadeleri değerlendirip sonuçlarına göre hareket eder.

Sık kullanılan operatör grupları:

  • Aritmetik: +, -, *, /, % (modülo — kalan bulma)
  • Karşılaştırma: ==, !=, <, >, <=, >=
  • Mantıksal: and, or, not (bazı dillerde &&, ||, !)
  • Atama: =, +=, -=, *=

Burada başlangıçta en sık yapılan hata = ile == karıştırmaktır. Tek eşittir atama yapar, çift eşittir karşılaştırır. if (yas = 18) yazmak çoğu dilde sessiz bir buga yol açar.

Kontrol Akışı: Kararlar ve Tekrarlar

Kod yukarıdan aşağıya satır satır çalışır, ama gerçek programlar bu kadar düz değildir. Bazen bir koşula göre dallanmak, bazen aynı işi defalarca tekrar etmek gerekir. Kontrol akışı yapıları bunu sağlar.

Koşullar: if / else

En temel karar yapısı:

  • if: Koşul doğruysa içerideki blok çalışır.
  • else if / elif: İlk koşul yanlışsa ikinci koşulu dener.
  • else: Hiçbir koşul tutmazsa varsayılan blok çalışır.

Örneğin if yas >= 18: print("Yetişkin") satırı, yas değişkeninin değerine göre farklı yollar açar. Koşullar iç içe geçebilir, ama derinleştikçe okunabilirlik düşer; üçten fazla iç içe if görüyorsanız genellikle yapıyı yeniden düşünmek gerekir.

Döngüler: for ve while

Tekrarlayan işler için iki ana yapı vardır. for belirli bir koleksiyon üzerinde gezer: bir listedeki her isim için selamlama bas. while ise bir koşul doğru olduğu sürece döner: kullanıcı "çık" yazana kadar girdi al. While döngüsünde koşulun bir noktada yanlışlaşmasını sağlamazsanız sonsuz döngüye düşersiniz — bu, başlangıçta herkesin yaşadığı bir derstir.

Fonksiyonlar: Tekrarı Önleyen Yapı

If else karar elması iki dallı akış ile dairesel döngü oku üç adımlı kontrol akışı diyagramı

Aynı kod parçasını birden fazla yerde kullanıyorsanız onu bir fonksiyona koymak gerekir. Fonksiyon, isim verilmiş bir kod bloğudur; parametre alır, iş yapar, isteğe bağlı olarak değer döndürür. def topla(a, b): return a + b tanımıyla, sonradan topla(3, 5) diyerek aynı işi tek satırda yapabilirsiniz.

Fonksiyon yazmanın temel kuralı: bir fonksiyon tek bir iş yapsın. "Hem dosyayı oku hem hesapla hem yazdır" yapan bir fonksiyon, ileride değiştirmesi zor bir yumağa dönüşür.

Hangi Dilden Başlamalı?

Yeni başlayanlar için Python, sözdizimi sadeliği ve geniş topluluk desteği nedeniyle yaygın bir tercihtir. JavaScript, tarayıcıda anında sonuç görmek isteyenler için cazip bir alternatiftir. Hangi dili seçerseniz seçin, ilk hedef sözdizimini ezberlemek değil — yukarıdaki kavramların kafanızda otursun. Bu kavramlar yerli yerine oturduğunda ikinci dil çok daha hızlı gelir.

Konuyu yapılandırılmış bir şekilde takip etmek isteyenler temel programlama eğitim içeriği üzerinden ilerleyebilir; değişken, ifade ve kontrol akışı pratikleri burada uygulamalı olarak işlenir.

Sık Yapılan Başlangıç Hataları

İlk haftalarda kodun çalışmaması demoralize edici olabilir. Çoğu zaman sorun büyük değildir:

  1. Girinti (indentation) hatası — özellikle Python'da blokları belirleyen şey budur.
  2. Eksik iki nokta üst üste, parantez veya tırnak.
  3. Değişken adını yanlış yazmak (yas vs yaş).
  4. Tip karışıklığı: "5" + 3 birçok dilde hata verir, çünkü biri metin biri sayıdır.
  5. Sonsuz döngü: while koşulunun güncellenmemesi.

Hata mesajlarını okumak, çoğu yeni başlayanın atladığı en değerli alışkanlıktır. Mesaj genellikle hangi satırda neyin yanlış gittiğini açıkça söyler — Türkçeye değil, satır numarasına ve hatanın türüne odaklanın.

Programlamayı öğrenmek, yeni bir düşünme biçimi edinmektir. Değişken tutmak, koşul kurmak, döngüyle tekrarlamak ve fonksiyonla soyutlamak — bu dört temel araçla başladığınız her şey, ileride yazacağınız en karmaşık sistemlerin de temelini oluşturur.