C Bilen Python’u Neden Başka Görür? Zihnin Gizli Derleyicisi

Bir programlama dilini öğrenmek, yalnızca yeni komutlar ezberlemek değildir; zihne yeni bir gözlük takmaktır. C öğrenmiş biri Python’a geçtiğinde, çoğu zaman sadece farklı bir söz dizimiyle karşılaşmaz. Belleğin, türlerin, döngülerin, fonksiyonların ve hataların dünyasına dair eski alışkanlıklarıyla yeni bir ülkeye göç eder. Bavulunda işaretçiler, derleme hataları, noktalı virgüller ve karakter dizilerinin sert disiplini vardır. Python ise kapıda terlikle karşılar: Rahat ol, der, burada girintiler konuşur.

İşte öğrenme transferi tam bu noktada sahneye çıkar. Önceden öğrenilmiş bir bilginin, yeni bir öğrenme alanını etkilemesine transfer diyoruz. Bu etki iki türlü olabilir: olumlu ya da olumsuz. C’de değişkenlerin tipini açıkça belirtmeye alışmış birinin Python’da veri türlerini daha dikkatli düşünmesi olumlu transferdir. Aynı kişinin her şeyi düşük seviyeli bellek mantığıyla çözmeye çalışıp Python’un hazır soyutlamalarını görmezden gelmesi ise olumsuz transfer olabilir. Yani eski bilgi bazen pusula, bazen de pranga olur.

Python Rahat Koltuksa, C Neden Hâlâ Motor Odasında Terletiyor?

Programlama dilleri arasında hız tartışması çoğu zaman bir pist yarışına benzetilir: Python ağır adımlarla yürüyen zeki bir profesör, C ise yağ lekeleri içinde çalışan, homurdanan ama inanılmaz hızlı bir mekanik canavar. Bu benzetme komiktir ama eksiktir. Çünkü mesele yalnızca kimin daha hızlı koştuğu değildir; kimin neyi, hangi bedelle, hangi bilinç düzeyinde yaptığıdır. Python ile C arasındaki fark, aslında insanın konfor arzusu ile gerçekliğin çıplak maliyetleri arasındaki kadim pazarlığın bilgisayar ekranına düşmüş gölgesidir.

Python: Düşüncenin Hızlı Prototipi

Python’un büyüsü, işlemciden çok insan beynini hızlandırmasındadır. Bir fikri dakikalar içinde koda dökebilirsiniz. Dosya okuyabilir, veri işleyebilir, grafik çizebilir, yapay zekâ modeli kurabilir, web servisi ayağa kaldırabilirsiniz. Üstelik noktalı virgül ayini yapmadan, bellek yönetiminin karanlık koridorlarında kaybolmadan. Python, programcıya şunu fısıldar: “Sen problemi düşün, ben ayrıntıların bir kısmını hallederim.”

Çalışan Kod Yetmez: Python’da Okunabilirlik Neden Bir Nezaket Meselesidir?

Bir kod parçasının çalışması, onun iyi olduğu anlamına gelmez. Bu cümle ilk bakışta haksız gibi durabilir; sonuçta bilgisayar ekranda beklenen çıktıyı veriyorsa mesele kapanmış sayılmaz mı? Hayır. Çünkü kod yalnızca makineye yazılmaz. Kod, gelecekte onu okuyacak insana da yazılır: ekip arkadaşına, stajyere, açık kaynak katkıcısına ve en önemlisi, altı ay sonra o satırlara boş gözlerle bakacak olan sana.

Python bu konuda özel bir dile sahiptir. Sözdizimi sade, girintiler anlamlı, standart kütüphanesi zengindir. Fakat Python’ın asıl gücü sadece teknik olanaklarında değil, kültüründedir. Python topluluğunun meşhur ilkelerinden biri şudur: okunabilirlik önemlidir. Bu ilke, basit bir stil önerisi değil, yazılım dünyasında ahlaki bir pusuladır. Çünkü okunamayan kod, başkasının zamanını izinsizce harcar.

SonsuzUs Programlama

SonsuzUs programlama sitemiz SonsuzUs Github üzerinden yayın yapmaktadır. Sitemizde python, c, c++ gibi popüler dillerin yanı sıra hiç bilinmeyen diller de vardır. Geneli algoritma ve programlama teknikleri olan sitemizde örneğin python karışık listeleri tek düz liste yapma gibi teknik konular da içermektedir.

Ayrıca github hesabına sahipseniz her yazı ile etkileşim içinde olabilir ve yorum yazabilirsiniz.

Python programlama ile para sorusu

Sorumuz şu: Bir adam elindeki çeki bozdurmak için bankaya gitti. Fakat veznedar bir yanlışlık yaptı ve çekin üzerinde yazılı liralar yerine kuruş ve kuruşlar yerine de lira vererek çeki ödedi. Adam da dikkat etmeden paraları cebine koydu. Eve giderken paranın 5 kuruşunu düşürdü. Bu vesile ile parasını saydı ve cebinde çekin değerinin tam iki katı parası olduğunun farkına vardı. Çekin üzerinde yazılı olan miktar ne kadardı? *

Programımız oldukça basit, lira ve kuruşu 100 lük döngülere sokuyoruz ve formülü deniyoruz.

for lira in range(100):
    for kurus in range(100):
        if lira + kurus / 100 == 0:  continue
        if (kurus + (lira - 5) / 100) / (lira + kurus / 100) == 2:
            print(f"Çekin üzerinde yazan miktar: {lira}.{kurus}")
            break

continue kullanmamızın sebebi sıfıra bölünme hatasından kaçmak içindir.