Dapat menghabiskan waktu (dan berpartisipasi aktif) pada Programmer.SE dan Stack Overflow membantu saya meningkatkan keterampilan pemrograman saya mendekati apa yang menghabiskan waktu membaca buku seperti Code Complete 2 (yang kalau tidak akan menjadi berikutnya dalam daftar bacaan saya) akan membantu.
Ok, mungkin jawaban untuk pertanyaan ini untuk seseorang yang mulai dengan pemrograman mungkin tidak langsung, tapi saya ingin menambahkan bahwa pertanyaan ini saya tanyakan dalam konteks ketika orang tersebut akrab dengan bahasa pemrograman tetapi ingin meningkatkan keterampilan pemrogramannya. Saya membaca pertanyaan ini di SO dan juga buku ini telah direkomendasikan oleh banyak orang lain (termasuk Jeff dan Joel ).
Untuk lebih spesifik, saya juga menambahkan bahwa meskipun saya melakukan pemrograman dalam C, Java, Python, dll tetapi saya masih tidak senang dengan keterampilan pengkodean saya dan membaca review CC2 saya menyadari saya masih perlu banyak meningkatkan .
Jadi, pada dasarnya saya ingin tahu apa cara terbaik bagi saya untuk meningkatkan keterampilan pemrograman - menghabiskan lebih banyak waktu di sini / SO atau melanjutkan dengan CC2 dan mungkin datang ke sini kapan saja.
sumber
Jawaban:
Tidak, itu bukan pengganti, tetapi pelengkap yang sempurna . Saya merasakan kombinasi keduanya memegang banyak kekuatan.
Mengapa kuliah yang bagus mengajarkan Anda lebih dari sekadar membaca buku? Interaksi dan kemampuan untuk bertanya.
Dengan hanya membaca buku, beberapa pertanyaan mungkin muncul sehingga Anda tidak dapat menemukan jawaban. Cari pertanyaan-pertanyaan itu di sini, atau tanyakan apakah belum pernah dibahas sebelumnya.
sumber
Saya (saat ini) menjadi anggota StackOverflow selama 1 tahun dan 10 bulan. Selama ini saya telah menjadi mahasiswa yang disiplin dalam bidang ini: sadar akan arsitektur, pola, decoupling, pengujian unit, dan daftarnya bisa berlanjut ... tetapi, apa peran yang dimainkan SO ???
Pertama, itu menjawab pertanyaan langsung saya. Tetapi ketika saya mulai mengeksplorasi SO, saya menemukan bahwa saya adalah programmer yang sangat buruk. Berkeinginan untuk menjadi tukang di kerajinan saya, saya membeli buku ... tapi itu tidak C # Unleashed, Belajar C # Programming, atau lainnya
sub-standarpemula teks yang saya butuhkan. Saya membeli buku yang tepat yang menargetkan bidang keterampilan yang saya temukan kurang. Tentu saja, saya meluangkan waktu untuk melihat apa yang direkomendasikan oleh para pakar SO.Kedua, SO memberi saya tempat untuk terus belajar dari mereka yang (diwakili oleh reputasi) benar-benar tahu apa yang mereka lakukan - secara sintaksis dan filosofis. Ada sejumlah wawasan yang harus diperoleh tentang SO, CodeReview, dan Programmer yang tidak bisa Anda dapatkan dari buku.
Jelas, SO tidak dapat mengganti buku atau semua sumber daya web lainnya (walaupun, jika saya dapat menggabungkan MSDN dan SO menjadi satu sumber daya konten ...); sebaliknya, SO melengkapi sumber daya lain ini. Namun, guru terbaik tetap pengalaman .
sumber
Memprogram lebih banyak. Membaca buku dan halaman web adalah hal sekunder.
Anda belajar paling baik dengan melakukan.
sumber
Belajar membutuhkan beberapa bahan:
Apakah Anda seorang pembelajar yang baik? Apakah Anda menghabiskan cukup waktu untuk belajar? Jika jawaban dari 2 pertanyaan ini adalah ya , maka Anda sudah memiliki potensi yang cukup untuk belajar hampir dari sumber apa pun.
Tetapi untuk menjawab pertanyaan Anda, ya, saya pribadi belajar banyak dari situs SE. IMHO, mereka seharusnya tidak menjadi satu - satunya sumber belajar Anda, tetapi mereka bermanfaat.
sumber
Dua hal yang ditawarkan SO dan P.SE yang tidak ditawarkan oleh buku maupun penulisan kode sendiri: pengujian dan pengajaran. Jika Anda secara buta mengajukan pertanyaan seperti
Dan seseorang berkata "pada baris 33 bahwa koma harus menjadi titik koma" dan Anda menerima jawabannya dan melanjutkan, dan terus menanyakan pertanyaan yang sama selamanya, maka Anda mungkin tidak membaik.
TETAPI, jika Anda membaca pertanyaan orang lain, memikirkan jawabannya, menonton untuk melihat jawaban apa yang masuk dan bagaimana mereka membandingkannya dengan apa yang Anda ketahui, itu akan sangat meningkatkan Anda. Jika Anda mengetikkan beberapa kode ke editor favorit Anda dan mencoba beberapa hal untuk melihat apa jawabannya, itu akan sangat meningkatkan Anda. Dan ketika Anda mulai mencoba menjelaskan konsep (dan orang-orang menunggu di sana untuk "mengklarifikasi" apa yang Anda katakan) itu juga akan meningkatkan Anda.
Selama sekitar 30 tahun sekarang saya telah menemukan bahwa saya tidak pernah mempelajari suatu topik dengan baik seperti ketika, percaya saya tahu itu, saya mulai mengajarkannya. Bagi saya itu adalah kontribusi utama dari situs * .se untuk keterampilan saya sebagai pengembang. Plus, ketika saya hanya ingin tahu fakta sederhana, ini adalah tempat nomor satu saya untuk mencari (atau sesekali bertanya).
sumber
Keterampilan pemrograman Anda ditingkatkan yang terbaik bukan dengan membaca situs web atau buku, tetapi dengan mengulangi
Latihan membuat sempurna. Apa yang terlihat bagus di blog atau di buku mungkin terbukti tidak praktis untuk digunakan karena alasan yang tidak dimengerti oleh penulis blog, atau yang tidak dicakup oleh penulis buku.
sumber
Ketika Anda menjawab sendiri, tidak, tetapi menghabiskan waktu di sini adalah tambahan yang berguna untuk pembelajaran yang lebih terstruktur. Saya tidak akan bergantung padanya mandiri karena mungkin ada kesenjangan dalam beberapa konsep yang mungkin tidak tercakup. Salah satu taruhan terbaik Anda untuk meningkatkan koding Anda untuk orang-orang di tingkat menengah adalah membaca kode pengembang baik lainnya dengan menghabiskan waktu di GitHub atau repositori open-source lainnya.
sumber
Pemikiran dan Analisis Kritis masih diperlukan
Dalam dan dari dirinya sendiri tidak. Satu-satunya cara untuk membuat sumber pembelajaran (buku, blog, situs web, SO, dll) adalah dengan pemahaman, analisis dan kemudian penggabungan berulang. Apa yang ditulis orang di forum seperti ini bukan Injil dan tidak boleh diperlakukan seperti itu, tidak peduli berapa banyak suara yang dimilikinya. Anda perlu melakukan analisis Anda sendiri pada pendapat yang diberikan untuk mencari tahu apakah itu:
Cara Terbaik untuk Meningkatkan
Seringkali khusus untuk orang tersebut. Beberapa orang menjadi lebih baik melalui membaca dan meneliti. Beberapa orang menjadi lebih baik melalui permainan dan eksperimen. Yang lain bahkan bisa menjadi lebih baik melalui refleksi dan analisis diri. Cobalah apa pun yang menarik bagi Anda dan lihat apakah itu bekerja lebih baik untuk Anda.
sumber
Belajar java menjadi jauh lebih mudah ketika saya mengetahui tentang stackoverflow. Saya tidak mengajukan pertanyaan, tetapi saya mulai membaca pertanyaan java setiap hari. Sebagian besar pertanyaan di luar pemahaman saya, tetapi sesekali seseorang menanyakan pertanyaan pemula. Banyak orang bertanya tentang konsep yang mereka baca dari sebuah buku tetapi tidak mengerti, dan mendapatkan jawaban yang jauh lebih dimengerti di sini, seringkali dengan sampel kode kecil untuk lebih menjelaskan masalah.
sumber