yazılıma başlayacaklara tavsiyeler
başlık "noegenesis" tarafından 29.12.2020 08:46 tarihinde açılmıştır.
1.
lisansa yeni başlayacak bir mühendis adayı olarak açtığım başlık
devamını gör...
2.
yazılım derken ne yazılımı ? ne için geliştireceksin ne olmayı hedefliyorsun ? herkes ayrı bir telden akıl verebilir. sen önce ne olmak istediğine karar ver. gerisi konuşulur zaten.
devamını gör...
3.
-her zaman kısa bir yol vardır.onu bulmak için uğraş.
devamını gör...
4.
- ilk ve en önemli verilebilecek tavsiye: her zaman öğrenmeye açık ol. çünkü ne kadar öğrensen de asla bitmeyecek bir yolculuk bu.
- mümkün olduğunca çok pratik yap. leetcode, hackerrank gibi siteler bunun için kullanışlıdır.
- direkt olarak kod yazmaya başlamadan önce algoritmanı kur, nasıl yazacağın hakkında kafanda bir şema olsun. kağıda da çizebilir/yazabilirsin.
- kod yazarken mutlaka temiz, açık ve net yazdığından emin ol. bu senin ilerde çok işine yarayacak. bu konuda faydalı bulduğum bir link iliştiriyorum: buradan
- önüne çıkacak hatalardan, "bug"lardan sıkılsan da pes etme, sebebini bulmaya çalış, hata mesajları sana çok yardımcı olacak. eğer bulamadıysan da araştır, senden önce mutlaka birisi o sorunla karşılaşmıştır. özellikle çok kullanacağın bir site: stackoverflow
- yazdığın koda mutlaka yorum satırları ekle. böylece uzun ve karmaşık kodlarda nerede ne yaptığını daha net bir şekilde takip edebilirsin.
- ilk defa programlama yapacağın için, diğer dillere göre yazımı daha basit olan dillerle başlayabilirsin. bu şekilde syntax'ın karmaşıklığında boğulmadan programlamayı öğrenebilirsin. daha zor dillerle başlanmasını önerenler de var, ama ben bu şekilde daha sağlıklı olacağını düşünüyorum. özellikle ilk dil olarak python çok iyi bir tercih.
- asıl önemli olan programlama dili öğrenmek değil, programlamanın kendisini öğrenmektir. değişen kısım dilin syntax'ı yani yazım şeklidir, bunu öğrenmek de pek vaktinizi almaz. örneğin nesne tabanlı programlama nedir; recursion nedir; classlar, nesneler, pointerlar ne anlam ifade eder bunları bilmelisiniz.
şimdilik bu kadar, aklıma gelirse tekrar editlerim.
- mümkün olduğunca çok pratik yap. leetcode, hackerrank gibi siteler bunun için kullanışlıdır.
- direkt olarak kod yazmaya başlamadan önce algoritmanı kur, nasıl yazacağın hakkında kafanda bir şema olsun. kağıda da çizebilir/yazabilirsin.
- kod yazarken mutlaka temiz, açık ve net yazdığından emin ol. bu senin ilerde çok işine yarayacak. bu konuda faydalı bulduğum bir link iliştiriyorum: buradan
- önüne çıkacak hatalardan, "bug"lardan sıkılsan da pes etme, sebebini bulmaya çalış, hata mesajları sana çok yardımcı olacak. eğer bulamadıysan da araştır, senden önce mutlaka birisi o sorunla karşılaşmıştır. özellikle çok kullanacağın bir site: stackoverflow
- yazdığın koda mutlaka yorum satırları ekle. böylece uzun ve karmaşık kodlarda nerede ne yaptığını daha net bir şekilde takip edebilirsin.
- ilk defa programlama yapacağın için, diğer dillere göre yazımı daha basit olan dillerle başlayabilirsin. bu şekilde syntax'ın karmaşıklığında boğulmadan programlamayı öğrenebilirsin. daha zor dillerle başlanmasını önerenler de var, ama ben bu şekilde daha sağlıklı olacağını düşünüyorum. özellikle ilk dil olarak python çok iyi bir tercih.
- asıl önemli olan programlama dili öğrenmek değil, programlamanın kendisini öğrenmektir. değişen kısım dilin syntax'ı yani yazım şeklidir, bunu öğrenmek de pek vaktinizi almaz. örneğin nesne tabanlı programlama nedir; recursion nedir; classlar, nesneler, pointerlar ne anlam ifade eder bunları bilmelisiniz.
şimdilik bu kadar, aklıma gelirse tekrar editlerim.
devamını gör...
5.
k.i.s.s, d.r.y, premature optimization is the root of all evil, stop writing classes. okulda öğreneceklerine ek fonksiyonel programlama dili öğrenmeni tavsiye ederim.
devamını gör...
6.
baslamayin
devamını gör...
7.
araştırın daha çok pratik yapın.
devamını gör...
8.
ingilizce
devamını gör...
9.
dilden bağımsız olarak asıl öğrenmen gereken şey algoritmadır. çözümü bulduktan sonra implementasyon yapmak kolaydır. oop abartıldığı kadar mükemmel değildir.
bir dil seç ve o dilde uzmanlaş.
tavsiyem, öncelikli olarak c#
sonra java
sonra c++.
c# kodlaması kolay, iş olanağı fazla.
java yine kodlaması kolay, iş olanağı fazla.
c++ kodlaması zor ama bilirsen işsiz kalmazsın.
ama her şeyin başı algoritma.
bir dil seç ve o dilde uzmanlaş.
tavsiyem, öncelikli olarak c#
sonra java
sonra c++.
c# kodlaması kolay, iş olanağı fazla.
java yine kodlaması kolay, iş olanağı fazla.
c++ kodlaması zor ama bilirsen işsiz kalmazsın.
ama her şeyin başı algoritma.
devamını gör...
10.
i n g i l i z c e
devamını gör...
11.
devamını gör...
12.
yazılım mühendisliği okumadan da yazılımcı olabilirsiniz.
devamını gör...
13.
valla çok büyük idealiniz değil de heves sonucu yönelmişseniz başlamayın. çünkü bu iş öyle "kopyala yapıştır yapıyorlar zaten ne var ki" diyenlerin sandığı gibi değil. o kodu niye oraya kopyalayacagını bilmek bile ayrı bir merasim. ayrıca bayağı sağlam üstünde durmayı gerektiren bir iş. tek bir hata için saatlerce, gerekirse günlerce o koltuğa yapışmayı, araştırmacı olmayı göze alamıyorsanız zaten hiç başlamayın.
ki bu iş kod öğrenmekle de bitmiyor. bir de relational database bilmek gerek. herşeyı de solid'e uygun yapmak gerek olabildiğince. o ayrı dert.
oop adayları için edit: nesne, referans tip ve soyutlamayı çok iyi anlayın. orada eksikseniz ne dependency injection ne başka birsey yapabilirsiniz, çakılır kalırsınız.
aha hata editi: bir dependency ve validasyon ekledim. çalışan proje calışıp stop etmeye başladı. hadi bul simdi karın ağrısı ne bunun diye.
bak bir hata daha editi: onu çözdüm başkası çıktı. (bkz: laaaaaan)
ki bu iş kod öğrenmekle de bitmiyor. bir de relational database bilmek gerek. herşeyı de solid'e uygun yapmak gerek olabildiğince. o ayrı dert.
oop adayları için edit: nesne, referans tip ve soyutlamayı çok iyi anlayın. orada eksikseniz ne dependency injection ne başka birsey yapabilirsiniz, çakılır kalırsınız.
aha hata editi: bir dependency ve validasyon ekledim. çalışan proje calışıp stop etmeye başladı. hadi bul simdi karın ağrısı ne bunun diye.
bak bir hata daha editi: onu çözdüm başkası çıktı. (bkz: laaaaaan)
devamını gör...
14.
devamını gör...
15.
eğer ilginiz yoksa, başlamayın.
devamını gör...
16.
teknik islerden zevk almiyorsaniz bulasmayin. para icin bulasmayin. "1 milyon yazilimci yetistiriyoruz", "yazilimcilar yurt disina kolay cikiyor" gibi seylere de aldanmayin. hayal bile edemeyecegeniz kadar hirsli/hayati olmayan ve surekli calisan insanlar var bu sektorde. bu adamlar baskalarina ekmek yedirmiyor. kiyida kosede kalirsiniz.
ayrica kimse yurt disina kadar cekilenleri anlatmiyor. herkes "500000usd/yil maas ile facebook da baslarim ya" hayallerini kuruyor.
basladiysaniz eger, projeler yapmaya calisin, zamanla kendinizi yonetmeyi ogrenirsiniz.
bir dil/framework ogrenmek istiyorsaniz da leetcode sorularini o dil/framework ile cozmeye calisin.
ayrica kimse yurt disina kadar cekilenleri anlatmiyor. herkes "500000usd/yil maas ile facebook da baslarim ya" hayallerini kuruyor.
basladiysaniz eger, projeler yapmaya calisin, zamanla kendinizi yonetmeyi ogrenirsiniz.
bir dil/framework ogrenmek istiyorsaniz da leetcode sorularini o dil/framework ile cozmeye calisin.
devamını gör...
17.
üniversitesini okurum çalışırım kafasıyla bakıyorsanız okumayın. yazılım sektörü her an güncellenen bir sektördür. ha bu arada oturduğu yerden iki kod yazıyor alıyor maaşını olarak görmeyin! adamlar kafa patlatıyor o hatalar için.
devamını gör...
18.
neden yazılıma başladığını düşünmelisin ilk olarak. zengin olmak için mi hıh. örnekleri yok değil ama milyonda bir yani. sevdiğin için mi işte bu olabilir. sevdiğin için yazılım öğrenirsen ileride hayatını idame ettirebilirsin neden olmasın.
şu yazılımı öğren bunu öğren diyenlere kulak asmayın. çünkü her dilin amacı farklıdır. evet sizde hangisine başlayacağını bilmiyorsanız amacınıza odaklanın. ne için yazılım öğrenmek istiyorsun. uygulama geliştirmek mi yoksa web tasarım mı, haa oyun mu yapacaksın işte kendi amacınıza göre yazılım dilinizi seçmeniz gerekiyor.
yazılıma başlarken kesinlikle algoritma mantığını öğrenmeniz gerekir. bu mantığı kafanızda kuramıyorsanız bir proje yaparken çok zorlanırsınız. algoritmayı öğrendiniz ve yazılım dilini seçtiniz. eee ne duruyorsunuz. çalışmaya başlayabilirsiniz. "hello wold"
şu yazılımı öğren bunu öğren diyenlere kulak asmayın. çünkü her dilin amacı farklıdır. evet sizde hangisine başlayacağını bilmiyorsanız amacınıza odaklanın. ne için yazılım öğrenmek istiyorsun. uygulama geliştirmek mi yoksa web tasarım mı, haa oyun mu yapacaksın işte kendi amacınıza göre yazılım dilinizi seçmeniz gerekiyor.
yazılıma başlarken kesinlikle algoritma mantığını öğrenmeniz gerekir. bu mantığı kafanızda kuramıyorsanız bir proje yaparken çok zorlanırsınız. algoritmayı öğrendiniz ve yazılım dilini seçtiniz. eee ne duruyorsunuz. çalışmaya başlayabilirsiniz. "hello wold"
devamını gör...
19.
arduino ile robotik öğreniyorum kurslarında verilenleri buraya yazıyorum.
ingilizce öğrenin, internete girin, hazır projelerden birisini seçin, driver listesinden ihtiyacınız olan kütüphaneleri indirin, malzemeleri alın, devreleri bağlayın, mekanik gövdeyi oluşturun, hazır sürücüleri kurun, değerleri deneye yanıla ya da bir mühendis edasıyla hesaplayarak doğru seviyelere çekin.
yuvarlak çerçeve bir de gözlük taktınız mıydı
hoop robotikçi oldunuz.
ingilizce öğrenin, internete girin, hazır projelerden birisini seçin, driver listesinden ihtiyacınız olan kütüphaneleri indirin, malzemeleri alın, devreleri bağlayın, mekanik gövdeyi oluşturun, hazır sürücüleri kurun, değerleri deneye yanıla ya da bir mühendis edasıyla hesaplayarak doğru seviyelere çekin.
yuvarlak çerçeve bir de gözlük taktınız mıydı
hoop robotikçi oldunuz.
devamını gör...
20.
matematik bilmiyorsanız başlamayın.
devamını gör...