Saya menemukan bahwa ketika seseorang bertanya apa cara terbaik untuk belajar bagaimana memprogram, orang biasanya memberi mereka referensi ke banyak teks yang ditulis oleh berbagai penulis.
Namun saya tidak percaya banyak orang yang sama sekali belajar program dari buku. Saya menemukan bahwa mereka biasanya dihadapkan dengan tantangan dan kemudian menggunakan pemrograman sebagai alat untuk mengatasinya.
Misalnya saya 'masuk' pemrograman karena saya ingin memulai server untuk permainan yang saya mainkan, jadi saya mencari di Google dan membaca dukungan untuk server tertentu dan sekarang saya seorang insinyur perangkat lunak yang dipekerjakan, hanya menggunakan keterampilan yang saya kembangkan ( dan kemudian dikembangkan lebih lanjut) dengan mengkode skrip C # untuk paket server yang tidak terlalu populer.
Jadi pertanyaan saya adalah, apakah orang umumnya merasa lebih mudah untuk belajar dari buku-buku ini? Saya tahu saya telah melihat beberapa dari mereka dan menemukan mereka terlalu 'kering' untuk mendorong saya menyelesaikannya.
sumber
Jawaban:
Begini cara saya belajar, secara umum:
Catatan: poin ketiga terkadang lebih dulu.
Sunting : Untuk menjawab pertanyaan "Mengapa?"
Google hebat untuk mengetahui cara melakukan sesuatu, tetapi tidak bagus untuk mengetahui apa yang tidak Anda ketahui. Mengapa Anda pernah Google "delegasi C #," jika Anda tidak tahu bahwa C # memiliki konsep yang disebut delegasi dan bahwa mungkin berguna untuk memecahkan masalah yang sedang Anda kerjakan?
Juga, rasio signal-to-noise kadang-kadang agak tinggi. Jika Anda memiliki ide kasar di kepala Anda tentang bagaimana sesuatu dilakukan maka Anda dapat dengan mudah mengkonfirmasi apakah artikel yang Anda baca itu benar. Tetapi jika Anda tidak memiliki petunjuk ... Anda bisa berakhir dalam kekacauan yang lebih besar.
sumber
Beberapa alasan mengapa buku masih relevan:
Tetapi sebuah buku tidak akan pernah membawa Anda sepenuhnya, itu hanya akan mendorong Anda ke arah yang benar.
sumber
Ketika saya belajar pemrograman pada 1980-an buku-buku di mana kurang lebih satu-satunya sumber informasi yang tersedia untuk sepenuhnya belajar bahasa pemrograman secara keseluruhan. Selain itu Anda bisa membeli majalah komputer, tetapi isinya adalah artikel acak yang mungkin menarik dan bermanfaat atau tidak.
Saat ini Anda dapat menemukan semua informasi yang Anda butuhkan di Internet. Meskipun saya akan menganggap tutorial yang lengkap cukup mirip dengan buku.
Cara Anda belajar mungkin tergantung pada preferensi pribadi Anda atau pada kebutuhan aktual.
Keuntungan dari "teks lengkap", jika buku atau tutorial online, akan mencakup materi yang, meskipun sebenarnya tidak diperlukan, akan membantu Anda nanti. Hanya untuk mengetahui bahwa sesuatu itu mungkin dan untuk mengetahui di mana menemukannya. Terutama jika Anda belajar tentang lingkungan yang kompleks atau bahasa yang sangat kompleks seperti C ++. Anda dapat membaca banyak blog kecil tentang Ruby on Rails tanpa pernah mendengar tentang Ajax atau masalah keamanan. Selama Anda hanya bermain-main, ini mungkin tidak ada masalah. Tetapi jika, seperti yang terjadi pada saya, Anda ingin masuk ke pengembangan Ruby on Rails profesional dalam beberapa minggu, kemudian bekerja dengan teks yang mencakup semua poin penting akan banyak membantu.
Buku-buku lain membahas detail tentang gaya pemrograman, praktik terbaik, pola desain, atau kelompok algoritma tertentu. Anda dapat bekerja dengan mereka dan mungkin dari semua pola desain Anda hanya akan menerapkan subset yang sangat kecil. Tetap saja, sangat membantu untuk mengenal mereka dan tahu di mana menemukannya. Dan itu hanyalah cara untuk melatih proses pemikiran Anda ke arah di mana Anda lebih tertarik dalam "membangun solusi" daripada "membuatnya berjalan entah bagaimana".
Secara pribadi saya suka membaca, jadi saya tidak merasa buku-buku itu kering. Meskipun tentu saja penting, bahwa buku itu berada pada tingkat pengetahuan Anda yang sebenarnya atau lebih dari itu. Jika Anda sudah menguasai semua dasar-dasar C #, tidak masuk akal untuk membaca buku pemula.
sumber
Buku (atau dokumentasi web yang terstruktur seperti buku) masih menjadi cara favorit saya mempelajari sebagian besar bahasa
Jika Anda hanya menyelami bahasa dan mencari tahu sendiri, Anda mungkin akan kehilangan aspek-aspek penting, yang akan disampaikan buku bagus kepada Anda pada waktu yang tepat.
Sebagai contoh, beberapa rekan saya mempelajari Jawa dengan menyelam tanpa buku. Mereka telah pemrograman di Jawa selama beberapa tahun, ketika saya menemukan mereka secara rutin memanipulasi array byte [] dengan mengubah array menjadi sebuah String, menggunakan .substring (), kemudian mengubah String kembali menjadi sebuah array. System.ArrayCopy () diperkenalkan pada halaman 155 dari Java In A Nutshell
Saya harap Anda menyadari bahwa belajar lebih mudah dengan seorang guru, daripada sendirian. Buku yang bagus adalah pengganti yang murah untuk guru yang baik. Ini akan memperkenalkan konsep dalam urutan yang direncanakan dengan hati-hati, sehingga Anda dapat membangun pemahaman yang menyeluruh - tidak hanya cukup untuk bertahan.
sumber
Saya pikir Anda mungkin ke sesuatu. Bagi saya setidaknya, sebagian besar keterampilan saya berasal dari keinginan / membutuhkan program yang "X".
Mungkin orang yang belajar dengan cara ini tidak meminta bantuan; mereka terlalu sibuk menyelesaikannya (buruk, tetapi belajar sepanjang jalan). Orang-orang yang ingin menjadi programmer (seperti yang terlihat pada kelompok pertama itu) mengajukan banyak pertanyaan tentang bagaimana menjadi seorang programmer, atau bagaimana memprogram, walaupun mereka tidak selalu memiliki masalah untuk dipecahkan, dan ini tidak pertanyaan dengan jawaban langsung.
Dan jadi kami menyepak buku. "Oh ya, ambil salinan 'Selami Python.'" "Apakah itu yang kamu pelajari?" "Tidak" "Um ..." "Aku agak sibuk, tapi aku akan membantu jika kamu terjebak" "Uh ... OKE, kurasa"
Di sisi lain, saya menghargai heck out dari bahan bacaan yang baik ketika saya belajar, sehingga saya dapat melihat bagaimana masalah yang saya coba selesaikan diselesaikan oleh penulis yang lebih terampil, atau mungkin hanya supaya saya bisa belajar beberapa teknik "pemula" yang mungkin tidak saya ikuti.
TLDR : buku itu bagus, belajar dengan melakukan itu bagus, belajar dengan melakukan buku itu ???
sumber
Saya suka membaca buku teknis. Tidak semua buku teknis, hanya buku tentang topik tertentu yang saya minati, kata Sharepoint. Saya ingat buku pertama yang benar-benar saya baca (beberapa kali), yaitu Memprogram Windows oleh Charles Petzold. Karena ini dan banyak lainnya, saya dapat menulis aplikasi Win32 dari memori. Saya hampir tidak perlu mencari API, jadi saya bisa fokus pada bagian bisnis saja.
Saya merasa bahwa buku menyediakan cara "otoritatif" untuk melakukan sesuatu, mungkin oleh seseorang yang tahu cara yang benar untuk melakukan sesuatu yang lebih baik dari saya. Saya percaya bahwa apa yang saya pelajari adalah, berani saya katakan, cara terbaik untuk menyelesaikan masalah saya. Itu, tentu saja, jika saya percaya penulis (harus suka area ulasan di Amazon).
Meskipun saya menemukan diri saya sekarang semakin "googling" dan menyalin dan menempel ketika saya mencoba untuk memecahkan masalah, saya menghabiskan banyak waktu memastikan bahwa apa yang saya salin (atau terinspirasi oleh :) adalah sesuatu yang dapat dipercaya bahwa saya dapat dimasukkan ke dalam kode saya. Hanya karena saya menemukan solusi di web, itu belum tentu yang terbaik.
Sementara saya, seperti banyak programmer lain, sekarang hanya google jawabannya, saya masih menemukan diri saya mengambil buku dari penulis terkenal. Saya merasa konten itu disampaikan kepada saya oleh seseorang yang pandai menjelaskannya (mengajarkannya), dan itu menyelamatkan saya dari keharusan menyaring semua sampah dari hasil Google saya.
sumber
Saya menganggap pertanyaan Anda tidak dimaksudkan sebagai "mengapa menggunakan teknologi lama seperti buku cetak, bukan halaman HTML", tetapi "mengapa membaca teks yang lebih panjang tentang pemrograman yang ditulis oleh satu atau beberapa penulis".
Anda dapat menganggap buku sebagai kumpulan informasi terstruktur tentang subjek tertentu. Ini memiliki keuntungan bahwa seseorang telah berupaya untuk membangun setiap bab satu sama lain untuk membuat memahami topik dengan mudah. Biasanya, Anda juga diberi tahu batasan-batasan informasi (apa yang dicakup dan apa lagi yang perlu Anda perhatikan di tempat lain). Setelah membaca dan bekerja dengannya, Anda dapat yakin telah mencapai keterampilan tertentu. Jika Anda ingin belajar dengan menekan tombol maju cepat, sebuah buku dapat memaksa Anda untuk bekerja melalui setiap aspek tanpa melewatkan bagian yang membosankan, setidaknya jika Anda mempercayai struktur buku. Koleksi bernama "buku" paling sering berguna sebagai referensi juga.
Menggunakan Internet, blog, "mengotak-atik", dll. Biasanya jatuh ke dalam jenis informasi yang tidak terstruktur. Anda mendapat banyak hikmah, tetapi Anda harus melakukan lebih banyak pekerjaan pencarian untuk membangun pengetahuan Anda, karena tidak ada yang akan membimbing Anda dalam mengatakan "pelajari ini terlebih dahulu atau Anda tidak akan melihat manfaat dari hal-hal yang Anda telah googled sekarang ". Anda mungkin kehilangan bagian-bagian tertentu karena terlalu membosankan atau tidak ada yang bilang itu penting. Anda mungkin belajar hal-hal yang salah, karena tidak semua yang ditulis di Internet adalah kualitas pertama. Anda mungkin menghabiskan banyak waktu menyaring hasil pencarian yang tidak berguna. Anda mungkin menghabiskan waktu berhari-hari dengan mencoba menyelesaikan sesuatu sendiri, hanya karena Anda tidak tahu pola desain atau konstruksi pemrograman tertentu dan tidak ada yang memberi tahu Anda. Semakin sedikit Anda tahu,
Sederhananya provokatif: Saya tidak akan pernah mempercayai arsitek untuk membangun jembatan yang harus saya lintasi setiap hari jika dia mengatakan kepada saya dia tidak pernah membaca buku tentang pembangunan jembatan atau analisis struktural tetapi hanya mempelajarinya dengan mengutak-atik dan menggunakan Google ...
sumber
Jika Anda seorang programmer C, bagaimana Anda berharap untuk belajar Python tanpa buku atau guru?
Jika Anda baru saja mempelajari sintaks dasar dan langsung menyelam, Anda akhirnya akan menulis kode C dengan Python , dan sampai pada kesimpulan yang salah bahwa Python sama verbose dan menyakitkan seperti C.
sumber
Google biasanya hanya baik untuk menemukan potongan kode kecil atau pustaka sumber terbuka. Dokumentasi untuk beberapa perpustakaan / program paling tidak dapat diandalkan (jika ada, itu hanya menunjukkan kepada Anda contoh sederhana atau umum.)
Saya tidak punya banyak buku pemrograman, tetapi saya bisa memberi tahu Anda sekarang bahwa saya punya buku tentang OpenGL, dan ada mayoritas kode untuk mesin 3D di dalamnya, yang bisa Anda salin, tetapi Anda bisa baca teorinya juga - Anda hanya perlu membalik beberapa halaman dan penjelasan kodenya ada di sana, menunggu untuk dibaca. Saat ini, Anda mungkin dapat menemukan beberapa mesin 3D open-source di internet, tetapi jika Anda perlu mengubah kode secara substansial, Anda mungkin dalam beberapa masalah - biasanya tidak ada forum bantuan dan orang-orang di SO tidak akan tahu jawab pertanyaan Anda jika sangat khusus. Ketika datang ke hal-hal yang sangat khusus, hanya beberapa lusin orang di seluruh dunia akan dapat menjawab pertanyaan Anda tanpa menghabiskan berjam-jam untuk mencari tahu cukup untuk berada dalam posisi untuk datang dengan jawaban. Jika Anda bertanya bagaimana menerapkan daftar tertaut dalam C #, Anda akan mendapatkan 5+ jawaban pada SO dalam 10 menit pertama, tetapi jika Anda bertanya apa cara terbaik untuk menerapkan algoritma peneduhan kompleks di three.js adalah , pertanyaan Anda akan tenggelam dari halaman depan seperti batu.
Selain itu, buku-buku ditulis hampir secara eksklusif dari sudut pandang pembaca yang ingin belajar tentang teori yang terlibat, sedangkan google hanya menghasilkan potongan kode sampah yang acak, diskusi arsip tentang subjek di mana tidak ada yang tahu apa yang mereka bicarakan. , dll. Sumber-sumber di internet telah menjadi jauh lebih baik: SO, Moz Dev Network, situs web Microsoft, blog, dll. Namun secara historis, buku-buku telah jauh lebih baik, dengan sumber-sumber internet baru saja menyusul.
sumber
Kualitas tulisan dalam buku-buku terbaik sedemikian rupa sehingga banyak masalah yang tidak jelas ditata bahkan sebelum Anda mulai. Seorang penulis dengan banyak pengalaman akan tahu untuk memberi tahu Anda tentang hal-hal seperti: efek samping tak terduga, dampak jangka panjang, fitur tidak berdokumen, skenario penggunaan umum ...
Pada dasarnya, Anda mendapatkan manfaat dari seorang penulis dengan banyak pengalaman memandu Anda melalui masalah dan menunjukkan bagian-bagian yang benar-benar menarik.
Kadang-kadang Anda dapat menemukan ini dalam referensi online juga, tetapi karena hambatan rendah untuk memasukkan banyak informasi online terlalu mendasar, tidak ada detail, atau hanya salah total. Ini juga dapat terjadi pada buku, jadi pastikan Anda hanya langsung percaya buku-buku yang klasik dengan ulasan yang konsisten baik. Buku-buku lain juga dapat berguna, tetapi hanya sebagai salah satu sumber, Anda masih harus memverifikasi informasi dengan referensi silang atau mencoba sendiri.
sumber
Buku cenderung memiliki banyak informasi dalam format terstruktur. Google cenderung datang dengan sejumlah besar informasi yang tidak selalu terstruktur dan sulit untuk diatur dalam hal apa yang perlu Anda lakukan.
Saya sebenarnya tidak membaca buku kertas fisik lagi - ada pembaca elektronik di sebelah saya dan saya memiliki perangkat lunak Kindle di laptop saya yang memberi saya akses ke informasi yang saya cari.
Di mana Google bermanfaat adalah jika Anda tidak mencari ikhtisar terstruktur tentang cara memprogram, tetapi membutuhkan detail tentang cara memprogram tugas tertentu. Kode seseorang yang hampir selalu ditulis untuk tugas itu sebelumnya, atau, setidaknya, sesuatu seperti itu.
Saya pikir ada perbedaan antara belajar ke program dan belajar untuk memprogram tugas tertentu. Saya akan mempertanyakan kualitas kode yang berasal dari seseorang yang hanya pernah belajar sedikit demi sedikit dari googling tugas-tugas tertentu jika mereka tidak pernah benar-benar mendapatkan gambaran yang layak tentang cara memprogram. Ini bukan bahasa spesifik, ini lebih konseptual.
sumber
Buku berguna jika Anda ingin masuk lebih dalam ke suatu subjek. Tentu saya belajar C # dari melakukan beberapa tutorial dan menulis beberapa proyek (peliharaan). Tetapi C # secara mendalam masih berguna untuk melihat apa yang terjadi di bawahnya dan untuk mempelajari beberapa hal baru.
Juga, saya bisa mengambil buku pemrograman dan membacanya di kamar mandi saya atau di luar di bawah sinar matahari. Saya tidak bisa melakukan itu dengan PC desktop saya.
sumber
Karena itu adalah cara yang nyaman untuk belajar dari programmer lain.
Buku adalah suplemen. Anda hanya bisa bekerja sejauh ini dengan cepat. Siapa yang tidak suka pada proyek dengan programmer yang lebih baik yang mau mengajari Anda sesuatu daripada hanya membaca buku?
Saya cenderung menggunakannya lebih sebagai referensi daripada "Segala sesuatu yang perlu Anda ketahui tentang pemrograman."
sumber
Buku memungkinkan Anda menyerap sekumpulan informasi dengan cara "pasif". Anda tidak harus melihat apa yang mungkin Anda dapatkan disajikan sebagian dari kemungkinan. Ketika saya sedang belajar C # buku itu benar-benar membantu menunjukkan kemungkinan, dan bertanya-tanya apa yang setara dengan C ++. Tentu saja penguasaan terjadi ketika menggunakannya dalam proyek (ukuran sebenarnya). Tetapi buku ini benar-benar membantu menunjukkan perbedaan dan kemungkinan.
sumber
Singkatnya, saya pikir buku cenderung lebih bermanfaat pada level tinggi. Mereka dapat memberi Anda panduan desain dan membantu Anda mencegah masalah alih-alih menyelesaikannya.
Buku tentu memiliki kekurangannya. Salinan saya dari Pemrograman Python mencakup Python 2.0, tetapi runtime yang saya gunakan adalah 2.6.
Namun, saya pikir aspek penting dari buku adalah Anda dapat menemukan hal-hal yang tidak akan Anda temukan sendiri. Google membantu Anda memecahkan masalah tertentu, tetapi buku akan membantu Anda mendesain. Dan bukan hanya buku desain. Jika Anda membaca buku bagus yang membantu Anda memahami desain suatu bahasa, Anda akan lebih memahami cara menggunakan bahasa itu.
Buku-buku lain bagus untuk menyempurnakan pengetahuan Anda. Saya pikir buku C ++ Efektif Scott Murphy adalah contoh yang baik. Meskipun buku ini tidak terlalu bagus untuk mempelajari C ++, buku ini membantu Anda melihat masalah dalam desain algoritme / antarmuka / warisan yang belum Anda temui (belum) atau pelajari. Mungkin mudah untuk menemukan solusi sederhana (yang saya dapat menyebabkan masalah lain nanti), tetapi dengan memahami bahasa lebih baik Anda dapat merancang perangkat lunak Anda untuk menghindari masalah-masalah ini di tempat pertama.
Tentu saja, bukan fakta bahwa buku dicetak di atas kertas yang membuatnya berharga. Kepedulian dan upaya yang dilakukan untuk menciptakan mereka dan keinginan untuk memberikan pendidikan yang ketat adalah apa yang memberi nilai pada buku. Seringkali sebagai efek samping Anda mendapatkan sumber daya daring yang berguna seperti C ++ FAQ lite atau ebooks seperti Menyelam ke Python . Ada juga tutorial khusus online yang merupakan alat pembelajaran yang menyeluruh dan bermanfaat (seperti dokumentasi untuk beberapa platform / bahasa / perpustakaan).
Cuplikan di web adalah cara yang baik untuk menjawab pertanyaan Anda, tetapi mereka jarang memberi tahu Anda apa yang seharusnya Anda tanyakan.
sumber
Saya ingin menjadi programmer, jadi saya menggunakan buku pemrograman. Buku akan memungkinkan saya untuk menjadi mahir dalam pemrograman.
sumber
Saya belum benar-benar membaca buku pemrograman dalam waktu yang lama. Saya biasa menggunakannya sebagai panduan referensi, tetapi sekarang saya pikir Internet lebih mudah untuk sebagian besar bahasa dan kerangka kerja.
Bagaimanapun, saya pikir hal terbaik untuk dipelajari dari pemrograman buku adalah bahasa inti. Misalnya, bahasa asli saya yang pertama adalah C. Saya mempelajarinya dengan menulis OS (saya tidak merekomendasikan ini). Akibatnya, pengetahuan saya tentang C cukup lumpuh bahkan setelah dua atau tiga tahun pemrograman di dalamnya. Saya tidak pernah memiliki pengetahuan inti yang baik tentang bahasa tersebut. Saya tidak tahu saya bisa mengubah 15 baris kode berantakan ini menjadi dua baris kode yang bersih. Jadi saya bisa menyelesaikan masalah, tetapi saya tidak memanfaatkan C sepenuhnya.
Kemudian pada satu titik saya memutuskan untuk belajar C ++ ... (sekitar 2 tahun setelah mulai belajar C). Jadi saya membaca satu-satunya buku C ++ yang saya miliki, sebuah C ++ For Dummies Book. Saya membaca sekitar 3/4 dari itu langsung, melakukan sangat sedikit "melakukan" selama waktu itu .. dan sebagai hasilnya ketika saya melompat ke proyek pertama saya bukannya merasa nyaman dengan 15 baris kode berantakan, saya tahu ada cara yang lebih mudah untuk melakukannya (walaupun saya mungkin harus mencarinya).
Saya melakukan hal yang sama ketika saya belajar C # / ASP.NET. Saya hampir tidak melakukan apa-apa selain membaca sampai selesai dengan sekitar 3/4 dari buku. Dan untuk apa yang tidak saya pelajari, saya melihat-lihat Stack Overflow untuk pertanyaan C # yang menarik. Ketika saya melangkah ke proyek pertama saya, saya akan mengatakan bahwa sebagian besar kode saya relatif bersih dan hanya harus "sangat" dire-refaktrasi sekali sejak itu.
Jadi saya akan mengatakan bahwa buku sangat berguna untuk mempelajari kemampuan suatu kerangka kerja atau bahasa. Di luar itu, kebanyakan buku-buku itu tidak berguna oleh Internet, kecuali tentu saja buku-buku materi teoretis yang kuat dan dirancang khusus untuk dijadikan rujukan.
sumber
Ini kurang tentang apa yang Anda baca, tetapi seberapa banyak. Saya suka memiliki beberapa buku pemrograman saat saya sedang mengerjakan sebuah proyek. Sesekali (lebih sering daripada yang Anda bayangkan), Anda akan membaca tentang teknik yang dapat diterapkan pada proyek Anda saat ini.
Setelah Anda menerapkan solusi dunia nyata, informasinya akan melekat.
sumber
Saya lebih suka menggunakan buku karena saya merasa buku itu memberikan gambaran tentang keadaan teknologi yang sedang Anda kerjakan. Penulis akan menyatakan bahwa dengan bahasa Y / perpustakaan versi XX, ini adalah bagaimana Anda menyelesaikan masalah Z. Mungkin tutorial situs web gagal mencantumkan versi apa yang mereka gunakan atau memberikan contoh kode yang mereka gunakan saat buku sering dilakukan.
Buku-buku sering membahas "mengapa" solusi ini memecahkan masalah sementara dokumen online biasanya disalin.
Anda juga dapat sering kehilangan tautan ke semua referensi Anda, mereka dapat bergerak, atau turun. Saya melindungi dan merawat buku-buku saya seperti investasi (yang mana).
sumber
Anda dapat menyelesaikan masalah tanpa membaca buku, tetapi kemudian apakah Anda benar-benar tahu apa yang terjadi di balik program Anda untuk menyelesaikan masalah itu?
Anda perlu tahu apa yang terjadi dan apa yang bisa menjadi alternatif yang lebih baik. Untuk itu Anda perlu buku pemrograman yang bagus. Hanya membaca buku tentu saja tidak cukup, Anda perlu memahami isinya, membaca buku-buku lain, memikirkan berbagai pendekatan penyelesaian masalah dan sebagainya. Belajar berlanjut dengan dan tanpa buku.
sumber
Ketika saya sedang belajar C ++, saya menemukan sebagian besar literatur tidak berguna sampai sesuatu di kepala saya diklik. Sampai hari ini saya tidak yakin apa itu, tetapi semuanya mulai masuk akal. Buku dan situs web kemudian menjadi jauh lebih masuk akal. Butuh 2 buku untuk belajar bagaimana memprogram dalam C ++ dan juga tidak ada buku C ++ yang benar (itu adalah buku Visual C ++ yang berfokus terutama pada MFC).
Jika Anda mendapatkan buku yang tepat maka itu bisa sangat berguna. Seorang teman saya sedang membaca beberapa buku Dietel di uni dan saya menemukan itu ditulis dengan sangat baik. Saya belum pernah menemukan buku "... untuk Dummies" yang bermanfaat karena mereka tidak menjelaskan hal-hal dengan cara yang benar untuk saya. Nasihat terbaik adalah pergi ke toko buku dan dapatkan pencicipinya agar Anda tidak membuang banyak uang untuk buku yang cenderung sangat mahal.
Untuk beberapa topik pemrograman, saya merasa berguna untuk membaca beberapa buku, melakukan penelitian melalui Google dan bereksperimen. Saya menemukan diri saya banyak melakukan ini ketika saya bekerja pada algoritma AI ketika saya sedang mengerjakan permainan catur dengan J2ME. Saya juga menemukan diri saya melakukan ini ketika saya sedang belajar cara membuat kompiler kompilator untuk sintaks khusus. Ada begitu banyak variasi dan tampilan berbeda.
Terkadang memiliki pemahaman tentang banyak tampilan memungkinkan Anda membuat koneksi yang lebih tidak jelas.
sumber
Saya cenderung belajar (pemrograman) dari kedua buku dan sumber "tepat waktu" seperti web. Keduanya bisa bagus tetapi secara keseluruhan saya lebih suka belajar dari buku, inilah alasannya:
Ketika Anda hanya belajar apa yang perlu Anda ketahui segera untuk menyelesaikan bagian dari suatu proyek kadang-kadang Anda kehilangan gambaran besarnya. Buku-buku terbaik bukan hanya referensi tetapi dalam arti mencapai sesuatu yang lebih dekat dengan magang, dengan memberikan ikhtisar yang menyeluruh tentang teknologi dan banyak nasihat berpengalaman tentang solusi terbaik untuk masalah umum.
Pembelajaran just-in-time dapat dengan mudah menderita dari masalah kepuasan, ketika Anda mengidentifikasi masalah yang ingin Anda selesaikan, Anda melompat ke solusi pertama yang tampaknya berhasil, kemudian Anda lari ke jala-jala untuk mencari tahu bagaimana menerapkannya . Namun, sering kali hal ini dapat membuat Anda dalam masalah, jika Anda dapat berbicara dengan seorang programmer berpengalaman tentang masalah Anda, mereka tidak akan memberi tahu Anda "inilah cara melakukan X" mereka akan memberitahu Anda sebaliknya "jangan lakukan X, lakukan Y sebagai gantinya ". Dan ini adalah jenis pengetahuan yang cenderung Anda dapatkan dari buku-buku terbaik. Memang, beberapa buku sepenuhnya tentang hal semacam ini, seperti Javascript: The Good Parts .
Masalah lain yang dapat dipelajari oleh JIT adalah kurva belajar yang jauh lebih lambat. Dengan belajar JIT Anda cenderung belajar hanya apa yang perlu Anda ketahui. Tetapi seringkali memiliki dasar pengetahuan saja dapat mempercepat pembelajaran bahasa atau kerangka kerja baru. Alih-alih tersandung dasar-dasar Anda memulai dengan fondasi yang kuat dan kemudian membangun dari sana. Sejumlah besar materi yang mungkin Anda bahas saat membaca buku mungkin tidak segera bermanfaat bagi Anda, tetapi memiliki pengetahuan latar belakang itu dapat bermanfaat dalam memandu pengambilan keputusan Anda dan terutama dalam memahami kode baru yang Anda ketahui. Ada trade-off tentu saja dan ada buku-buku buruk yang hanya menumpuk pada fakta-fakta yang tidak berguna yang Anda tidak akan ingat setelah Anda membacanya tetapi ada juga buku-buku bagus yang memberi Anda dasar yang kuat dalam fundamental dan apa
Ada juga buku-buku di tingkat yang lebih tinggi daripada subjek teknologi tunggal yang saya pikir sangat penting untuk menjadi dewasa sebagai pengembang. Buku-buku seperti Code Complete , Refactoring , Bekerja Efektif dengan Legacy Code , dll. Anda tidak akan mengambil pengetahuan dari buku-buku itu hanya melalui pembelajaran JIT.
sumber
Saya rasa saya suka membaca buku. Terutama mengunduh ebook. Membaca setiap bagian dari bab ini. Salin kode mereka! rekatkan ke editor pemrograman Anda dan kemudian lihat apa outputnya. Lalu cobalah untuk mengubah logikanya. Saya menyebutkan ebook yang dapat diunduh karena untuk bekerja lebih cepat. Buku sangat hebat. Saya tidak berbohong tetapi sejak November lalu hingga hari ini. Saya telah selesai sekitar 20 buku. Itu semua membutuhkan cinta untuk membaca. Apa yang dilakukan para pemula adalah bahwa mereka memecahkan masalah tertentu dengan mengambil formulir bantuan internet. Tetapi ketika tugas yang sangat rumit diberikan kepada mereka, mereka menyerah. Alasannya, tidak ada pengetahuan tentang tugas dan solusinya. Sebagai contoh saya telah membatasi kontrol dengan datatable dan tidak tahu apa yang dilakukan dataset dan saya telah diberi tugas untuk membuat hubungan (s) antara salinan residen memori dari tabel database saya tidak bisa melakukannya.
sumber
Sangat sulit bagi programmer baru untuk memahami apa sebenarnya pemrograman itu, seberapa dalam itu.
Siapa pun dapat menulis program untuk memberitahu komputer untuk melakukan - baik saja dengan sedikit belajar, ini tidak sulit! Yang sulit adalah membuat program yang dapat didukung dan dapat dipahami dengan cepat dan dipahami secara mendalam oleh anggota tim lainnya, bagian ini membutuhkan waktu bertahun-tahun, puluhan tahun.
Selain itu belajar untuk bekerja sebagai bagian yang efektif dari tim adalah sedikit kurva.
Jadi, bagaimana buku membantu menyelesaikan masalah pemrograman "Nyata" ini dengan cara yang tidak mencari referensi di web?
Nah dua buku favorit saya adalah "Pola Desain" dan "Refactoring".
Refactoring adalah buku yang bagus yang memberitahu Anda cara mengenali kode yang salah. Jika Anda telah belajar dengan mencari referensi koding, buku ini (Yah salah satu dari banyak buku Refactoring) sangat penting.
Pola desain tidak benar-benar menawarkan banyak hal yang tidak dapat diprogram oleh programmer yang baik, tetapi ia memberi nama pada berbagai pola yang telah digunakan semua orang dalam kode. Ini memungkinkan programmer untuk berkomunikasi secara lebih efektif dan membantu beberapa programmer menemukan cara baru untuk menyerang masalah. Meskipun Anda dapat menemukan pola desain di web, ini jauh lebih mudah untuk google nama pola desain daripada - google apa yang Anda coba lakukan.
Saya telah diminta dalam wawancara untuk menggambarkan dua buku ini dan apa yang ingin mereka capai, saya pikir ini adalah pertanyaan wawancara yang sangat valid ... Saya ingin memperhatikan seorang programmer yang tidak tahu tentang kedua buku ini. buku kecuali dia melamar posisi yang sangat junior.
sumber
Saya belajar memprogram dari buku secara langsung. Sekitar 20 tahun yang lalu sebelum google dan internet menjadi populer. Saya pikir mereka adalah sumber daya yang hebat. Namun sebagian besar buku modern hanya mengutip artikel teknis oleh produsen. Jadi saya sekarang setuju bahwa lebih baik belajar online. Dengan kata peringatan sebagai berikut:
Meskipun saya membaca banyak buku, dan memiliki akses internet hampir karena itu layak secara finansial. Saya tidak pernah bisa menyelesaikan segala jenis proyek yang cukup besar. Tentu saya bisa melakukan banyak proyek besar dalam buku-buku besar di mana mereka mengambil 20 bab untuk memandu Anda melalui itu, tetapi ketika datang ke proyek dunia nyata saya sendiri, saya selalu tanpa eksekusi menabrak dinding bata. Saya harus memberi tahu Anda, saya membaca beberapa buku berat.
Saya memiliki masalah sepanjang hidup saya masuk perguruan tinggi, tetapi saya sekarang memasuki tahun ketiga saya. Pada tahun pertama saya, saya bertemu orang-orang di tahun ke-4, dan master, dan mampu mengadakan percakapan yang produktif tentang teori AI, HCI, assembler, dan pengembangan kompiler dll. Namun dengan semua pengetahuan ini saya tidak dapat membuat program yang masuk akal. Apa yang saya lewatkan ... Satu hal yang tidak bisa Anda dapatkan dari buku apa pun, atau online.
Struktur. Pada tahun pertama, saya belajar tidak ada yang bersifat teknis (Allready tahu banyak dan berkembang melalui tanpa belajar hari, mengeksekusi matematika dan desain karena ini cukup baru bagi saya), tetapi saya belajar struktur dan kerja tim. Di liburan musim panas pertamaku, aku semakin dekat untuk menyelesaikan pekerjaan pertamaku.
Di tahun kedua saya, saya belajar banyak hal teknologi baru (masih dasar-dasar dalam perbandingan dengan apa yang saya tahu, tapi saya meletakkan teori yang saya tahu untuk praktik nyata). Ini menekankan pentingnya struktur lagi. Saya belum menyelesaikan proyek nyata pertama saya. Sekarang saya menganggap diri saya seorang programmer.
Saya tidak percaya perlu membaca buku untuk belajar pemrograman. Tapi ini sangat membantu. Namun, saya yakin bahwa tidak ada buku atau situs web yang mengajarkan atau dapat mengajarkan apa yang Anda dapatkan dari bahkan 2 tahun kuliah. Jika Anda telah berhasil menyelesaikan proyek tanpa pernah kuliah, bermain adil, tetapi ini adalah pengalaman yang saya sangat sarankan terlepas dari usia.
Buku bagus, internet lebih baik, google dan you tube hebat, tapi tidak ada yang mengalahkan perguruan tinggi tua yang buruk dalam opionion saya. Dan saya meragukan jumlah googling dan YouTubing akan pernah ada, dan saya tahu secara langsung bahwa jumlah buku tidak akan pernah ada.
sumber
Saya tidak tahu. Saya menentang buku pemrograman. Dalam kebanyakan kasus, Anda masih harus meneliti di Internet untuk mencari informasi tambahan.
Apakah Anda ingin belajar bahasa pemrograman? Google untuk itu. Saya benci jQuery karena terlihat sulit. Lalu saya datang ke Stack Overflow, dan saya tahu banyak dari itu. Tanpa bantuan buku apa pun.
sumber
Saya pikir itu benar bahwa pemrograman tidak dapat dipelajari dari buku saja (seperti kebanyakan orang yang disebutkan), Anda perlu banyak berlatih dan ada banyak sumber daya yang tersedia di internet (artikel, video, sampel dll.).
Tapi buku yang bagus mengisi kekosongan dalam pengetahuan Anda. Setelah membaca sampul buku untuk memberi Anda keyakinan bahwa Anda tidak memiliki lubang menganga dalam pengetahuan Anda tentang subjek. Padahal tantangannya adalah menemukan buku-buku bagus tentang masalah itu.
sumber