Dr. Volkan Tunalı'nın Kişisel Blogu

Bilgisayar, Bilim, Teknoloji, Sanat

Programlama [Dili] Nasıl Öğrenilir?

99 comments

Programlama öğrenmeye yeni başlıyorsanız iki temel zorlukla karşılaşırsınız. Birincisi bilgisayara istediğiniz işlemleri yaptırmak için kullanılan programlama mantığını anlamak, diğeri ise programlamaya başlangıç için seçtiğiniz ya da seçmek zorunda kaldığınız dilin özelliklerini öğrenmek.

Programlama bilgisine sahip olup da başka bir dil ya da geliştirme ortamını öğrenmek istiyorsanız yeni dilin problem çözümüne getirdiği farklı yaklaşımları öğrenmek zorundasınız. Yeni bir programlama dili sadece yeni bir sözdizim (=syntax) kullanmak değil bazen programlamaya tümüyle bambaşka bir bakış açısıyla bakmak demektir. Örneğin, C++ biliyorsanız Java’ya adapte olmak kolay olabilirken Lisp gibi bir sistemi öğrenmek çok farklı bir deneyim olacaktır.

İster programlamaya yeni başlayın, ister başka bir dili/ortamı öğrenmek isteyin, öğrendiğiniz programlama diliyle kaydadeğer programlar geliştirecek duruma gelebilmek için biraz ter dökmek zorundasınız. İşte bu ter döktürecek, saç baş yolduracak, son derece zahmetli ama sonuçlarını aldıkça da keyif verici süreçte başarılı olmanız için yapmak zorunda olduğunuz, olmazsa olmaz şeylerden birkaçı:

1. Denemezseniz öğrenemezsiniz

İster kursa gidin, ister özel ders alın, ister bir kitaptan kendi kendinize öğrenmeye çalışın, hiç farketmez! Gördüklerinizi ekranın başına geçip kendiniz kodlamazsanız, derleyip çalıştırmazsanız, sonucu kendi gözlerinizle görmezseniz bu işi unutun. Program geliştirme aracını kullandıkça el alışkanlığınız artar, neyi nerede bulacağınızı bilir hale gelirsiniz. Kodladıkça dilin sözdizimine ve mantığına alışırsınız.
Kendi kendinize denemeler yapın. Çeşitli kaynaklardaki örnekleri yazın, değiştirip değiştirip deneyin. Koddaki farkın sonuca nasıl etki ettiğini anlamaya çalışın. Denemezseniz öğrenemezsiniz. Saatlerinizi, gecelerinizi bu işe feda etmezseniz birşeyler bilirsiniz ama vasatın ötesine geçemezsiniz.

2. Başkalarının kodlarını inceleyin

Sizden daha iyi program yazan kişilerin programlarını incelediğinizde belki de hiç aklınıza gelmeyecek güzel kodlama stilleri, zekice ifadeler, elegan kodlar bulabilirsiniz. Bu nedenle bulabildiğiniz tüm kaynaklardaki kodları hiç olmazsa şöyle bir inceleyin.

3. Kitaplardaki örnekleri unutun ve gerçekten işe yarar, ciddi programlar yazmayı deneyin

Basit örnekleri, basit işler yapan programları anlamak, yazmak kolaydır. Hata yapma ihtimali çok düşüktür. Hata olsa bile bulup düzeltmek çok kolaydır. Kendinize gerçekçi bir proje bulun ve onu geliştirmeye başlayın. İşe yarar birşeyler yapan bütün programlarda işe yarar hatalar olması normaldir. Bu hataları arayıp bulmak bazen saatler süren bir kovalamacayı gerektirebilir. Önemli değil. Önemli olan bu hatalardan birşeyler öğrenmektir. Hatalarınızı düzelttikçe programlamayı ya da yeni öğrendiğiniz dili daha iyi anlarsınız, öğrenirsiniz. Evet, 20-30 satırlık programcıklardan daha fazlasını yapmayı deneyin.

4. Programlamayla birlikte işletim sistemi ve bilgisayarın çalışma prensiplerini de öğrenmeye çalışın

Bu sayede yazdığınız programların aslında sistemin nerelerine ne kadar dokunduğunu bilirsiniz. Daha az sorunlu, daha verimli, daha yüksek performanslı programlar yazabilmek için sisteme bir bütün olarak bakabilmek çok yararlıdır.

5. Teach Yourself …… in 7 Days gibi saçmalıkları bir kenara bırakın

Yedi günde olsa olsa bir dilin neye benzediğini öğrenebilirsiniz. Gerçekçi olun. Programcılık ya da programlama dili öğrenmek, ustalaşmak yıllar sürer. 10 yıl sonra bile gördüğünüzde sizi şaşırtan, size bir şey öğreten şeyler olacaktır. Programcılık zahmetli ve emek isteyen bir iştir. 7 günde öğrenilecek kadar kolay olsaydı herkes programcı olurdu.

Özetle, iyi bir programlama bilgisi edinmek, bir programlama dilini hakkıyla öğrenmek oldukça zahmetli, yorucu, zaman alıcı bir süreçtir. Bu süreçte sabırlı ve ısrarcı olmak gerekir. Bir iki günde kurumsal uygulamalar yazabilecek seviyeye gelmeyi düşünüyorsanız en başından bu düşüncenizi gözden geçirmenizde yarar var. Emek olmadan ekmek olmaz. Yoksa “no pain no gain” mi demeli :)

Written by vtunali

Mayıs 14th, 2009 at 9:51 am