C programlama dilini öğrenme sürecimde yaşadığım en büyük sıkıntı, internette herkesin sanki yeni bir programlama dili öğrenen kimse yokmuş da herkes tüm programlama dillerine hâkimmiş gibi davranması ve yeni başlayanlara yönelik pek fazla tatmin edici içerik bulunmamasıydı. Ben ise her karşılaştığım soruna, her gördüğüm eksikliğe “keşke böyle değil de şöyle olsaydı..” demekle yetiniyordum sadece. Ancak belli bir bilgi seviyesine geldikten sonra “Niye ben kendime göre daha iyisini yapmıyorum?” düşüncesiyle böyle bir işe başlama kararı aldım.
C programlama üzerine konuşurken yer yer konu anlatacağım, yer yer programlamadan ve algoritma kurmadan bahsedeceğim ve hepsinden önemlisi bol bol örnek çözeceğim bir yazı dizisi oluşturmayı planlıyorum.
Çünkü ben, öğrenme sürecimde proje geliştirmenin faydasını çok gördüm ve her hangi bir programlama dili öğrenirken, öğrenciye en çok yardımcı olan unsurun proje geliştirmek olduğunu düşünüyorum. Proje geliştirmekten kastım oturup da bir işletim sistemi yazmak veya yüzlerce satır koddan oluşan bir program geliştirmek değil. Yeni başlayanlar için dört işlemi yapan basit bir hesap makinesini kodlamak bile çok faydalı ve öğretici bir proje olabilir. Proje geliştirmenin faydalı olduğu nokta ise size tam anlamıyla bir yazılım geliştirme süreci yaşatmasıdır.
Bir problemi/fikri belirledikten sonra sonuca giden yolları bulur ve en kısa/mantıklı olanı seçeriz. Nasıl bir yol izleyeceğimiz ve algoritmamız belli olduktan sonra kodlarımızı yazmaya başlarız. Bu etapta karşımıza birçok sorun çıkabilir veya bir sürü hata yapabiliriz. İşte bu nokta, sizin gelişmenize en çok yardımcı olan ve size bir şeyler öğreten kısımdır. Problemlere çözüm yolları aradıkça, nerelerde hatalar yaptığınızı gördükçe bir şeyler öğrenecek ilerleyen zamanlarda tekrar aynı hatayı yapmayacak veya aynı problemle karşılaştığınızda nasıl çözeceğinizi bileceksiniz. Bu sebeple benim bir programlama dili öğrenme sürecinde siz değerli arkadaşlarıma en büyük tavsiyem derleyiciyi açıp bir şeyler yazmanız, kendi çapınızda basit projeler geliştirmenizdir.
O zaman sözü fazla uzatmadan hafiften C üzerine konuşmaya başlayayım...