Jika Anda hanya dapat memiliki satu buku terkait pemrograman di rak buku Anda, apakah itu dan mengapa? [Tutup]

58

Tolong satu per jawaban. Saya akan menambahkan favorit saya sebagai jawaban.

Paddyslacker
sumber
13
Apakah Kindle dianggap sebagai satu buku?
Wizard79
5
Tidak. Main adil sekarang!
Paddyslacker
1
Bagaimana dengan iPad?
Moshe
3
Apakah Seni Pemrograman Komputer diperhitungkan sebagai satu buku atau beberapa?
David Thornley
2
@ David Saya pikir secara teknis satu buku dalam beberapa volume.
Paddyslacker

Jawaban:

69

Kode Selesai 2nd Ed.

Kode Lengkap oleh Steve McConnell. Saya bahkan tidak berpikir itu perlu penjelasan. Ini buku definitif tentang konstruksi perangkat lunak. Ditulis dengan sangat baik dan mencakup semua aspek sisi praktis (pemrograman) pembuatan perangkat lunak.

EpsilonVector
sumber
+1 untuk memilih edisi kedua juga - begitu banyak perbaikan dibandingkan edisi pertama yang merupakan buku yang berbeda.
Paddyslacker
+1 - Saya memiliki terjemahan Italia. Setelah itu, saya tidak pernah membeli buku pemrograman atau teknis lain yang diterjemahkan dalam bahasa saya, karena terjemahannya sangat buruk. Saya harus membeli edisi bahasa Inggris untuk benar-benar memahami beberapa kalimat!
Wizard79
Bagi mereka yang tinggal di Quebec, Kanada . BAnQ memiliki versi lengkap buku ini yang tersedia online di lokasi ini: library.books24x7.com.res.banq.qc.ca/toc.asp?bookid=10482 .
HoLyVieR
4
Saya tidak bisa setuju. Sangat menarik bahwa kata tidak berubah bahkan tidak ada dalam buku ini.
Jonas
2
Meskipun saya menyimpan salinan edisi pertama, saya pikir saya belum pernah kembali ke sana. Alasannya mungkin karena mendapatkan buku tentang setiap topik yang menurut McConnell penting.
Apalala
56

Mudah.

Programmer Pragmatis

Stoosh
sumber
6
+1 karena realistis. Buku ini relevan, mudah dibaca, dan mungkin buku yang banyak pengembang sebenarnya dapat manfaat dari membaca sebenarnya. Terlalu banyak orang lain dalam daftar ini yang sulit dan saya ragu telah membaca sampul depan.
spong
Jawaban ini berulang.
buka
+1 - buku pemrograman favorit kedua saya di belakang Code Complete (dan jujur, kadang-kadang, ini yang pertama)
Alan
36

Struktur dan Interpretasi Program Komputer, alias SICP

Ketika saya melihat bahwa SICP belum terdaftar, saya meringis kesakitan. :)

Mengapa: Tidak ada lagi yang ditambahkan ke dalam buku Norvig yang memuji buku ini sebagai pengantar terbesar untuk ilmu komputer yang pernah ditulis. Baiklah, karena Mengapa? diminta: SICP mencakup dasar-dasar perangkat lunak dengan cara yang sangat mendalam, mengangkat banyak perspektif dan pertanyaan tentang sifat komputasi - beberapa di antaranya masih merupakan masalah terbuka - sambil mengarahkan pembaca untuk melihat melampaui aspek dangkal dari memberitahu mesin apa untuk melakukan, atau bagaimana melakukannya.

alt teks http://ecx.images-amazon.com/images/I/41CPGEDXMDL._SL500_AA300_.jpg

Klik gambar untuk menuju ke teks online gratis . Anda juga dapat dengan mudah menemukan ceramah video oleh penulis , lengkap dengan warna dan pakaian gaya tahun 80-an.

limist
sumber
2
Semua memuji SICP. IMO, itu harus menjadi buku teks untuk kursus pemrograman pengantar wajib di semua sekolah CS. Itu pasti akan menyingkirkan orang-orang yang tidak bisa benar-benar memotongnya dalam pemrograman (apalagi CS) sambil memperkuat keterampilan CS dan pemrograman untuk mereka yang berpotensi.
luis.espinal
1
@ luis.espinal SICP tampaknya berlebihan untuk pemrograman pengantar (kecuali kita berbicara sekolah pascasarjana). Ada alasan mengapa MIT membatalkan kursus SICP sebagai kursus intro-nya .... Masih saya setuju bahwa sangat berharga untuk membaca buku ini (dan melakukan latihan-latihan ...) tetapi melakukan hal itu dalam semester kuliah standar akan sulit bahkan untuk siswa rata-rata di atas. Juga intro dengan Java / Python / Ruby / C lebih relevan dengan tenaga kerja, semakin cepat Anda membiasakan seseorang dengan bahasa imperatif, semakin baik ... SICP bagus setelah itu untuk memperluas cakrawala Anda. Tapi mungkin mengecewakan sebagai kursus intro ...
Cervo
1
@Cervo - Ini masalah yang sahih, dan memang terlihat seperti kerja keras, tapi (dan ini adalah posisi yang sepenuhnya subjektif yang saya akui), saya sangat percaya ini memberikan fondasi yang lebih dalam daripada yang biasanya ditemukan dengan pendekatan arus utama lainnya . Juri masih keluar dengan MIT sekarang bahwa mereka telah beralih ke Python (beberapa alasannya adalah bahwa ia juga memiliki kemampuan FP dan sangat setuju untuk komputasi ilmiah dan robotika, yang Skema tidak.) Tidak ada yang salah dengan Python (sebenarnya saya cinta bahasanya), tetapi juri akan keluar sampai versi Python'esque dari SICP keluar.
luis.espinal
2
@ con't - Artinya, saya sarankan SICP bukan karena Skema, tetapi karena konten pedagogisnya. Saya sebenarnya menyarankan untuk memulai dengan perakitan (orang-orang melakukannya dengan cukup sukses), tetapi tidak ada buku perakitan (dan mungkin tidak akan pernah ada) seperti SICP. Yang paling dekat adalah ensiklopedia Knuth (dan itu akan menjadi kerja keras.) Untuk java , saya telah bekerja dengannya selama 12 tahun, dan saya tidak akan merekomendasikannya untuk mengajar .. menyelesaikan pekerjaan, tetapi ini sangat menghebohkan karena sebuah PL. C, Python atau Ruby adalah bahasa yang dirancang jauh lebih baik.
luis.espinal
1
@ con't - juga, saya akan memperingatkan agar tidak menggunakan bahasa sebagai alat pedagogis karena itu adalah arus utama. Mainstream berubah setiap 2-3 tahun, dan dengan Java, bahasanya sederhana, tetapi tugasnya adalah mempelajari JVM, perpustakaan, dan arsitektur. Saya akan mengatakan untuk belajar Java dan pengembangan perusahaan NET di tahun ke-4 kuliah. Dan saya percaya (saya tahu, subyektif ) yang penting untuk memberikan ketelitian sejak dini. Kami memiliki terlalu banyak programmer point-n-klik di luar sana yang membutuhkan ketelitian sejak dini. Saya telah menghasilkan banyak uang dengan membersihkan sampah yang mereka tinggalkan, tetapi masih;)
luis.espinal
32

Layak disebut:

The Man-Month Mythical

teks alternatif

sepon
sumber
1
Jika saya hanya bisa membaca satu buku tentang pemrograman, dan setelah saya selesai membacanya, itu hilang dan saya tidak pernah melihat buku lain selama sisa waktu, ini dia. Jika saya harus menyimpan buku di rak saya untuk melihat nanti ... Mungkin itu, volume yang lebih berorientasi referensi. Tetap beri +1!
SingleNegationElimination
Saya menikmati buku ini dan membacanya sampai tuntas. Namun banyak materi hanya berlaku untuk proyek skala sangat besar dengan ratusan atau bahkan ribuan orang yang mengerjakannya seperti OS; karena inilah yang dia dapatkan dari pengalamannya. Saya pikir Code Complete jauh lebih bermanfaat dalam hal pengetahuan yang bisa saya gunakan setiap hari dan itu berlaku bagi saya.
Despertar
30

Pengantar Algoritma

Jonas
sumber
Kami memiliki edisi keempat tetapi ini adalah buku yang bagus tentang algoritma!
Chris
@ Chris: Saya tidak berpikir ada edisi keempat. Edisi ketiga adalah dari September 2009, jadi ini baru.
Jonas
Errr, edisi kedua dengan sampul hijau.
Chris
Ini adalah buku teks wajib untuk kelas saya istilah ini. Saya senang bahwa itu ada dalam daftar di sini, dan itu sangat dinilai pada pertanyaan SO asli!
Pops
28

Pola Desain: Elemen Perangkat Lunak Berorientasi Objek yang Dapat Digunakan Kembali

Ini adalah yang buku untuk dibaca pada desain OOP dan arsitektur. Polanya bagus jika digunakan dengan benar, tetapi saya pikir nilai sebenarnya dari buku ini adalah memberi Anda kotak alat ide untuk digunakan saat mendesain.

teks alternatif

Fishtoaster
sumber
OOP tidak mewakili batas pemrograman.
Inaimathi
Karena katalog pola berlimpah (seperti buku ini), nilai buku ini telah berkurang secara signifikan dari waktu ke waktu.
Steven Evers
1
Apakah banyak orang membaca ini satu per satu? Saya menemukan ini lebih sebagai referensi daripada buku. (Dan referensi yang tidak dapat Anda cari.)
idbrii
28

Kode Bersih Robert C. Martin

"Kode Bersih" Robert C. Martin

Bahasa, kerangka kerja, metodologi datang dan pergi, tetapi banyak ide dalam buku ini, saya kira, selamanya.

azheglov
sumber
4
Jangan tersinggung dengan buku ini, tetapi bisakah Anda benar-benar mendapat jawaban yang diterima tentang topik ini?
Martin Beckett
25

Refactoring: Meningkatkan Desain Kode yang Ada

teks alternatif

Daniel
sumber
25

Saya baru saja menghitung buku saya hari ini. 23 dari mereka Itu tergantung pada apa yang saya kerjakan. Saya kira jawaban abadi adalah "bahasa C", Oleh Kernighan dan Ritchie .

masukkan deskripsi gambar di sini

Moshe
sumber
3
Salah satu buku pengajaran bahasa terbaik dalam sejarah komputasi. Contoh yang baik tentang bagaimana buku pemrograman harus ditulis.
Wizard79
1
Dan layak untuk disimpan di rak, lebih cepat untuk menemukan kode format printf dalam buku daripada dalam dokumen bantuan MSDN
Martin Beckett
19

Bekerja Efektif dengan Legacy Code oleh Michael Feathers.

Ini berisi banyak tips bagus tentang cara mendapatkan basis kode yang ada yang sedang diuji dan dikelola, yang sebagian besar tidak saya ketahui sampai saya membaca buku ini. A harus membaca, bahkan jika kode lama yang Anda gunakan adalah kode Anda sendiri yang Anda tulis kemarin.

Bekerja dengan Efektif dengan Legacy Code

Paddyslacker
sumber
Penutup yang bagus.
Pops
Ini, karena ini adalah fokus saya saat ini: mendapatkan kode yang saya tulis sebelum "test-driven" menjadi kondisi yang dapat diuji.
+1 Sering kali ya. Buku ini membantu saya sedikit dalam memperbarui kode lama.
Grant Palin
18

Seni Pemrograman Komputer oleh Donald Knuth

teks alternatif

Wizard79
sumber
1
Saya tidak yakin ini memenuhi syarat sebagai "1 buku" (kecuali jika Anda benar-benar bermaksud "hanya Volume 1")
Inaimathi
Saya memiliki seluruh seri, tetapi saya akan puas dengan Volume 1. (Kelas ilmu komputer pertama saya diajarkan sejak tahun 1967. Ini sangat berharga). "Ketahuilah struktur datamu".
Ira Baxter
15

Buku-buku Java yang harus dimiliki:

Java Efektif oleh Josh Bloch

teks alternatif

Java Concurrency in Practice Oleh Brian Goetz, et. Al.

teks alternatif

Java Puzzlers Oleh Josh Bloch, Neal Gafter

teks alternatif

Jeremy Heiler
sumber
3
+1 untuk Java yang Efektif. Sangat meningkatkan keterampilan Java saya.
Ryan Hayes
+1 untuk Java Efektif , -1 untuk mengabaikan Satu per jawaban .
Mark Booth
Satu set buku Jawa yang harus Anda miliki
Crowie
11

Coders bekerja oleh Peter Seibel

teks alternatif

Menarik dan menginspirasi, sangat dianjurkan.

systempuntoout
sumber
9

Gödel, Escher, Bach.

teks alternatif!

miku
sumber
1
Ha! Ini adalah pilihan saya dalam daftar buku terkait non-pemrograman! Saya kira ini membuatnya tidak bisa diklasifikasikan?
Paddyslacker
Saya sangat menyukai buku ini, sangat direkomendasikan oleh prof Theory of Computing di UW Madison - sangat membantu ketika mencoba memahami apa yang ia bicarakan.
Peter Turner
@Paddyslacker, GEB sebenarnya menghabiskan sedikit waktu berbicara tentang komputabilitas dan berbagai konsep ilmu komputer.
5

Programmer Pragmatis: Dari Journeyman hingga Master (Andrew Hunt dan David Thomas)

Maniero
sumber
4

Getting Things Done (David Allen) mengajarkan Anda cara menangani ribuan tugas kecil yang perlu Anda selesaikan dalam pekerjaan Anda sehari-hari sebagai pengembang perangkat lunak. Meskipun tidak secara khusus diarahkan pada pengembang, itu jelas merupakan bantuan yang tak ternilai, karena pengembangan perangkat lunak biasanya melibatkan sejumlah besar tugas kecil yang perlu dilakukan dengan cara yang diprioritaskan. Sebagai contoh: fitur baru mana yang harus diterapkan, bug mana yang harus diperbaiki, bagian mana dari kode yang akan diperbaiki, bagian mana dari kode yang akan beristirahat atau diuji ulang, dll ...

Dimitri C.
sumber
3

Bahasa Pemrograman C ++ oleh Bjarne Stroustrup

teks alternatif

Prasoon Saurav
sumber
+1: Hanya karena betapa kering dan detailnya. Sejak itu saya tidak pernah merasa seperti sudah tahu banyak tentang bahasa setelah menyelesaikan buku tentang itu.
mummey
2

Zen Pengoptimalan Kode oleh Michael Abrash

Zen dari Pengoptimalan Kode

Bacaan wajib untuk programmer realtime - bahkan jika informasi spesifik prosesor diberi tanggal, pola pikir sangat berharga.

ASHelly
sumber
2

Apakah iPad dihitung? Saya ingin mengatakan bahwa # 1 di rak buku saya adalah browser web dan kemampuan untuk mencari. API dan referensi daring adalah tempat terbaik dan itu akan tergantung pada rangkaian proyek saya saat ini.

Chris
sumber
2
Tidak, tidak. Lihat komentar tentang Kindle di atas. Yang mengatakan, saya suka iPad. Ini bisa menjadi sumber yang berharga, tetapi itu masih bukan buku nyata. +1, saya sedang dalam mood fanboy. :)
Moshe
2

Pola Desain di Ruby: teks alternatif

ennuikiller
sumber
2

Bruce F. Webster "Jebakan Pengembangan Berorientasi Objek"

Kami memiliki terlalu banyak pengembang "OO" yang masih tidak tahu untuk apa objek atau kelas atau untuk apa; tidak tahu apa yang tampak seperti pemrograman OO, prosedural, modular dan terstruktur; dan entah bagaimana berhasil merusak kode pseudo-prosedural yang buruk bersama-sama dengan kelas.

Buku ini (ditambah beberapa oldies 70-an pada desain terstruktur) akan pergi jauh dalam membantu jiwa-jiwa miskin ini akhirnya memahami seperti apa seharusnya orientasi objek yang baik.


Lebih jauh lagi, kemungkinannya adalah jika saya dipaksa untuk memilih satu buku dan satu buku hanya di sebelah buku ini, saya tidak akan memilih buku yang spesifik teknologi .

luis.espinal
sumber
1

teks alternatif

Itu salah satu dari sedikit buku pemrograman yang saya simpan sejak pertama kali memulai pemrograman. Saya sering meminjamkan ini kepada orang-orang yang pertama kali memulai. Sekarang, tidak banyak, karena C tidak lagi menjadi bahasa pemrograman pertama orang. Itu melakukan pekerjaan yang luar biasa untuk menggambarkan apa yang terjadi di balik layar dan deskripsi tentang pointer membawa kejelasan nyata pada apa yang sebaliknya menjadi topik yang sangat membingungkan bagi banyak orang.

Schuler yang kaya
sumber
1

Jon skeet's "c # in Depth"

teks alternatif

ACP
sumber
1
Sebenarnya saya tidak suka buku Jon. Informasi itu bagus, tetapi ada begitu banyak "oh, ini penting 10 bab dari sekarang" dalam buku sehingga terasa sangat tidak tertata.
Steven Evers
2
Sadarilah ada edisi kedua, yang merupakan pembaruan dari yang pertama dan juga mencakup C # 4.
Grant Palin
1

Desain Objek: Peran, Responsabilitas, dan Kolaborasi

teks alternatif

Sejauh ini, ini adalah buku pemrograman favorit saya (meskipun tidak tergantung pada bahasa). Menurut pendapat saya yang sederhana adalah buku yang lebih baik menyajikan kasus tentang bagaimana merancang objek yang berhubungan dengan sepupu / saudara / tetangga mereka. Harus ada di rak buku programmer yang serius.

Ksatria Merah
sumber