JavaRush /Java Blog /Random-ID /10 Buku Pemrograman Teratas untuk Pemula
Max Stern
Level 35
Нижний Новгород

10 Buku Pemrograman Teratas untuk Pemula

Dipublikasikan di grup Random-ID
Saya memiliki seorang kolega yang telah melakukan banyak wawancara teknis untuk calon Javaist. Saya pernah bertanya kepadanya apa yang mempengaruhi keputusan untuk mempekerjakan pelamar yang tidak memiliki pengalaman nyata ketika memilih di antara orang-orang yang memiliki kemampuan bahasa yang kurang lebih sama. Mengingat situasi pasar, saya rasa pertanyaan ini relevan bagi banyak dari Anda. 10 buku teratas tentang pemrograman untuk pemula - 1“Gairah terhadap teknologi, kemampuan untuk memilih opsi terbaik untuk memecahkan masalah, pengetahuan TI secara umum, pemahaman tentang apa yang menantinya di tempat kerja” - inilah jawabannya. Saya pernah menjelaskan di artikel buku pemrograman untuk pemula yang membantu saya belajar Java. Pada artikel ini, saya akan fokus pada publikasi yang akan membantu programmer pemula memperoleh pengetahuan TI, pemahaman tentang pekerjaan di masa depan, dan juga menyederhanakan tugas memilih solusi terbaik. Artinya, mendapatkan pekerjaan dan bekerja sebaik mungkin sejak awal. Saya menyusun daftar ini berdasarkan preferensi saya sendiri, jadi mungkin agak subyektif. Ada buku teks pemrograman klasik untuk pelajar dan buku referensi untuk programmer dari semua generasi.

Meningkatkan kode dan produktivitas

Menulis kode saja tidak cukup. Penting untuk menulisnya dengan baik, mampu memperbaikinya, dan juga memahami bagaimana pengembangannya secara umum. Buku-buku berikut untuk pemrogram pemula dan lainnya telah membantu lebih dari satu generasi spesialis mengatasi sulitnya proses teknologi pengembangan perangkat lunak.

Pemrogram pragmatis. Pekerja harian menuju Guru (Andrew Hunt, David Thomas)

Judul asli: Pemrogram Terprogram dari From Journeyman to Master oleh Andrew Hunt dan David Thomas 10 buku teratas tentang pemrograman untuk pemula - 2Jika Anda belum membaca buku ini, kemungkinan besar Anda telah berulang kali menemukan kutipannya di forum dan sumber daya khusus. Gambaran seorang programmer pragmatis dalam buku ini begitu jelas dan ideal sehingga... orang bisa menyebutnya romantis, tidak peduli betapa paradoksnya kedengarannya. Meskipun demikian, nasihat dalam buku ini praktis dan relevan, meskipun usianya sudah lanjut. Saya tidak tahu harus membandingkan “The Pragmatis Programmer” dengan apa di dunia buku pemrograman. Analogi terdekat dari dunia ini adalah “Perjanjian Lama” atau buku masak yang sangat keren. Dalam “Pragmatik” semuanya sangat spesifik dan dapat diterapkan secara maksimal dalam praktik. Kadang-kadang sampai pada titik banalitas (misalnya, bagian tentang komunikasi yang efektif berisi aturan dasar etiket bisnis), namun kadang-kadang nasihat dari buku ini tidak tergantikan, terutama jika pengembang pemula tidak memiliki mentor yang sabar dan penuh perhatian. Ini adalah tip tentang pengulangan kode, pembuatan prototipe, estimasi. Atau pengingat akan ketidakmungkinan membuat program yang sempurna. Ada juga poin teknis berguna yang terkait, misalnya, dengan kode debug, pengujian unit, atau kecepatan algoritme... singkatnya, apa yang perlu Anda persiapkan untuk berkarir sebagai seorang programmer.

Refactoring Meningkatkan Kode yang Ada (Martin Fowler)

Judul asli: Refactoring: Meningkatkan Desain Kode yang Ada oleh Martin Fowler, dengan Kent Beck 10 buku teratas tentang pemrograman untuk pemula - 3Jika Anda meminta seseorang untuk membuat daftar buku pemrograman peningkat karir terbaik sepanjang masa, seseorang pasti akan menyebutkan “Refactoring.” Seseorang mungkin berkata bahwa buku ini sudah ketinggalan zaman, dan dalam beberapa hal mereka benar. Ini ditulis pada saat refactoring belum menjadi aturan universal, dan beberapa kebenaran di dalamnya jelas bagi calon programmer saat ini. Namun demikian, teknik refactoring dijelaskan di dalamnya dengan sangat baik dan rinci (di beberapa tempat, bahkan saya katakan, secara bertele-tele) sehingga setiap pemula akan menemukan sesuatu yang berguna di dalamnya. Edisi terbaru dari buku ini diterbitkan beberapa tahun yang lalu dan teknik-teknik baru ditambahkan, dan itu sangat bagus. Selain itu, contoh-contoh dalam buku ini ditulis dalam bahasa Java. Satu-satunya kelemahan yang bisa saya sebutkan adalah verbositasnya. Meskipun demikian, saya merekomendasikan buku tersebut.

Kode Bersih (Robert Martin)

Judul asli Clean Code: A Handbook of Agile Software Craftsmanship oleh Robert C. Martin 10 buku teratas tentang pemrograman untuk pemula - 4Buku ini, meskipun lebih baru dari buku sebelumnya, juga telah menjadi buku klasik tentang pemrograman. “Paman Bob,” demikian Robert Martin kadang-kadang dipanggil dalam komunitas pemrograman global, adalah salah satu penulis manifesto Agile, serta beberapa prinsip pemrograman “murni” modern, misalnya SOLID. Salah satu motif utama buku ini dapat dianggap... empati atau sekadar sikap yang baik terhadap semua orang yang harus bekerja dengan kode Anda (termasuk diri Anda sendiri di masa depan). Sebagian besar aturan “Kode Bersih” didasarkan pada prinsip sederhana dan akal sehat ini. Sebagian besar aturan dan nasihat tampaknya sangat benar, sesuatu yang secara intuitif berputar-putar di kepala Anda, tetapi tidak mudah untuk merumuskannya dengan jelas. Namun, ada yang bisa membantah beberapa pemikiran penulis: terkadang dia sangat kategoris. Misalnya, dia menulis bahwa kode yang baik tidak perlu dikomentari. Meski begitu, buku ini wajib dibaca.

Bekerja secara efektif dengan kode lama (Michael Feathers)

Judul asli Bekerja Secara Efektif dengan Kode Warisan oleh Michael Feathers 10 buku teratas tentang pemrograman untuk pemula - 5Kehidupan tidak mempersiapkan Anda untuk ini... Tidak, sungguh: jika Anda baru belajar, Anda tidak dapat membayangkan betapa sulitnya bekerja dengan basis kode lama, yang mana mungkin ditulis oleh kakek Bill Gates. Kode ini sering kali ditulis dengan cara yang sangat berbeda dari biasanya, dan didokumentasikan dengan sangat buruk sehingga terkadang Anda ingin menemukan pembuatnya dan... Sayangnya: kehidupan seorang programmer Java pada proyek besar sering kali dikaitkan dengan dukungan warisan. Buku ini dapat membantu Anda dalam aspek teknis bekerja dengan kode kuno, tetapi juga dapat membantu Anda menerima nasib Anda. Dan ya, saya serius. Buku ini akan berguna bagi Anda jika Anda sudah mantap mengincar perusahaan outsourcing atau produk dengan proyek besar.

Kepala Pertama. Pola Desain (Eric Freeman, Bert Bates, Kathy Sierra, Elizabeth Robson)

Judul asli Pola Desain Head First: Panduan Ramah Otak oleh Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson 10 buku teratas tentang pemrograman untuk pemula - 6Pola desain adalah aturan logis dalam bentuk yang baik yang, jika Anda tidak mempelajarinya seiring waktu, akan terlintas dalam pikiran ( atau tidak...) dan yang secara harfiah berubah menjadi kekuatan super bagi programmer pemula jika Anda mulai melihatnya sedini mungkin. Ya, pada awalnya berguna untuk bermain-main dengan proyek pribadi yang relatif kompleks dan mencoba memecahnya sendiri menjadi beberapa subtugas... dan akhirnya menemukan pola yang sama. Namun, jika menyangkut pekerjaan, tidak selalu ada cukup waktu untuk bereksperimen. Ketika saya magang, saya hanya tahu sedikit tentang pola: saat belajar di JavaRush, saya hanya melewati semua pabrik, lajang, suntikan, ketergantungan, berpikir bahwa saya akan mengetahuinya saat diperlukan. Namun, hal itu perlu untuk dipahami dengan sangat cepat, dan itu adalah buku “Head First. Pola Desain” membantu saya dalam hal ini. Mudah ditulis, penuh ilustrasi dan humor... Menurut saya penyajian untuk topik “pola desain” itu sangat penting: bisa disajikan dengan cara yang sangat membosankan, atau bisa disajikan seperti di Head First. Tambahan yang bagus untuk “Kode Bersih” dan/atau “Refactoring”!

Arsitektur Komputer dan Ilmu Komputer Umum

Seberapa penting bagi programmer masa depan untuk memahami arsitektur komputer, mengetahui bagaimana sistem operasi disusun, dan bagaimana database disusun? Bukan fakta bahwa pengetahuan ini akan berguna bagi Anda dalam pekerjaan Anda. Namun mereka pasti akan membantu Anda menunjukkan minat Anda terhadap bidang TI dan pengetahuan TI. Dan yang paling penting: jika Anda mengetahui cara kerja semuanya, ini akan membantu Anda memecahkan masalah dengan lebih baik. Infonya 100%. Jadi, inilah dua buku lagi untuk membantu Anda.

Kode (Charles Petzold)

Judul asli Kode: Bahasa Tersembunyi Perangkat Keras dan Perangkat Lunak Komputer oleh Charles Petzold 10 buku teratas tentang pemrograman untuk pemula - 7Edisi pertama “Kode” melihat dunia pada awal tahun 2000-an, namun sebenarnya bisa saja muncul lebih awal atau lebih lambat - dan masih relevan. Faktanya adalah bahwa dalam buku ini pengoperasian komputer dijelaskan pada tingkat yang sangat, sangat rendah, dimulai dengan cara kerja angka nol dan satu itu, dan contoh teknis pertama adalah rangkaian senter, yang dapat dianggap paling sederhana. -bit komputer... Tidak, menurut Anda semua yang ada di buku ini tidak terlalu primitif. Faktanya, justru sebaliknya... Ini menggambarkan sirkuit komputer, dengan perintah, pengoperasian memori dan sistem operasi pada intinya. Mungkin setelah membacanya saya memahami cara kerja komputer. Meskipun arsitektur dan set instruksi prosesor berubah, dan bandwidth memori meningkat, pada dasarnya komputer bekerja dengan cara yang persis sama. Apakah seorang programmer Java memerlukan pengetahuan ini? Sangat sedikit orang yang membutuhkannya secara langsung dalam pekerjaan mereka. Namun secara tidak langsung, saya sering terbantu dalam pekerjaan saya karena saya memahami cara kerja sebenarnya.

Pengantar Ilmu Komputer (Glenn Brookshire, Dennis Brilov)

Judul asli Ilmu Komputer: Sebuah Tinjauan oleh Glen Brookshear dan Dennis Brylow 10 buku teratas tentang pemrograman untuk pemula - 8Buku ini datang kepada saya ketika saya masih di universitas, ketika saya sedang mempelajari dasar-dasar ilmu komputer. Hanya saya yang menerima terjemahan edisi keenam, dan saat ini edisi ke-13. Buku ini merupakan mata kuliah dasar ilmu komputer yang telah diajarkan di universitas-universitas di Amerika Serikat dan negara lain selama bertahun-tahun. Cakupan materi di dalamnya sangat luas: arsitektur mesin, sistem bilangan, pengolahan data, sistem operasi, prinsip-prinsip konstruksi database, struktur data, struktur file, dan lain sebagainya. Tidak semua bagian buku ini ditulis dengan baik. Misalnya, saya pernah sangat bingung dengan bagian tentang metode desain dan basis data, tetapi bagian tentang sistem bilangan, perhitungan bitwise, arsitektur PC, dan struktur data sangat menarik bagi saya. Hal paling keren tentang buku ini adalah banyaknya latihan dengan kunci. Selain pelajar, buku semacam itu mungkin dibutuhkan terutama oleh orang-orang otodidak tanpa pendidikan teknis untuk mengisi kekosongan dan mendapatkan gambaran tentang ilmu komputer secara umum.

Algoritma dan struktur data. Dan serangan lainnya!

Mengingat betapa modernnya pemrograman tingkat tinggi, pengetahuan tentang algoritma menjadi kurang penting. Sekarang cukup menggunakan perpustakaan yang diperlukan dan tidak memikirkan cara terbaik untuk mengurutkan array. Namun, Anda masih harus memutar otak di tempat kerja, dan lebih dari sekali. Ingat poin “kemampuan untuk memilih solusi terbaik” dari persyaratan untuk programmer pemula? Jadi, apa pun kata orang, saya menganggap pelatihan algoritmik yang baik sebagai peningkatan yang sangat baik untuk menemukan solusi optimal. Oleh karena itu, dua buku berikutnya membahas tentang mereka. Tentang algoritma.

Kami mengguncang algoritmanya. Panduan bergambar untuk programmer dan Aditya Bhargava yang penasaran

Judul Asli: Algoritma Grokking: Panduan Bergambar untuk Pemrogram dan Orang Ingin Tahu Lainnya oleh Aditya Y. Bhargava 10 buku pemrograman teratas untuk pemula - 9Penulis sendiri di awal buku menulis bahwa algoritma tidak langsung datang kepadanya, dan ia mencoba menulis “Algoritma Grokking” demikian agar mudah dibaca. Ini dirancang untuk pemrogram pemula, yaitu mereka yang dapat menulis "halo, dunia" dan mengetahui apa itu int, string, loop, cabang, dan array. Ya, itu bisa menampilkan array di layar. Pengetahuan matematika yang dibutuhkan kira-kira pada tingkat kelas 6-7 sekolah menengah tanpa embel-embel apapun. Dan inilah kelebihan serius pertama dari buku ini. Ia tidak mencoba membayangkan pembaca sebagai mahasiswa matematika, seperti yang dilakukan banyak publikasi mengenai topik tersebut. Artinya, jika Anda takut dengan matematika, algoritma, sudah mencoba mempelajari yang terakhir dan tidak mengerti apa-apa, buku ini sangat cocok untuk rehabilitasi Anda di mata Anda sendiri. Poin positif kedua adalah bahwa buku ini membahas sesuatu yang mungkin berguna dalam praktik (memahami hal ini tentu benar). Ini dimulai dengan penjelasan tentang esensi pencarian biner dan efisiensi - secara harfiah dengan jari dan dengan banyak gambar. Ketiga, buku ini berisi banyak soal dan latihan (contoh kode ada dengan Python, tapi ini tidak begitu penting). Suatu hal yang mungkin positif bagi sebagian orang, namun negatif bagi sebagian lainnya: buku ini tidak berpura-pura menjadi buku referensi yang mencakup segalanya. Katakanlah dari algoritma pembelajaran yang diterima secara umum, hanya ada dua di sini - algoritma penyisipan yang tidak efisien dan algoritma quicksort yang efisien. Saya tidak tahu mengapa penulis tidak boleh mempertimbangkan algoritma lain, misalnya bubble atau merge. Sebenarnya algoritma penggabungan disebutkan di dalam buku, namun secara singkat, tanpa analisis, dan hanya dibandingkan dengan quick sort. Dengan topik lain semuanya persis sama. Ada dasar-dasar yang dibahas dengan sangat baik, namun terkadang Anda benar-benar menginginkan kelanjutan yang lebih mendalam, namun ternyata tidak ada. Singkatnya, ini adalah buku yang sangat mendasar, setelah itu, kemungkinan besar, Anda akan ingin menemukan buku yang menjelaskan segala sesuatunya dengan lebih serius. Misalnya saja yang berikut ini.

Algoritma di Java (Robert Sedgwick, Kevin Wayne)

Judul asli: Algoritma oleh Robert Sedgewick dan Kevin Wayne 10 Buku Pemrograman Teratas untuk Pemula - 10Faktanya, buku ini bisa memesona sekaligus menakutkan. Ini akan membuat Anda takut setidaknya dengan volume... banyak halaman dan sifat akademis tertentu. Oleh karena itu, jika Anda tidak tertarik padanya, para akademisi, atau tidak merasa percaya diri dengan matematika (sekolah menengah atas, elemen paling sederhana dari matematika tingkat tinggi untuk insinyur), maka lebih baik tidak memulai dengan buku ini. Tidak banyak istilah matematika di sana, tetapi pendekatan itu sendiri melibatkan pemikiran seperti itu. Tapi setelah buku sebelumnya - kenapa tidak. Dia akan memberimu panduan. Bab pertama di beberapa tempat merangkum pengetahuan tentang Java dan mendefinisikan beberapa struktur data. Ada baiknya membacanya secara selektif, namun tidak ada salahnya mempelajari bab kedua dan ketiga dengan cukup detail. Selebihnya juga penuh dengan informasi menarik dan menyeluruh tentang grafik dan string. Menurut saya hal-hal seperti ini SANGAT membantu dalam membentuk pola pikir pemrograman. Mengenai penyajiannya, penulis merasa penulisnya adalah seorang guru, namun terbiasa bekerja dengan orang-orang yang sebagian besar berminat dan siap. Jadi bersabarlah dan bacalah. Dan juga menyelesaikan masalah, ada banyak masalah di sini. Omong-omong, di Coursera Anda dapat menemukan kursus tentang algoritma yang dibuat oleh penulis buku tersebut.

Ketahui kerangka kerja Anda

Dan akhirnya, satu buku lagi. Dan lagi - bermanfaat.

Aksi Musim Semi (Craig Walls)

Judul asli: Spring in Action oleh Craig Walls 10 buku pemrograman teratas untuk pemula - 11Sebuah buku yang sangat terkenal dengan sampul yang sama terkenalnya dengan gambar “pria berbaju rok” yang sebenarnya tidak mengenakan rok. Sejujurnya, mempelajari Musim Semi hanya dari satu buku adalah tugas yang sangat sulit, bahkan jika Anda mencoba semuanya dalam praktik sekaligus. Ngomong-ngomong, memahami bagaimana melakukan ini bisa sangat sulit setelah membaca bab ini atau itu. Saya mengerjakan buku ini ketika saya magang di sebuah perusahaan, dan bila digunakan dengan cara ini, buku ini sangat membantu. Terlebih lagi, bahkan saat ini, sudah bekerja sebagai programmer, saya terus-menerus kembali ke sana. Singkatnya, Anda bisa mendapatkan gambaran umum tentang kerangka utama Java dengan bantuannya.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION