October 10, 2015

Programlamaya Nasıl Başlanır ?

Programlamaya başlayacaksınız ama nasıl bir yol izleyeceğinizi bilmiyorsunuz yada eğitim aldığınız kurumda tarafınıza böyle bir ders verilecek ama ben dersi anlamam yada hobi olarak yapacağım bu işi yapamam diye şüpheleniyor olabilirsiniz.Öncelikle programlamaya başlamak ciddi bir süreç özellikle daha önceden programlama ile uğraşmadıysanız ve matematik ile ingilizceden nefret eden bir bireyseniz işiniz hele imkansıza yakındır. Ama olay aslında tamamen matematikde bitiyor işlem basamaklarını anlamak yapılacak algoritmayı kafada tasarlayabilmek ve aşamalarını sırasıyla yapabilmek çok önemli matematik bilgisayar bilimi için herşeydir matematik olmazsa olmazımızdır.

Programlama Nedir?

Algoritmalar neticesinde yeni uygulamalar geliştirmek yada geliştirilmiş olan uygulamayı düzenleyebilmek veya yeni özellikler kazandırabilme yeteneğidir.Ekrana “Merhaba dünya” yazdırmak ile programlamayı öğrenmiş olmazsınız. Algoritma = Programlama bu bağlamda sizin yapacağınız en iyi şey algoritmaları tam olarak öğrenmektir.

Programlamaya Hangi Dil ile Başlamam Gerekiyor?

Tabiki İngilizce çünkü internetdeki tüm kaynaklar ingilizce herhangi bir hata aldığınız zaman araştırma yaptığınızda size türkçe kaynak çıkmayacaktır.İngilizceyi öğrenmelisiniz yada translate uygulamaları kullanarakda işinize yarayacak kadar çevirisini yapmalısınız.Türkçe bir şekilde verilen kaynaklar ile ilerleyebilmeniz mümkün değil.

Hangi Programlama Dili ile Başlamalıyım ?

Programlamaya başlamak için size C dilini veya Python dilini önerebilirim iki dil bir birinden oldukça farklı ancak size oldukça faydalı olacak birisi syntax bakımından oldukça kolayken birisi oldukça katı kuralları vardır.Kafanızda ne yapacağınızı kararlaştırmış olsanızda bu iki dili de öğrenmenizi tavsiye ederim.

İlk olarak C den başlayın internetdeki bir çok eğitim setlerine ve yabancı kaynaklara bir göz atın

  1. TutorialPoints - C
  2. w3schools
  3. Drexel Universitesi
  4. LearnC
  5. Dennis Ritchie C Kitabı

Daha Sonra Python öğrenmeye başlayabilirsiniz.Her iki dilide aynı anda öğrenmeye çalışmayın yapısal olarak farklılık gösterdiği için anlamakda sıkıntı yaşayacaksınızdır.O yüzden C ile başlayıp işleri ilerlettikten sonra Python programlama diline geçebilirsiniz.

  1. İstihza
  2. Python Doc
  3. TutorialsPoint - Python
  4. Learn Python
  5. HardwayLearn

Ben bu iki dili önerdim diye bunlardan başlamak zorunda değilsiniz tabikide ama temel olarak c öğrenmenizi şiddetle önereceğim

Nasıl Çalışılır ?

Programlamaya ilk başlayan birisi genelde yaptığı şeylerden hoşlanmaz sıkıcı gelir yada yapamadığı için bıkar ve bırakmak ister bu yanlış bir davranıştır.Yılmadan algoritmanızı yazmanız yada istediğiniz uygulamayı yapmaya başlamanız gerekiyor korkmayın yapamayacaksınız ama bu demek değildir ki üstesinden gelemeyeceksiniz biraz araştırma biraz tanıdıklara sorma kitapları kurcalama ile yapabileceksiniz.Herşeyden önce çaba sarf etmeniz gerekiyor.Yılmadan yolunuza devam etmeniz gerekiyor.Düzenli bir şekilde çalışmanız gerekiyor

Yani 1 gün çalıştınız tamam ben bu dili biliyorum yaa artık şu dile geçeyim diye bir kural yok o dilde ustalaşana kadar gerekiyorsa 6 ay boyunca veya 1 yıl o dilde kalın ve temeliniz sağlam olsun bırakın diğer dilleri yoğunlaşın başladığınız dil ile belki sadece o dil konusunda uzmanlaşacaksınız ve hayatınız değişecek nereden biliyorsunuz ?

Yazdığınız algoritmadan keyif alın toplama işlemi yada basit bir hesap makinası yapmış olabilirsiniz ancak o yazdığınız kod sizin siz dünyaya getirdiniz onun babası sizsiniz.Basit olabilir ama kimse direk olarak büyük projeleri hazırlamadı yada kütüphane yazmadı

Kendinize Sormanız Gereken Sorular

  • Bilgisayar nedir?
  • Algoritmalar nelerdir ne işe yarar?
  • Başladığım dil dünyada hala geçerli olarak kullanılıyor mu ?
  • Kullanmaya başlayacağım dil multi-platform bir dilmi tüm sistemlerde çalışıyor mu ?
  • Googlede arama yaptığınızda işime yarayan materyaller bulabiliyormuyum ?
  • Başladığım dilin en son teknolojiler ile uyumlumu?
  • Kullanmayı düşündüğünüz veritabanlarını destekliyormu?
  • Ben bunların hepsinin üstesinden gelebilirmiyim ?
  • İş bulmak içinmi yoksa proje geliştirmek için mi ben bu dili öğreniyorum?
  • İlerleyen zamanlarda ne kadar para kazandırır ?
  • Programlama dilini tam olarak öğrenebilmişmiyim ?
  • İnsanlara faydalı ürünler sunabiliyormuyum?

IT Sektöründe Son Zamanlarda Popüler Olan Diller(2015 Verilerine Göre Github ve Githut)

Yaptığım araştırmaya ve Github sitesinin istatistiklerini yayınlayan Githut sitesinin verilerine göre ilk 10 şu şekilde verilebilir.Burada gözüken aslında insanların açık kaynak kodlu dillere daha çok yöneldiği ve multi-platform çalışanları tercih ettigi görülmekte.

grafikyeni

Öğrenme Konusunda Yardımcı Platformlar

Geliştirme Ortamı Oluşturmak

Yavaş yavaş geliştirme ortamınızı hazırlamanız gerekiyor.Ama bunu yaparken windows kullanmayacaksınız çünkü windowsun geliştirme ortamı tam bir fiyaskodur.Kesinlikle ve kesinlikle size rahat bir ortam sunmayacaktır.Kimi zaman kasmalar yapabilir geliştireceğiniz dilde sıkıntılar çıkartabilir(Bu dil C# değilse)Sonuçta windowsdur bu herşey beklenir benim sizden ricam sisteminizin yanına herhangi bir tane kullanımı kolay olan linux distrosu kurmanız.Daha sonrasında yazacağımız dil C yada C++ diyelim.buna uygun bir ide(Clion) kurmak yada bir editör(Abiword, Atom) ile yazıp komut satırından derlemek Linux geliştiriciler için oldukça güzel çünkü içerisinde geliştirmeler için kullanılacak olan herşeyi barındırıyor tüm compiler uygulamaları çalıştırmak için gereken uygulamalar hatta konsoldan bile yazabilirsiniz ufak bir kaç program

Kod Yazmaya Başlanan Arkadaşlara Tavsiyeler

  1. Mouse kullanmayı bırakın kod yazarken o mouse kullanılmayacak yazdığınız editörün kısayollarına alışın yada yön tuşlarını kullanan ama yapacaklarınızı mouse ile yapmayın.Bu size pratiklik kazandırma konusunda oldukça yardımcı olacak
  2. Çözüm üretmeyi bilin gerekirse saatlerce düşünün yaşadığınız algoritmasal sorun en kısa nasıl çözülebileceğini düşünün
  3. Gerekirse kağıt kalem kullanın yazmaktan utanmayında korkmayında algoritmayı kafanızda oluşturamadıysanız elinize bir kalem birde defter alın çözümü yazarak yapın kodu deftere yazın gerekirse
  4. Googlede araştırma yapmayı öğrenin bir hata ortaya çıktı yada yaptığınız uygulama çalışırken hatalara sebep oldu googlede bir arama yapın illaki aynı hata ile karşılaşanlar ve nasıl çözdükleri ile ilgili detaylı bilgiler olacaktır
  5. Yazılım konusunda makale,dergi ve yayınları devamlı takip edin bu sizin yazmış olduğunuz dil konusunda bilmediklerinizi öğrenmenize ve yeni gelen özelliklerden haberdar olmanızı sağlayacaktır.
  6. Nesne yönelimli programlamaya yavaş yavaş geçin günümüzde özellikle çokça kullanılıyor sizinde kullağınıza illaki gelmiştir.Hız,performans ve kullanılabilirlik açısından kodlarınızı mümkün olduğunca sınıf yapılarına göre oluşturun.
  7. Kodunuzu devamlı saklayın iyi kötü demeden yazdığınız ve çalıştığını gözlemlediğiniz kodlarınızı bu yöntem sayesinde hem koruyabilir hemde vakti zamanı geldiğinde daha önceden yazdığınız bir kod işinize yarayacak ise sizi yazma zahmetinden kurtaracaktır.
  8. Debug yapabilin bu kodunuzdaki hataları görebilmeniz için bir fırsat oluşan hatalarıda bu sayede çözebilirsiniz.Ama Python gibi debug ortamı pek iyi olmayan programlama dillerinde bu pek kolay olmayacaktır.Bu gibi durumlarda kodlarınızı satır satır inceleyerek yada deneme yanılma yaparak sorunlarınızı ve hatalarını çözebileceksiniz.
  9. Not tutmayı unutmayın bu sizin için ve geliştirdiğiniz projede yapacaklarınız için oldukça etkili olabilecek bir yöntemdir.yapılacakları önceden yazmak ve belirli bir çizelge çıkartmak yapacağınız işi kısaltacağı için vakit kaybının önüne geçebilirsiniz.
  10. Kodunuzda yorum satırları olsun bu kodun basamaklarını daha iyi çözümlemenize olanak sağlayacak hemde ileriki zamanlarda eğer projede başka birileri çalışırsa yazılan o kodda ne yapıldığını fark edecek böylelikle işin sürekliliğide bozulmamış olacak
  11. Olabildiğince basit kod yazın böylelikle kodunuz okunabilir olur bakımı ve değiştirilmesi oldukça kolay olur sizin ve sizden sonra geleceklerin işini kolaylaştırmış olursunuz.
  12. Herşeyi sorgulayın evet aklınıza gelebilecek herşeyi yürürken yerdeki kaldırım taşlarını arkadaşınız ile konuşurken yada internetden baktığınız herşeyi sorgulayın biat etmeyin aykırı olun biraz devletin yada çevrenizdekilerin istediği kişi olmayın

Sonuç

Programlama dili öğrenmek bir süreçtir bu süreci güzel bir şekilde atlatırsanız.Öğrenerek ilerlerseniz algoritmalar konusunda fikir sahibi olursanız ve düşünce tarzınızı değiştirebilirseniz yapamayacağınız yazamayacağınız kod olmaz.