Yazılım, uzun bir süredir üzerinde gerçekleştirilen çalışmalar sayesinde artık hayatın vazgeçilmezleri arasına girmiştir. Yani kodlama bilmiyorsanız dahi mutlaka kodlanmış bir şeylerle haşır neşir oluyor ya da isim olarak dahi bir şekilde duyuyorsunuzdur. İşte bu popülerite aynı zamanda bir kaosu da getiriyor, sebebi ise herkesin bir şekilde ben bununla başa çıkabilirim deyip kendini mühendislerin ötesinde konumlandırması durumu bir anda karman çorman (spagetti) kod satırları ile karşılaşmamıza sebep olabiliyor. Ve bu durumda bir kişi karşınıza çıkıyor ve "Açılın ben yazılım mühendisiyim" diyor. İşin şakası bir yana arkadaşlar ; eğer bir gün olur da mühendis olmak isterseniz nesnenin önemini kavramanızdır arkadaşlar. Çünkü mühendislik, eksikleri tespit edip onlara anlamlı çözümler üretebilen kişilerde denir. Ve çözümlerde nesnelerden geçer.
Programlamaya Giriş
Programlama, bir nesneye belli komutlara karşılık verebilmesi adına yüklenmiş özellikler bütünüdür diyebiliriz. Yani siz nasıl programlarsanız, cihaz ya da her neyse size öyle karşılık verir.
Programlama konusunun temeline indiğimizde ise orada bizleri eski bir dost karşılıyor ve o da "matematik" . İşte tam da bu yüzden matematiği iyi anlamamız gerekir. Aslında biraz daha irdelemeye devam ettiğimizde de matematik ile harmanlanmış bir felsefe olarak da adlandırabiliriz.Aslında programlamak ; dünyadaki olayları anlamak, bunu bir şekilde yorumlamak ve elle tutulur bir değişim yaratacak bir sonuca ulaşma çabası göstermekten ibaret. Yazacağımız programlar, yaptığımız işler, yazımızın başında da bahsettiğimiz gibi görülebilir bir değişiklik yaratmak üzerine oturtulmuş bir kurgudur. Tam da bu noktada programlamadan çıkıp gerçek hayata geçiyoruz ve anlıyoruz ki nesne dediğimiz varlık sadece basit bir programlama kavramı değil.
Neden nesneye yönelik programlama öğrenmeliyim?
- Kısacası nesneye yönelik programlama beraberinde düzen ve temizlik getiriyorken, diğer yandan dünyevi standartlara uygunluk , tekrar kullanılabilirlik açısından cömertlik ve profesyönellik getirir.
- Süreklilik açısından oldukça önemlidir. Bir başkasına devretmeniz gereken bir iş durumunda sizden sonra dümene geçen arkadaşın haritayı okuması uzun sürmez ve sizler de rahatlıkla halletmeniz gereken işlerinize odaklanabilirsiniz. Çünkü karmaşa azalıyor.
- Kütüphaneler, evet arkadaşlar gerçekleştirdiğiniz çalışmalar üzerine özellikle de kendi projelerinize kütüphaneler oluşturabilir ve burada yarattıklarınızı başka çalışmalarınızda da kullanabilirsiniz.
- Okunaklı bir kod yazabilme ihtimalinizin artması.
- Dilden dile geçişler söz konusu olduğunda sahip oldukları benzer yapılar sayesinde diğer dillere geçişlerde çok fazla sıkıntı yaşamıyorsunuz.
- Hatasız kul olmaz neticede, yakaladığınız düzen sayesinde yaptığınız hataları ayıklamanız da uzun sürmeyebilir.
- Test etmek, ya da basamak basamak kodunuzun sağlamasını yaparak ilerlemek sizlere büyük fayda sağlar. Hem daha emin adımlarla ilerleyebilirsiniz, hem de sağlıklı bir proje oluşturabilirsiniz.
Nesneye yönelik programlama öğrenmek istiyorum. Peki nereden başlamalıyım?
Kodlama dünyasına henüz giriş yapmadıysanız, en başta yapmanız gereken şey, uzun bir süre hayatınızda yer alacak olan o terimleri ve kavramları kafanızda oturtmanız gerekir. Mesela en basitinden yazımız boyunca bahsettiğimiz nesne kavramının ne olduğunu iyi bilmeniz gerekir. Ve belki de en acayip kısmı ise ergenlik yıllarımızda "Günlük hayatta bu benim ne işime yarayacak" diye ettiğimiz isyanların her birinin karşılığını bizlerin keşfetmesi gerektiğidir arkadaşlar. Yani bu da bizlerin bilinçli bir şekilde istemesinden geçmektedir.