Programlamadan bir programlama diline hakim olma?


9

Bilgisayar bilimcisi Peter Norvig , 10 Yılda Kendine Program Öğretme makalesinde yaklaşık 10.000 saatlik uygulamaya ihtiyacınız olduğunu savundu .

Ancak Jeff Atwood, daha iyi bir programcı olmanın tek yolunun programlamamak olduğuna inandığını değil, Programlama Yaparak Nasıl Daha İyi Bir Programcı Olunabileceğini savundu .

Bu makaleler muhaliftir. Jeff Atwood yaklaşımını kanıtlamak için bilimsel bir kanıt var mı?


12
Başlıklara bakarken bunların nasıl ters olduklarını göremiyorum. Her ikisi de önemlidir, ancak aslında programlama ve aynı zamanda işte kullanılan programlama dışı beceriler üzerinde çalışıyor. İkisi de diğerini yapmamanız gerektiğini söylemiyor. Her biri, bir şeyin diğerine ek olarak önemli olduğunu söylüyor .
Servy

2
Meta yorumları meta olarak taşıyalım, lütfen. meta.programmers.stackexchange.com/q/6137/53019

Yanıtlar:


28

Konuyu kaçırıyorsun.

Jeff Atwood mükemmel bir programcı olmanın sadece kodlama becerisinden daha fazlasını gerektirdiğini söylüyor . Ayrıca iyi bir tasarımcı olmayı, diğer insanlarla iyi çalışmayı ve genel olarak daha iyi bir düşünür ve problem çözücü olmayı gerektirir.

En büyük eksik beceri, hem mühendisliği anlamada iyi olan hem de sert çekirdekli mühendislerle iyi ilişkileri olan ve müşterilerle çalışmak için köprüler olan birisidir.

- Bill Gates

Peter Norvig'in amacı, "24 Saatte Master Programcı Ol" un bir kopyasını alamamanız ve çalışmasını beklemeniz. Ancak Stack Overflow'da soru soran kaç kişi tam olarak programlamaya yaklaşıyor gibi görünüyor. Eclipse'i yükleyebileceklerini, birkaç anahtar kelime öğrenebileceklerini ve bir sonraki Angry Birds'ü yazabileceklerini düşünüyorlar. Bundan biraz daha fazlası gerekiyor.


5
Hayır, kızgın kuşlar muhtemelen kuşların komik fotoğrafları ile tekrar tekrar 2 veya 3 anahtar kelime reklam müzesi gibidir. Evet. Kuşbilimciler için bir veritabanı değil mi?
Jimmy Hoffa

Peki, ama belli bir şekilde Peter Norving'in amacı, programlama dilini yüzeysel bir şekilde (yani makalesinin merkezi noktası) bilmemek "ustalaşmak" gerçeğinden bahseder. Aslında, Peter ve Jeff Atwood bir "usta" anlamına gelir. Jeff Atwood'un duruşunu tarif ettiğiniz gibi, Peter Norving'in mükemmel bir programcı olmanın çok fazla kodlama (örtük öğrenme konuları ile) ve pratik gerektirdiğini söylediğini açıklıyorum.
bywronski

2
@Wronski: Ah, geri döndün, anladım! Seni tekrar görmek güzel. Siz yokken sorunuzu tartışıyor, kapatıyor ve yeniden açıyorduk. Her neyse, tam olarak ne diyorsun? Peter Norving'in amacı 24 saat, hatta 21 gün içinde usta olamazsınız. Jeff Atwood'un amacı, sadece kod yazarak usta olamazsınız. İkisi de haklı.
Robert Harvey

@RobertHarvey Neden kapatıp yeniden açıyorsunuz? Peter Norving makalesini sadece iyi bir "kodlama" olarak ve Jeff Atwood makalesini iyi bir "mühendis" olarak yorumlamalı mıyım? Biraz kafam karıştı.
bywronski

1
@Wronski: Ustalar hem iyi kodlayıcılar hem de iyi mühendislerdir.
Robert Harvey

10

"Programlama Değil" bölümü, çok sayıda programlama uygulamasından sonra gelmelidir.

the only way to become a better programmer is by not programming

Daha iyi bir program olabilmeniz için önce programcı olmanız gerekir. İlk programlama dili öğrenme bariyeri tek başına çok fazla çaba harcayacak ve problem çözme kısmı daha sonra karşılaşacağınız sorunlara kıyasla önemsiz olacaktır.

GÜNCELLEME:

Yorumlarda önerildiği gibi, bir programcı olarak ilk başladığınızda hala "aka programlama değil: (düşünme)" avantajından yararlanabilirsiniz, ancak birileri daha iyi olmak için bunu yapmam gerektiğini söylediğinden klavyeden uzaklaşmazdım. bunu yapmalısınız çünkü daha fazla düşünmeniz gerektiğini biliyorsunuz.


2
Belki. Ancak tasarım becerileri, başlangıçta bile çok uzakta değildir; kodlama yeteneğinizden bağımsız olarak insanların becerileri değerlidir.
Robert Harvey

@RobertHarvey Evet, ancak Jeff Atwood'un makalesi, problem çözme ve ne programladığınızı düşünmek için bilgisayardan uzaklaşmayla ilgili daha fazla gibi görünüyor.
Korey Hinton

2
@KoreyHinton Bu, birisinin ilk programlama problemini çözerken yapmasının tamamen uygun olacağı bir şeydir. Bunu ilk günden itibaren yapabilirsin ve yapmalısın, zaten bir kez yetkin olduktan sonra değil, Robert'in söylediği bu.
Servy

1
@KoreyHinton Bu yüzden hiç kimse (ne makale, ne de burada cevap veren herhangi biri) sadece birini ya da diğerini yapmanız gerektiğini söylemiyor. Her ikisini de yapmanın önemli olduğunu söylüyorlar, çünkü beceriler birbirini tamamlıyor.
Servy

1
@Wronski Bence Robert, ilk öğrenme programlaması sırasında programlama dışı becerilerin öğrenilebileceğinin tam tersini savunuyor. Ben de buna katılıyorum, ama başlangıçta öğrenme sürecini bizzat zorlaştırmama sevindim. Odak noktam, önce programlama becerilerine, ikinci olarak düşünme becerilerine öncelik verdiğinizden bahsetti ve şimdi her ikisini de sürekli geliştirmeye çalışıyorum.
Korey Hinton
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.