Kodlama Nedir?
“Herkes bilgisayar programlamayı öğrenmeli, çünkü bu size nasıl düşüneceğinizi öğretir.”
— STEVE JOBS
Tamam, itiraf etmeliyim: Ben o “düşünmeden atlayan” tiplerden değilim. Kendini adamış bir atlayıcıyım. Öğrendiğim hemen hemen her yeni şeyde felsefem, en iyi şeyi yaparken öğrendiğimdir. Genellikle hemen dalarım, ellerimi kirletirim, hatalar yaparım, onları düzeltirim ve çok geçmeden bu yeni hobi veya beceriye dair bir his geliştiririm.
Ancak, bunu öğrendiğim hemen hemen her yeni şey için yaptığımı söylediğime dikkat edin. Kodlamayla ilgili bir şey öğrenirken bunu yapmam. Neden mi? “Hemen dalmak,” kodlamayı öğrenmek için berbat bir stratejidir, çünkü yaptığınız hatalar size hiçbir şey öğretmeyen aptalca hatalardır (öğrenebileceğiniz akıllı hataların aksine). Kodla ilgili herhangi bir şeyi öğrenmeye gelince, her zaman temellerle başlamak ve yavaşça ve istikrarlı bir şekilde yeterliliğe, sonra yetkinliğe ve sonra ustalığa doğru ilerlemek en iyisidir.
Bu bölüm, kodlamaya “düşünmeden atlamadan önceki” girişinizdir. Burada kodlamanın ne olduğunu ve nasıl çalıştığını keşfedeceksiniz. Kodlamayı öğrenmenin iyi olmasının sayısız nedenini keşfedecek ve kodlamanın gerçek dünyadaki oldukça fazla kullanımını araştıracaksınız.
Programlama: Bir Bilgisayara İstediklerinizi Yaptırmak
Bilgisayar, talimatları takip eden bir makinedir. Ya da daha açık bir ifadeyle, bir bilgisayar, birisi veya bir şey ona ne yapacağını söyleyene kadar hiçbir şey yapmayan bir makinedir. Bu şaşırtıcı gelebilir. Sonuçta, bilgisayarlar yüzlerce, bazen binlerce dolara mal oluyor ve içleri elektronik cihazlarla dolup taşıyor. Bu kadar pahalı ve bu kadar karmaşık bir şeyin kendi başına bazı faydalı görevleri yerine getirme yeteneğine sahip olması gerekmez mi?
Hayır.
Elbette, yeni bir bilgisayarı ilk kez açtığınızda ekranda bazı hiyeroglifler belirir ve sonunda Windows’ta, macOS’ta veya başka bir masaüstünde kendinizi bulursunuz. Bu sözde önyükleme sürecinin, bilgisayarın kendi başına bir şeyler yaptığı anlamına gelmez mi?
Yine hayır.
Bir bilgisayarı açtığınızda, donanımı (klavye, fare, ekran vb.) çalışır duruma getirmek ve işletim sistemini (Windows veya macOS veya her neyse) yüklemek için ne yapması gerektiğini söyleyen bir dizi talimatı otomatik olarak yükler. Bu talimatlar kümesi, bilgisayar donanımına gömülü özel bir program türü olan ürün yazılımı (firmware) olarak bilinir. Ürün yazılımı işini tamamladığında, işletim sistemini yükleyen önyükleyiciyi (bootloader) çağırır.
Peki, bunların hepsi iyi, ama ürün yazılımı ve önyükleyici nereden geldi? Sorduğunuza sevindim, çünkü nihayet tüm bunların asıl noktasına gelebilirim: Birisi onları kodladı.
Bilgisayar donanımı ve sistem yazılımının ezoterik konularına hakim çok zeki bir kişi ürün yazılımını programladı ve en az onun kadar zeki başka bir kişi önyükleyiciyi kodladı. Öyleyse, kendimi tekrar edeyim: Bilgisayarlar, birisi veya bir şey onlara ne yapacaklarını söylemedikçe hiçbir şey yapamazlar. Ve bir bilgisayara ne yapacağını söyleme yolu da kod aracılığıyladır.
Ürün yazılımı veya önyükleyici kodlamak son derece karmaşıktır ve yıllarca çalışma gerektirir. Neyse ki, bu kitapta bu karmaşıklık seviyesine yaklaşmayacaksınız. Oh, ne rahatlık! Ancak burada öğrendiğiniz her şey, bu bölümün genel temasının bir varyasyonu olacaktır: bir bilgisayara kod kullanarak ne yapmasını istediğinizi söylemek.
Kodlamanın Temelleri
Bir bilgisayara istediğiniz her şeyi yaptırmaktan mı bahsediyorum? Maalesef hayır, her ne kadar bu çok faydalı olsa da! Kod yazdığınızda, iş için size bir dizi araç verilir; çalıştığınız araçlar kullandığınız dile göre değişir. Bu kitapta daha sonra tartışacağım gibi, Python ile elde ettiğiniz araçlar (Bölüm 2’ye bakın) JavaScript ile elde ettiğiniz araçlardan (Bölüm 3’e göz atın) çok farklıdır. Bir benzetme olarak, bir marangozun alet kutusu mu yoksa bir dikiş seti mi elinizde olduğuna bağlı olarak üstleneceğiniz ev projelerinin türleri çok farklı olacaktır.
Ancak nasıl kod yazarsanız yazın — elinizde hangi programlama araçları olursa olsun — hemen hemen her zaman aşağıdaki şeylerden birini (veya bazen her ikisini) yapıyorsunuzdur:
- Bir sorunu çözmek: Bir kod parçasının yazılmasının en yaygın nedenlerinden biri, kodlayıcının hayatında bir sorun veya verimsizlik yaşaması ve hayatını kolaylaştırmak veya daha akıcı hale getirmek için kodu kullanmanın bir yolunu görmesidir.
- Yeni bir şey yaratmak: Kodlamaya başlamanın bir diğer yaygın nedeni de harika bir fikre sahip olmanız ve o fikri hayata geçirmekten başka hiçbir şey istememenizdir.
Kodlama kariyerinizde ne üzerinde çalışırsanız çalışın, hemen hemen her zaman bu şeylerden birini (veya her ikisini) yaparsınız — sorunları çözmek, yeni şeyler yaratmak veya hem yeni hem de geliştirilmiş bir şey yapmak için ikisini birleştirmek.
Çeviri: Coding for Dummies – McFedries
