Yazılım

Programlama Dilleri Hayal Gücü ve Yaratıcılık

Programlama Dili 

Programlama dilleri. Şöyle bakıldığı zaman çok geniş, ucu bucağı olmayan bir evreni düşünün. Fakat ucu olmayan dediysek, bunun sınırını sizin hayal gücünüz belirliyor. Yani ne kadar uçuk düşünüyorsanız, evreniniz genişliyor. Düşünüyorsunuz ve evreniniz büyüyor. İşte tam bunu diyebiliriz. Programlama dediğimiz zaman genellikle akla gelen ilk durum “2 değişken ata, ekrana çıktı ver, programı bitir” oluyor. Peki, elinize bir kalem alın, bir kağıdın üzerine birkaç adet kutu çizin ve resminizi bitirin. Çizebileceğiniz şeyler bitti mi? Ya da sınırlı mı? Programlama dilleri elinize bir kalem veriyor ve gerisini size bırakıyor.

Ülkemizde maalesef bu konudaki durum üzücü. Çünkü verilen dersler de hiçbir zaman hayal kavramından bahsedilmiyor ve sadece konu anlatılıp geçiliyor. Nerde kullanacağım bunu? Neler yapabilirim bu öğrendiklerimle? Ne kodlayıp, hangi programları çıkartabilirim? Öğretici dışında bu sorulara cevap vermek size düşüyor. Bir integer değişkeni alıp, üstünde gezinmedikten, çıktı kodları ile ekranda resim çizmedikten, dönüştürmeleri istediğimiz kısımlara yapmadıktan sonra programlamadan keyif almanız neredeyse imkansızdır. C#, Java, Python gibi örnek vereceğimiz  bu dilleri oturun ve sadece hesap makinesi yaparak öğrenin. Sonuçlarına bakın. Hiç yorulmanıza gerek yok kocaman bir sıfırı önünüze koymuşsunuz demektir. Çünkü öğretmeninizin size gösterdiği kodları alıp yazdınız ya da defterinize ezber tutarak ilerlediniz. Ezber, bizim işte geçemediğimiz, anlatamadığımız tek sorunumuz.

Ezberlemek, yeni bir konuşma dili öğrendiğimiz zaman kelimeleri akılda tutmak, bir matematiksel formülü kafamıza kodlamak alanlarında işe yarayabilir ama nereye kadar. Ezber, size sadece formülü ya da kelimeyi verir. Bir türev formülünü ezberleyin fakat nerede kullanacağınızı bilmedikten sonra, yine elde var kocaman bir sıfır. Printf komutunu ekrana çıktı verir olarak ezberledik. Peki bunun bir fonksiyon olduğunu biliyor muyduk? Hatta printf komutları parametre alan, bu parametrelerin de ekrana yazmasını istediğimiz şeyler olduğunu biliyor muyduk? Bir integer değişkeninin aldığı sınırların RAM’in durumuna göre belirlendiğini? C dilinde, RAM’in herhangi bir adresinde ne yazdığını görebiliyoruz desek?

Programlama evreni, herkesin basit olarak girebileceği, ilerleyebileceği fakat bir süre sonra adım bile atamayacağı noktaya gelen bir evren. Uzun, geniş ve serüvenli. Hevesiniz yoksa yarıda bırakırsınız. Ya da bir integer-float dönüşümü yapmanız gereken yerde onu göremezsiniz. Bir döngüyü kesmeniz gerekiyor, ama göremiyorsunuz. “Sorun nerde?” diyerek belki de programı en baştan kodluyorsunuz. Bizim yapımızda şu sorun var  gibi;

“Eğer sorun varsa, en başta hata vardır.”

Programı alıyorsunuz, baştan sona inceliyor hatanın en son satırda mantıksal olduğunu görüyorsunuz. “Ne alaka derleyiciler hata vermiyor mu?” Bilgisayarları çok büyük gördük sanırım. Bir sayı  sıfıra bölünemez, ama bunu kodlayabilirsiniz. Çalışmaz evet ama bunu çalıştıktan sonra fark edersiniz ve belki de bilgisayar “Dostum bir yerlerde mantıksal hata var” diyecektir ve size bırakacaktır. Umarım bazı arkadaşların “hataları zaten bilgisayar veriyor, düzelt geç” sözünü çürütmüşüzdür.

Bilgisayar ekranına kapılmışsınız, 10-20 bin satır kodun arasında sıkışıp kalmışsınız. Hatalar içinde boğuluyor fakat çözdüğünüz zaman ortalık bayram havası. Gidip çay koyun kendinize ve aramıza gelin. Ama lütfen hayal gücünüzü yanınıza almayı unutmayın. Hesap makinesi yapan çok, bize bu hesap makinesini renklendirecek kişiler lazım. C#, Java, Python ne seçersen seç. Onu yanına dost gibi al ve aramıza gel sevgili arkadaşım.