Programlamaya Nereden Nasıl Başlamalı
Programlama yani dünyanın en aptal cihazına bişiler öğreterek gündelik yaşamımızı kolaylaştırma yada insanı aşan işleri cihazlara yaptırma işlemi aslında biraz matematik bilgisi ile yapılabilecek bir işlemdir.
Dünyanın en aptal cihazı demem aslında haklı gerekçelere dayanmaktadır çünkü siz bir şeyi bilgisayara öğretmeden yol göstermeden yapması imkansızdır , satır başının nerede olduğunu harflerin neye karşılık geldiğini renklerin neyi ifade ettiğini gibi bir çok işlemi siz öğretmeden bilgisayar bilemez hatta siz nasıl tanımlarsanız onu bilir.
Programala işine başlamadan önce uğraşmayı saatlerce yazılımınızın neden çalışmadığını anlamak için ekrandaki iki satıra bakıp durmayı göze alabiliyorsanız ve hatta bu hatanızın sadece “;” den kaynaklandığını anladığınızda çıldırmayacaksanız önünüzde bir engel yok demektir.
Saatlerce bilgisayar başında oturmayı göze aldınız ve bunu meslek yada hobi olarak yapmaya karar verdiğinizde hangi dilden başlayacam neleri öğrenmeliyim gibi sorular ile karşılaşacaksınız ve bu sizin için önünüzdeki rota olacak , bu sorularınıza aradığınız cevap yine sizde gizli yani görsel olarak mı yazılım ile uğraşacaksınız yoksa sadece bilgisayara verilecek işlemi en kısa en doğru en verimli şekilde nasıl yapılacağı mı sizi ilgilendiriyor buna karar vermelisiniz yani ; frontend mi backend mi ?
Eğer cevabınız Frontend ve web ise HTML , CSS , JS ile başlamalısınız .
Eğer cevabınız Backend ve web ise PHP , ASP yada Java ile başlamalısınız.
Backend Web tarafında iki farklı yapı – mimariye sahip dilden bahsettim , buradaki karar tamamen size aittir , geniş bir geliştirici topluluğu istiyor ve kod yazmak için ücret ödemek istemiyor yayınlamadaki maliyetlerinizi düşürmek istiyorsanız PHP size en iyi tercih olacaktır.
Web değilde masaüstü yazılımlar üretmek istiyorsanız ilk başlamanız gereken yer JAVA , öncelikle JAVA öğrenin mantığı kavrayın sonrasında c# geçişinizi yapın ve hayatınıza devam edin başka dillere kafa patlatmanıza gerek yok. Öncelikle JAVA dememdeki en büyük etken Windows,Linux,OSX üçündede tek build alarak programınızı çalıştırabilirsiniz. JAVA öğrenmesi kolaydır , tüm methodları ve yapısı açık ve anlaşılırdır , gereksiz tanımlamalar ve işlemler ile siz uğraşmazsınız bunu JAVA halleder. C# da ona keza basittir ancak JAVA ya göre anlanması biraz daha zordur.
Eğer tercihiniz mobil platformlar ise burada iki farklı dilide öğrenmelisiniz eğer büyük bir şirkette çalışmıyor yada şirket sahibi değilseniz aslında zorundasınızdır. Zorundasınız diyorum çünkü artık IOS ve Android tarafında her ikisindede kullanıcı sayısı hemen hemen birbirine eşit dolayısıyla her iki kitleyede hitap etmelisinizki uygulamanızdan gelir elde edebilesiniz.
Peki Mobil Uygulama tarafında öğreneceğiniz diller neler dersek bunlar JAVA, SWİFT olacaktır, bu iki dili öğrendikten sonra uygulamalarınızı geliştirebilirsiniz, peki bu işin kolay yolu yok mu ? tabiki var kolay yolu ise hybrid uygulama geliştirmekten geçiyor , React Native , Ionic, Flutter gibi liste uzar gider bu listede yer alan tüm kütüphaneler () JS çatısı altında çalışır yani JS biliyorsanız ve standartlarına hakimseniz (ES5,ES6) hangisini beğeniyorsanız onu seçin ancak seçiminizi yapmadan önce internet üzerinden hangisinin topluluğu daha fazlaysa onu seçin yoksa sorunlarınız ile baş başa kalırsınız . Site de gezinirseniz tercihim React Native olmuştur, sebebi topluluğu geniş , daha az sorun daha hızlı cross platform uygulama geliştirmek ve React Native hybrid değil Native bir yapıdadır , yani arada sanal bir makina çalışmaz kodlarınız direk platform anlayacağı dile çevrilir ve hazır olur.
Yazıda bir çok dilden ve yapıdan bahsettik gözünüz biraz korkmuş olabilir ancak iş o kadar karmaşık değil aslında tüm dillerin kullandığı ortak bir yapısı var ve sadece kullanımları ve işinizi kolaylaştıracak fonksiyon adları değişik . Tüm diller aslında 6-7 farklı komuttan oluşur bunlar , {for,while,if,else,class,function,public,private,switch} bunların dışında kalan tüm işlemler sizin yazılımlarınızı kolaylaştırmak için dil geliştiricileri tarafından sizin kullanımınıza sunulur , daha açık konuşursak örneğin
PHP de rastgele sayı üretme methodu
<?php rand(0,20);
şeklinde yazılırken JAVA Da
Random rnd = new Random(); sayi = rnd.nextInt(20);
şeklinde yazılır.
daha açık ifade ile mesela ekrana 1 den 10 a kadar olan sayıları PHP ve JAVA ile ayrı ayrı yazalım ;
<?php for($i=1;$i<=10;$i++){ echo $i; }
for(int i = 1;i<=10 ; i++){ System.out.println(i); }
Aralarında işte bu kadar basit farklar var , bir dili öğrendiğiniz zaman diğer diller kolayca peşin sıra gelecektir.