Menguasai bahasa pemrograman dengan tidak pemrograman?

9

Ilmuwan komputer Peter Norvig berpendapat dalam esainya Teach Yourself To Program dalam 10 tahun bahwa Anda membutuhkan sekitar 10.000 jam latihan.

Tetapi Jeff Atwood berpendapat dalam postingannya Bagaimana Menjadi Programmer yang Lebih Baik dengan Tidak Memprogram bahwa ia percaya satu-satunya cara untuk menjadi programmer yang lebih baik adalah dengan tidak pemrograman.

Artikel-artikel ini bertentangan. Apakah ada bukti ilmiah untuk membuktikan pendekatan Jeff Atwood?

bywronski
sumber
12
Saya gagal melihat bagaimana mereka bertentangan sama sekali, ketika melihat melewati judul. Keduanya penting, tetapi sebenarnya pemrograman dan juga bekerja pada keterampilan non-pemrograman yang digunakan pada pekerjaan itu. Tidak ada yang mengatakan Anda tidak harus melakukan yang lain. Mereka masing-masing mengatakan bahwa satu hal itu penting selain yang lain.
Servy
2
Mari kita pindahkan komentar meta ke meta. meta.programmers.stackexchange.com/q/6137/53019

Jawaban:

28

Anda tidak mengerti intinya.

Jeff Atwood mengatakan bahwa menjadi programmer yang hebat membutuhkan lebih dari sekedar keterampilan coding. Ini juga membutuhkan menjadi perancang yang baik, bekerja dengan baik dengan orang lain, dan secara umum menjadi pemikir dan pemecah masalah yang lebih baik.

Keterampilan hilang terbesar adalah seseorang yang pandai memahami teknik dan yang memiliki hubungan baik dengan insinyur hard-core, dan menjembatani itu untuk bekerja dengan pelanggan.

-- Bill Gates

Maksud Peter Norvig adalah bahwa Anda tidak dapat mengambil salinan "Menjadi Programmer Master dalam 24 Jam" dan berharap itu berfungsi. Tapi itulah tepatnya berapa banyak orang yang mengajukan pertanyaan di Stack Overflow tampaknya mendekati pemrograman. Mereka pikir mereka dapat memuat Eclipse, mempelajari beberapa kata kunci, dan menulis Angry Birds berikutnya. Dibutuhkan lebih dari itu.

Robert Harvey
sumber
5
Nah, burung-burung yang marah mungkin seperti 2 atau 3 kata kunci yang diulangi nauseum dengan foto-foto lucu burung. Ya. Ini adalah database untuk ahli burung, bukan?
Jimmy Hoffa
Yah, tetapi dengan cara tertentu poin Peter Norving merujuk pada fakta "menguasai" tidak mengetahui dengan cara yang dangkal (itu adalah titik sentral dari artikelnya) bahasa pemrograman. Bahkan, Peter dan Jeff Atwood merujuk sebagai "tuan". Sebagai cara yang sama Anda menggambarkan postur Jeff Atwood, saya menggambarkan bahwa Peter Norving mengatakan bahwa menjadi seorang programmer yang hebat membutuhkan banyak pengkodean (dengan topik pembelajaran implisit) dan praktik.
bywronski
2
@Wronski: Ah, Anda kembali, saya mengerti! Senang bertemu denganmu lagi. Saat Anda pergi, kami mendiskusikan pertanyaan Anda, menutupnya, dan membukanya kembali. Pokoknya, jadi apa yang kamu katakan, tepatnya? Maksud Peter Norving adalah Anda tidak bisa menjadi master dalam 24 jam, atau bahkan 21 hari. Poin Jeff Atwood adalah bahwa Anda tidak bisa menjadi master hanya dengan menulis kode. Keduanya benar.
Robert Harvey
@RobertHarvey Mengapa menutup dan membukanya kembali ?. Haruskah saya menafsirkan artikel Peter Norving sebagai "pengkodean" yang bagus saja, dan artikel Jeff Atwood sesuatu untuk menjadi "insinyur" yang baik? Saya agak bingung.
bywronski
1
@Wronski: Master adalah coders yang baik dan insinyur yang baik.
Robert Harvey
10

Bagian "Not Programming" akan muncul setelah banyak latihan pemrograman.

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

Anda harus menjadi seorang programmer terlebih dahulu sebelum Anda bisa menjadi yang lebih baik. Penghalang pembelajaran bahasa pemrograman pertama akan membutuhkan banyak upaya sendirian dan bagian pemecahan masalah akan sepele dibandingkan dengan masalah yang harus Anda hadapi nanti.

MEMPERBARUI:

Seperti yang disarankan dalam komentar, Anda masih bisa mendapat manfaat dari "tidak pemrograman alias: (berpikir)" ketika pertama kali memulai sebagai programmer tetapi saya tidak akan menjauh dari keyboard hanya karena seseorang mengatakan saya harus melakukan itu untuk menjadi lebih baik, daripada Anda harus melakukannya karena Anda tahu Anda harus lebih memikirkannya.

Korey Hinton
sumber
2
Mungkin. Tetapi keterampilan desain tidak begitu jauh, bahkan ketika pertama kali memulai; dan keterampilan orang sangat berharga, terlepas dari kemampuan pengkodean Anda.
Robert Harvey
@RobertHarvey Ya, tapi artikel Jeff Atwood tampaknya lebih tentang pemecahan masalah dan menjauh dari komputer untuk memikirkan apa yang Anda pemrograman.
Korey Hinton
2
@KoreyHinton Yang merupakan sesuatu yang sepenuhnya tepat bagi seseorang untuk dilakukan ketika memecahkan masalah pemrograman pertama mereka. Anda dapat dan seharusnya melakukan itu sejak hari pertama, tidak begitu Anda sudah mahir, itulah yang dikatakan Robert.
Servy
1
@KoreyHinton Itulah sebabnya tidak ada seorang pun (baik artikel, maupun orang yang menjawab di sini) yang mengatakan Anda seharusnya hanya melakukan satu atau yang lain. Mereka mengatakan penting untuk melakukan keduanya, karena keterampilan saling melengkapi.
Servy
1
@Wronski Saya pikir Robert berpendapat titik berlawanan bahwa keterampilan non-pemrograman dapat dipelajari saat pertama belajar pemrograman. Saya setuju dengan ini juga, tetapi saya senang bahwa saya pribadi tidak terlalu menyulitkan proses belajar di awal. Fokus saya adalah seperti yang Anda sebutkan diprioritaskan dengan keterampilan pemrograman pertama, keterampilan berpikir kedua dan sekarang saya terus berusaha untuk meningkatkan keduanya.
Korey Hinton