Yazılım öğrenmek için bilmen gerekenler:Konulara bakıyordum bir baktım da yazılım dillerinin zorluk sıralamasını söyleyen olmamış size göre sıfırdan yazılım öğrenecek birisi nereden hangi dilden başlamalı ne bilmeli ve yazılım dillerinin zorluk sıralaması nasıldır?
Yazılım öğrenmeye başlamadan önce öğrenmesi bilmesi gerekenler:
Algoritma.
Örnek programlama dil sıralaması:
Kolay: HTML.
Orta: C+
Zor.
Üst düzey:
Liste yazılıma başlamakla alakalıydı işin özü. Bahsettiğiniz şeyler güzel, ancak herhangi bir yazılım dili bilmeden bunların hepsi soyutta kalacak. Ki, bence ilk iki programlama dili çoğu insan için C olmalı. (Kesinlikle C++ değil.) Yani pratikte hem fikirim.Herkesin web dev olmak istediğini sanmıyorum. İlk üç okay ama onlarında ikisi programlama değil zaten.
Konu sahibi için; Temel konseptleri öğrenmen lazım. Programlama nedir, ne değildir? Bilgisayar programı nasıl çalıştırır? Bellek nedir, heap ve stack nedir farkları nedir? Algoritma nedir? Veri yapıları nedir? Sonra alana yönelik gidersin. Temel konseptleri bilmeden alan öğrenmek genelde ezbere oluyor. Bir şeyler yapıyorsun ve bir şeyler oluyor ama niye neden yaptığını bilmiyorsun, ezberlediğini yazıyorsun gibi oluyor.
Başlangıç dili önemli değil. Genel programlama dillerinin hepsinde temellerde aynı şeyleri yapacaksın zaten. Looplar vs vs. Mantığı kavrayınca başka dile geçtiğinde de zorlanmıyorsun temel syntax öğrenirken.
Önce teorik olarak neyin nasıl olduğunu bilmeden pratik daha zor oluyor. Hiç dil öğrenmesin demiyorum. Dili öğrenmeden önce arkasındaki mantığı anladığında, dilde loopmuş, fonksiyonmuş ne işe yarar gibi sorulara gerek kalmıyor çünkü daha önceden bu soruların yanıtlarını veren kavramları görmüş oluyor. Rahatça kavrıyor. Üniversitelerde bu sebeple buna benzer bir sırayla başlıyorlar öğretmeye. Temel kavramları öğrettikten sonra algoritma ve veri yapıları genelde dil ile birlikte öğrenilir.Liste yazılıma başlamakla alakalıydı işin özü. Bahsettiğiniz şeyler güzel, ancak herhangi bir yazılım dili bilmeden bunların hepsi soyutta kalacak. Ki, bence ilk iki programlama dili çoğu insan için C olmalı. Yani pratikte hem fikirim.
Samimi şekilde konuşuyorum, böyle hiç düşünmemiştim. Ben genelde pratiğin uygulanışını görüp sonradan teorisi üzerine okumalar yapmayı seven birisi olduğumdan böyle bir yol olabileceğini düşünmedim. Şimdi öğrenirken takıldığım yerlerde neden takıldığımı anlıyorum.Önce teorik olarak neyin nasıl olduğunu bilmeden pratik daha zor oluyor. Hiç dil öğrenmesin demiyorum. Dili öğrenmeden önce arkasındaki mantığı anladığında, dilde loopmuş, fonksiyonmuş ne işe yarar gibi sorulara gerek kalmıyor çünkü daha önceden bu soruların yanıtlarını veren kavramları görmüş oluyor. Rahatça kavrıyor. Üniversitelerde bu sebeple buna benzer bir sırayla başlıyorlar öğretmeye. Temel kavramları öğrettikten sonra algoritma ve veri yapıları genelde dil ile birlikte öğrenilir.
Örneğin benim okulumda, ilk sene programlama dili görmedik, temel konsept ve kavramları konuşuyorduk. İkinci sene C ile veri yapılarına başladık. İkinci senenin ikinci döneminde Object Oriented Programming kavramlarını ve algoritma işliyorduk. Üç ve Dört ise programlama içerisindeki çeşitli alanlara giriş dersleri ve profesyonelizm dersleriyle doluydu. Systems level programming, internet programming, database management, computer graphics, image processing, ai, ann vs vs. alanlara giriş dersleriyken, proje yönetimi, kalite kontrolü, testing vs vs ise profesyonelizm derslerimizdi mesela.
Bu çok sık yaşanıyor. Python kolay diye öğrenmeye başlayan arkadaşlar açıyorlar burada konu fonksiyonları anlamıyorum, loop anlamıyorum vs diye. Neyin neden olduğunu tam anlamadıkları için de öğrenme süreci daha da uzuyor. İnsan anlamadığında bu işin devamını getirmek istemiyor çünkü işin tamamı anlamak üzerine. Hani oyun gibi değil, anlamadan tuş spamlayıp yapılabilecek bir meslek değil.Bunun ötesinde, kendileri öğrenmenin peşinde olan pek çok arkadaşım kendilerini "bir programlama dili öğrenme" cehenneminde kaybettiler.
"Ya karşim ne gerek var, işte bunu yapınca kendi kendine tekrar ediyor, bak keyfine(!)" kafasıyla hareket eden insanlar için normal öyle görünmen. O adam template çakıp geçmekten fazlasını yapamıyor genelde zaten. Ezbere yazıp duruyor.Önemli olanın programlama dili öğrenmek olmadığını, bilgisayar bilimleri olduğunu anlattığımda ise uzaylı gibi göründüm.
Meslekten para kazanacak adamın işi istese de istemese de düşüyor zaten bilgisayar bilimlerine. Alaylısıda bakıyor, okuyanı da. Mecbur. Anlamayacak yoksa. Azıcık sıra dışı bir şey yapmaya kalktın mı zaten ister istemez bilgisayar bilimlerine dokunduruyorsun.Peki neden bilgisayar bilimlerinden öğrenilmeye başlanmasın ki? Daha az ilgi çekici ancak insanın ufkunu genişletmeye zorlayan bir yol olarak görünüyor.
kişiden kişiye değişir sıralamaKonulara bakıyordum bir baktım da yazılım dillerinin zorluk sıralamasını söyleyen olmamış size göre sıfırdan yazılım öğrenecek birisi nereden hangi dilden başlamalı ne bilmeli ve yazılım dillerinin zorluk sıralaması nasıldır?
Yazılım öğrenmeye başlamadan önce öğrenmesi bilmesi gerekenler:
Algoritma.
Örnek programlama dil sıralaması:
Kolay: HTML.
Orta: C+
Zor.
Üst düzey:
Makine kodunu binary yada hex şeklinde yazıp bir program yapabilirsin ama zordan çok uğraştırıcı olur çünkü çok fazla dönüşüm yapman ve aklında çok fazla şeyi tutman gerekir.En kolayı Luaen zoruda Assembly ve makine dili herhalde.