Programlama Konusundaki Önyargılar
Programlama nedir? En basitinden programlama bilgisayara nasıl davranacağını anlatan bir işlemdir. Nasıl ki bizler çocuklarımıza, öğrencilerimize, kardeşlerimize bir toplumda nasıl davranacağını öğretiyorsak programcılar da bilgisayarlara değişen koşullara göre işlemleri nasıl yürüteceğini öğretiyorlar.
Programlamaya yeni başlayan ya da başlamak isteyenlerin internetten araştırdığı ve bu araştırmalar sonucunda edindiği birtakım önyargılar var. Yazımızda bu önyargılardan bazılarına değineceğiz ve programlamaya yeni merak saran kardeşlerimizi bu işten uzaklaştırmak yerine, kardeşlerimize gönül ferahlığıyla programlamaya başlayabileceklerini anlatacağız.
1) Programlama Öğrenmek İçin Matematik Bilmek Lazım
Birçok insan programcılığı mühendislikle bağdaştırır. Mühendisliği de matematikle bağdaştırdığından dolayı programlama için matematiği çok iyi bilmek gerektiğine inanır. Sizlere şu şekilde anlatayım. Cümle kurabilmek için dilbilgisi kurallarını çok iyi bilmek lazım. Ama tüm dilbilgisi kurallarını bilmeden de cümle oluşturabiliyor musunuz? Bunun cevabını muhtemelen “Evet” olarak verdik kendimize. Çoğumuz dilbilimci değiliz ama cümle kurup karşımızdaki insanla anlaşabiliyoruz. Matematikle programlama arasındaki ilişkiyi de bu şekilde düşünebiliriz. Basit düzeyde toplama, çıkarma, çarpma, bölme ve biraz da mantıklı düşünebiliyorsak bu işi çözmüşüz demektir. Sonuçta bizle matematik formülleri değil kod yazıyoruz. Üst düzey bir işlem yapıyorsak zaten google amca bize yardımcı olarak matematik formüllerini veriyor. Bizlere ise uygun yerlere uygun kodları yazmak kalıyor.
2) Tüm Programlama Dillerini Öğrenmeliyim
Madem konuşma dilinden başladık bu şekilde de devam edelim. Şu an yanınızda bulunan bilisiyle konuşabilmek için Dünya üzerindeki tüm dilleri bilmeye ihtiyaç duyuyor musunuz? Tabi ki hayır. Aynı yerde doğup büyümüşsünüz. O kültürün dilini bilmek sizlere yetiyor. Ama bu ikinci bir dile ihtiyaç olmadığı anlamına da gelmiyor. Nasıl ki bir dil bir insansa, bir programlama dili de bir programcı demektir. Ne kadar fazla programlama dili bilirseniz o kadar avantajınız var demektir. Özel bir şirkete gittiğiniz zaman bazı sektörlerde kaç yabancı dil bildiğiniz sorulur ve ona göre öne geçersiniz. Aynı şey programcılık alanı için de geçerlidir. Eğer yurtdışına çıkmak gibi bir düşünceniz yoksa sadece Türkçe bilmek size yeter. Sadece web yazılımı ile uğraşmak istiyorsanız PHP ya da ASP.NET’ten birisini bilmek size yeter. Ama siz yine de öğrenebildiğiniz kadar dil öğrenmeye çalışın. “Abi biz daha bir dil bilmeden sen bizlere birden fazla dil öğren diyorsun oldu mu şimdi?” diyenler olmuştur belki. Aramızda ikinci hatta üçüncü yabancı dil bilenler daha iyi bilirler ki bir bir dili öğrendikten sonra diğerini öğrenmek daha kolay gelir. Programlama dilleri de böyledir. Bir programlama dilini öğrendikten sonra diğerleri çorap söküğü gibi gelir.
3) Bir Programlama Dilinin Tüm Yazım Kurallarını Öğrenmeliyim
Siz bir metin yazmadan önce Türkçe’nin tüm yazım kurallarını öğrenmeye mi kalkıyorsunuz? Metninizi elinizden geldiğince yazıp sizden daha iyi bilen insanlara göstererek yanlışlarınızı düzeltmenizi istiyorsunuz ve böyle denemeler yaparak yazım kurallarını her yazdığınız metinde biraz daha geliştiriyorsunuz. Programlama dillerinin yazım kurallarını öğrenmek istiyorsanız yine aynı mantıkla hareket edebilirsiniz. Gerekli çalışmaları yapıp, kitaplar karıştırıp, internette araştırma yaparak öğrendiğiniz kadarıyla çalışma yaparak sizden daha iyi bilen birisine gösterip kendinizi geliştirebilirsiniz. Hatta çoğu zaman birisine ihtiyacınız bile yok. Çünkü programlama diliniz yazdığınız metin editörleri ya da kodu çalıştırdığınızda sizler için kodları çalışır hale getiren derleyiciler bile sizlerde nerelerde yazım (syntax) hatası yaptığınızı söylüyorlar. Böylece sizde internetten hatayı araştırıp doğru yazımının nasıl olduğunu bulabiliyorsunuz.
4) Kodlar Çok Karmaşık Geliyor
İçinizde araba kullanmayı bilen ya da yakınlarında araba kullanan birileri vardır. Başlarda araba kullanmak çok karmaşık gelir insana. Pedalların hangi işe yaradığı, ne zaman basılması gerektiği, vitesin ne zaman değiştirileceği, aynaları kontrol ederken aynı zamanda yolu kontrol etmek gerektiği ve daha nicesinin aynı anda yapılması çok karmaşık ve yorucu gelir. Ama kullandıkça insanın zihni açılır ve artık her şeyi otomatik yapmaya başlar. Kendisini daha serbest bırakır. Serbest bırakmasını işlemleri yapma anlamında diyorum tedbiri elden bırakmayın arabayı siz yönetiyorsunuz sonuçta :) Kod yazmakta böyle bir şey. Başlarda sizlere karmaşık gelecektir. Birden fazla komut, anlamsız kelimeler arasında boğulacaksınızdır. Ama hırsınızı, sabrınızı ve azminizi kaybetmeden çalışmaya devam ederseniz bir süre sonra araba kullanmadaki otomatikleşme gibi kod yazmada da otomatikleşebilirsiniz. Hatta öyle zamanlarınız olacak ki yanınızdaki arkadaşınızla konuşurken kod yazabileceksiniz. Kulağa hoş geliyor değil mi? :)
5) Bir Programlama Dilini Öğrenmek İçin Bir Kitap Bitirmek Gerekli
Sınavlara falan çalışırken tüm hocalarımızın söylediği bir şey vardır. “Ne kadar çok soru çözerseniz yüksek net yapma ve konuyu anlayıp farklı problemleri çözme beceriniz de o kadar gelişir.” İşte bir programlama dilini de öğrenirken ne kadar fazla kaynaktan bilgi edinizseniz, ne kadar çok problem çözüp kod yazarsanız o kadar gelişim gösterirsiniz. Kendinizi bir kitaba ya da bir kaynağa bağlamayın. Öğrenmeye açık olun ve karşınıza çıkan tüm kaynakları gözden geçirin. Böylelikle programlamada problem çözerken daha sağlıklı çözümler üretme ve problemi daha kısa sürede çözme becerinizi geliştirmiş olursunuz.
6) Kod Yazmak İçin Doğuştan Yetenekli Olmak Gerekli
Kesinlikle böyle bir şey yok. Yeteri kadar ister ve bu alanda olabildiğince çaba gösterip çalışırsanız %100 sizler de kod yazabilirsiniz. Hiç kimse doğduğunda kodlar beynine nakledilmiş şekilde gelmedi dünyaya. Albert Einstein’in çok güzel bir sözü vardır. Burada onu hatırlatmak isterim sizlere. “Benim özel bir yeteneğim yok. Yalnızca tutkulu bir meraklıyım.” Tüm dünyanın dahi gözüyle baktığı Einstein, gece ve gündüz demeden çalışmış çabalamış ve sonunda da başarılır olmuştur. Merakınızın peşinden gidin ve çalışın. Yürüyün, sadece çalışarak yürüyün. Başarı sizin peşinizden zaten gelecektir.
7) Kod Yazmak İçin Sabahlara Kadar Uyumamak Lazım
Sosyal medya ya da bazı blog sayfalarında programcıların sabahlara kadar çalıştığına şahit olmuş olabilirsiniz. Arkadaşlarım, kardeşlerim. Her yiğidin bir yoğurt yiyişi vardır sözüne benzetme yapacak olursak her insanın çalışma zamanı, enerjisinin yoğun olduğu saat, kendisine vakit ayırdığı durumlar farklıdır. Bu önyargılarınızı bir kenara bırakın ve kendinize en uygun saati belirleyerek o saati olabildiğince verimli geçirmeye çalışın. Eğer gece daha verimli oluyorsanız ve uykunuz gelmiyorsa oturun gece çalışın. Ama sırf bu önyargıya kapılıp sabahlara kadar uykusuz kalırsanız ve verimli olamazsanız uykusuz kaldığınız vakit sizin için bir kayıptır. Programcıların sabahlara kadar uyumadan kaldığı genel anlamda doğrudur ve buna kendimce mantıklı bir açıklama getirmek istiyorum. Geceleri ortam daha sessiz oluyor ve kendinizle başbaşa kalıyorsunuz. Hayatın karmaşıklık ve gürültüsüne bir nebze de olsa bu vakitlerde ara verip kendinize bu vakitlerde zaman ayırıyorsunuz. Ve ortam daha sakin olduğundan dolayı daha verimli çalışıyorsunuz. Ama gündüz çalışan kişiler programcı olamaz diye bir kural yok. Siz kendinizi ne zaman uygun görürseniz o zaman çalışın, verimli çalışın.
8) Programlama Öğrenebilmek İçin Mühendislik Okumalı
Bunu sizlere ifade eden insanlara sormak istediğim bir soru vardır. Sizler yürümeyi bir kursa ya da okula giderek mi öğrendiniz? Çabanız, gayretiniz, çalışma azminiz, sabrınız olduğu sürece başarılmayacak bir şey yoktur arkadaşlar. Programcı olmak için herhangi bir kursa ya da okula gitmek zorunda değilsiniz. Yalnız çok araştırmanız, çok çalışma yapmanız ve vazgeçmemeniz lazım. Bir bilgiyi elde edebilmek için 1 değil 10 değil belki 1000 kapı çalmanız gerekecek ama korkmayın ve çalın o kapıları. Birisi bilgi vermezse eninde sonunda istediğiniz bilgiyi elde edebilirsiniz. Hatta bu şekilde öğrenmek oturup ezberlemekten daha faydalı olur size. Karmaşık bir durumla karşılaştığınızda edinmiş olduğunuz tecrübeler sizlere daha iyi yol gösterir.
9) Ama Ben Kod Yazamam Ki
Ama sen eline kağıt kalem aldığın zaman yazı yazabiliyorsun ki. Çok fazla bir fark yok yazı yazmak ile kod yazmak arasında. Birisini kağıda birisini bilgisayara yazıyorsunuz. Yukarıda da ifade ettiğim gibi çalışır, sabır gösterir, merakınızın peşinden giderseniz başarılmayacak şey yoktur.
10) Ya Ezberlediğim Kodları Unutursam
Araba kullanma örneğine burada da değinecek olursak siz araba kullanımını ezberlemiyorsunuz. Sürekli yaparak pratiğe dökmeye çalışıyorsunuz. Böylelikle ezberlememiş ve belleğinizi uygun şekilde kullanarak araba kullanımını günlük yapmış olduğunuz rutin işlere döküyorsunuz. Böylece 1 sene boyunca araba kullanmasanız bile tekrar kullanmaya başladığınızda bir iki teklemeden sonra eskisi gibi araba kullanmaya devam ediyorsunuz. Kod yazmayı da yaşam felsefesi haline getirdiğiniz, otomatiğe döktüğünüz zaman zaten ezberlemiş olmuyorsunuz. Artık o bedeninizin bir parçası olmuş oluyor ve aradan zaman geçse bile tekrar yazmaya başladığınızda ufak tefek hatırlatmalardan sonra eskisi gibi kod yazmaya devam edebiliyorsunuz.
Eğer merakınız varsa denemeye değer. Unutmayın;
Hayatta bir tek başarısızlık vardır, o da denememektir. (Robin Sharman)