[]

Yazılım dili nasıl çalışılır?

Efektif çalışma yöntemi nedir? Örneğin şu an 150 saatlik bir kurs izliyorum. Yazılım dili değil ama css üzerine. Kursu yapan kişinin videoları, özellikle detaylı e-ticaret sitesi yapımı güzel fakat bir zaman sonra sürekli aynı şeyleri yazması “izlesem yeter, arkasından yazmaya gerek yok” hissi uyandırıyor. Öte yandan w3school sitesinden de çalıştım fakat bu tip öğrenimlerde en efektif yöntem bu tip örnekleri yapanın arkasından tekrar etmek mi, internette beğendiğimiz websitelerde kullanılan syntaxlara bakmak mı, yoksa github örnekleri alıp incelemek mi?
Tabi sorduğum şey genel bir soru; html, css yani önyüz için değil de yazılım dilleri için geçerli.



 
Bence konu anlatımını okuyup veya izleyip defalarca küçük küçük ödevler üretip/bulup uygulayarak, hata yapıp tekrar okuyup tekrar deneyerek ve hataları düzelterek başlangıç yapılır. Bu şekilde ilerlenir ve daha kompleks projeler üretilir. İlginiz varsa zaten ilerledikçe daha kompleks şeylerin nasıl yapılırlığının cevabını arayacaksınız. Takıldığınız yerleri internette nasıl arayacağınızı bilmek bu işin en önemli yeri olabilir. Gerisi zaten bi şekilde gelecektir.


  • Kahir ekseriyet  (18.02.21 20:29:12) 
ben önce dersi izliyordum baştan sona.
sonra o dersi izlerken, adamın yaptığı şeylerin aynısını yaparak (yani durdura durdura) bir kere daha izliyordum.
daha sonra da o dersi açmadan, aynı dersin farklı bir versionunu yapmaya çalışıyor ve takıldığım yerlerde hem google, hem derse giriyordum.
  • tchuck  (18.02.21 20:51:02) 
yazilim izleyerek ogrenilmez. kendine bir tane "pet project" bulursun, o projeyi yazmaya calisirken dili, frameworkleri ogrenirsin.


  • crucio  (18.02.21 22:23:15) 
crucio +5


  • foster  (18.02.21 23:04:39) 
ben kafama göre bir proje ayarlayıp onu yazmaya çalışırken öğrenebiliyorum ancak. izleyerek öğrenirken "hee güzel mantıklı" deyip geçiyorum aklımda kalmıyor yani. aklımda kalması için yazmam kurcalamam ve google da takıldığım yeri aratıp öğrenmem lazım. yazılımcı değilim, python'u öyle öğrendim.


  • roket adam  (19.02.21 00:00:47 ~ 00:01:00) 
@crucio +0.5, tam 1 değil, çünkü:

Evet, yapmadan öğrenmek mümkün değil. Hatta bence video izlemek başta zararlı bir şey bile, öğrenmeyi baltalıyor. Ben öğrenirken hiç video izlemedim, zaten video falan da yoktu o zamanlar. Referans kitap vardı, takılınca açıp bakıyordum.

Öte yandan sadece proje yapmak da yeterli değil, sadece proje yaparsan mantığı anlamadan, yüzeysel bir şekilde öğrenip geçersin. Hele de ezber yeteneğin iyiyse 3-5 bişey yaptıktan sonra "kaptım bu işi" diye düşünürsün, eksiğini de farkedemezsin, çok insan düşüyor bu hataya.

Yani proje yap, ama yanında algoritma pratikleri var, onları da yap. Bir de kullandığın dil neyse açıp dökümantasyonunu oku, kaputun altında işler nasıl yürüyor onları öğrenmeye çalış.

Bir de evet, github'dan kod oku. Başta sıkıcı/anlamsız gelebilir, kod okumayı öğrenmek, bu adam burayı niye öyle değil de böyle yapmış diye sorma alışkanlığını kazanmak biraz zaman alıyor. Ama (kulağa komik gelse de) kod yazmak sosyal bir iş, en çok başkalarından öğreniyorsun.
  • plutongezegendegilmi  (19.02.21 00:16:54 ~ 00:18:32) 
Hepsi iyi aslında.

Ama bu iş pratik yapmadan öğrenilemez. Yani ezberle yap gibi bir durum söz konusu değil pek.

Ben kişisel olarak öğrenme aşamalarını şöyle değerlendiriyorum.
Bu her zanaat için böyle bana göre: İster motor ustası ol, ister yazılımcı.

1-İzlemek / dinlemek:
Önce bir izle dinle. Ne gibi teknikler uygulayacağını ana resmi bir anla.

2-Taklit etmek:
Bu işi bilen birinin konuya nasıl yaklaştığını birebir taklit etmek. Bu aşama el ve düşünme pratiği kazanmayı sağlar. Nasıl sorular sorulduğunu, nasıl çözümler üretildiğini görmek ve birebir aynı yaklaşımla uygulamak her zaman işe yarar.
Youtube'dan bir tutorial aç. Adım adım adam ne yapırsa aynısını yap.

3-Takliti modifiye etmek:
Zaman içinde birçok yöntem görüyorsun. Mesela bir tutorial izledin. Atıyorum basit bir uygulama yaptın baka baka. Şimdi aynı uygulamayı modifiye et. Başka platformlarda öğrendiğin teknikleri uygula.

Daha hızlı çalışmasını sağlayabilir misin? Daha farklı bir algoritma deneyebilir misin? Hali hazırda bir iskeletin üzerinde bunları yapmak daha kolaydır.

Atıyorum basit fotoğraf galerisi yaptın baka baka. Şimdi o fotoğraf galerisine yeni bir özellik eklemeyi dene. Mesela galerideki fotoğrafları kullanıcı yanyana ya da dikey listeleyebilsin.

4-Problem çözmek
Bu aşamada artık daha az destek alarak ilerle.
Mesela kendin sıfırdan bir uygulama tasarla.
Aklına gelen fikirleri hayata geçirmeye çalış.
Stackexchange gibi sitelerde insanların takıldığı problemler için fikirler üretmeye çalış.

Benim aklıma gelen çözüm önerileri bunlar:)
  • anten  (19.02.21 13:07:55) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.