Hai
Calon siswa di
Veeam Academy sering bertanya kepada kami tentang buku-buku yang akan membantu mempersiapkan diri memasuki kursus pemrograman C # kami. Kami biasanya merekomendasikan beberapa sumber, menyertai mereka dengan komentar kami tentang mengapa mereka akan berguna.
Namun, sebagian besar buku pemrograman panjangnya 1K + halaman, dan membacanya "cover to cover" akan memakan waktu lebih dari satu bulan, dan bahkan mungkin lebih dari satu tahun! Oleh karena itu, semua rekomendasi kami untuk pelamar Veeam Academy hanya berfungsi sebagai pedoman, dan bukan sebagai persyaratan wajib.
Seiring waktu, kami merangkum komentar kami pada setiap publikasi dan akhirnya mendapatkan daftar, menurut kami, buku yang bagus untuk pertumbuhan profesional seorang programmer C #.
Kami menyajikan ikhtisar singkat kami di bawah potongan.

Di bawah ini adalah ikhtisar dari buku-buku berikut:
- J. Richter. CLR via C #
- Stephen S. Skien. Algoritma Panduan pengembangan
- Joe Albahari. Memasukkan dalam c #
- Itzik Ben-Gan. Microsoft SQL Server 2012. Dasar-Dasar T-SQL
- J. Skeet. C # untuk para profesional. Seluk beluk pemrograman
- Joe Duffy. Pemrograman bersamaan di windows
- Eric Freeman dkk. Kepala Pertama. Pola desain
- Sergey Teplyakov. Pola Desain .NET
J. Richter. CLR via C #

Membaca Richter seperti mengecat dinding sebuah ruangan dengan warna putih. Saya membacanya sekali - dicat dalam satu lapisan. Dalam hal ini, satu lapisan biasanya tidak cukup - cat tidak selalu terletak dengan mulus dan tidak menjadi seterang yang kita inginkan - jadi lebih baik untuk pergi dan memperbaikinya dengan lapisan lain, dan seiring waktu mewarnai tempat masing-masing. Secara umum, semakin banyak lapisan, semakin putih ruangan!
Setiap kali Anda membaca Richter, Anda menemukan sesuatu yang baru. Dan intinya bukanlah edisi yang diperbarui dari buku ini keluar dengan interval yang teratur (yang, omong-omong, berbicara tentang popularitasnya yang luar biasa). Bahkan membaca versi yang sama, Anda menemukan tempat-tempat menarik karena kedalaman dan luasnya dengan materi yang disajikan.
Banyak orang menyebut buku ini "bible" dan "alphabet" untuk programmer C #. Namun, perlu dicatat bahwa ia sedikit memperhatikan bahasa pemrograman tertentu - penekanannya adalah pada platform .Net dan prinsip-prinsip dasar operasinya.
Oleh karena itu, itu masih tidak dapat dianggap sebagai buku teks C # (dalam pengertian yang diterima secara umum untuk pemula), tetapi kita dapat mengatakan bahwa ini adalah buku wajib bagi pengembang .Net profesional. Namun, bahkan dalam kasus ketika Anda baru memulai jalur karir Anda, Richter pasti akan membantu Anda menghindari banyak kesalahan dan memungkinkan Anda untuk menulis program lebih efisien, karena Anda akan lebih memahami platform.
Jadi apa yang ada di dalam:
Sekitar 1.000 halaman teks yang menarik tentang struktur internal lingkungan runtime bahasa umum (CLR) dari Microsoft .NET Framework, ditulis dalam bahasa yang sederhana dan dengan cara yang ramah, diakui oleh pakar pemrograman Jeffrey Richter.
Bab-bab dibagi menjadi subtopik terkait, tetapi mereka dapat dibaca (dan bahkan diperlukan) tidak secara berurutan. Setiap bab memiliki tautan ke bab-bab lain, yang membuatnya nyaman untuk membaca bagian-bagiannya dan memungkinkan Anda untuk tidak duduk terlalu lama pada topik-topik yang sekarang terasa sangat sulit atau tidak menarik.
Juga di halaman-halaman buku ini Anda akan menemukan jawaban untuk sebagian besar pertanyaan yang ingin mereka tanyakan di wawancara C # dan .Net.
Untuk profesional dengan pengalaman dalam pemrograman untuk platform .Net, buku ini tidak perlu iklan. Untuk pemula, kami sangat menyarankan untuk tidak menunda berkenalan dengannya di dalam kotak panjang!
Stephen S. Skien. Algoritma Panduan pengembangan

Jika Anda sudah memiliki di belakang Anda kursus universitas umum dalam algoritma dasar dan Anda perlu memoles poin utama dalam waktu singkat, maka buku ini adalah salah satu yang terbaik.
Ini bukan buku teks, melainkan panduan untuk pengembangan algoritma yang efektif dalam praktiknya. Buku ini dibedakan oleh presentasi yang sangat baik dan mudah diakses, penuh dengan tautan ke literatur modern dan contoh-contoh berguna. Terutama instruktif adalah bagian dalam "Kisah Hidup", di mana penulis menceritakan bagaimana menemukan solusi yang cocok untuk tugas-tugas sulit yang dia hadapi dalam karirnya.
Buku itu terdiri dari dua bagian. Bagian pertama akan memungkinkan Anda untuk dengan cepat mengingat poin utama kursus tentang algoritma (kompleksitas, jenis struktur data, penyortiran, bekerja dengan grafik, pencarian kombinatorial, pemrograman dinamis, dll.). Di sini Anda akan menerima rekomendasi praktis tentang pengembangan algoritma.
Bagian kedua adalah katalog struktur dan masalah algoritmik yang akan membantu Anda menemukan solusi untuk masalah yang Anda temui di tempat kerja. Banyak contoh dan tautan bermanfaat disediakan, dan implementasi perangkat lunak yang ada dicantumkan.

Multithreading adalah salah satu topik paling sulit yang dihadapi pengembang modern, terlepas dari bahasa pemrograman yang dipilih. Topik ini sangat penting ketika menulis sistem terdistribusi sangat, jadi masuk
Akademi multithreading
Veeam memberikan perhatian khusus.
Situs Joe Albahari adalah tempat yang baik untuk membiasakan diri dengan topik ini,
berisi materi terstruktur dari bab-bab yang relevan tentang multithreading di lingkungan CLR dari bukunya.
C # secara singkat .
Di sini Anda akan menemukan contoh bekerja dengan stream: mulai, akhiri, interupsi, kunci, sinkronisasi, konteks sinkronisasi, dll. Juga, kemampuan streaming NET (thread thread, metode asinkron)., Paralel LINQ, struktur SpinLock / SpinWait dan banyak lagi yang dibahas.
Jika Anda ingin menggali sedikit lebih dalam, maka kami merekomendasikan buku karya Joe Duffy, ikhtisar yang disajikan di bawah ini.
Itzik Ben-Gan. Microsoft SQL Server 2012. Dasar-Dasar T-SQL

Buku ini tentang dasar-dasar T-SQL akan berguna untuk pemula dan pengembang berpengalaman yang telah lama akrab dengan bahasa ini. Buku ini dibedakan oleh kesederhanaan presentasi. Selain pertanyaan SQL dasar, ekspresi tabel, fungsi jendela, dan topik lainnya juga dibahas. Setiap bab disertai dengan sejumlah besar contoh dan latihan untuk mengkonsolidasikan materi.
Penulis tidak mem-bypass teori, tetapi tidak membebani presentasi dengan teorema dan bukti.
Bahkan setelah bertahun-tahun bekerja dengan SQL, Anda pasti akan menemukan sesuatu yang baru untuk diri Anda sendiri, serta dapat menyegarkan dan mengatur pengetahuan Anda.
J. Skeet. C # untuk para profesional. Seluk beluk pemrograman.

Buku ini memiliki banyak ulasan bagus, dan bukan kebetulan. Penulis memilih gaya yang mirip dengan yang digunakan oleh pendiri bahasa C ++ Bjorn Straustrup dalam karyanya "Desain dan Evolusi Bahasa C ++". Buku ini bercerita tentang prinsip dasar menciptakan dan mengembangkan bahasa C #, menunjukkan evolusinya dari versi ke versi, memberikan penjelasan mengapa bahasa tersebut diberikan kesempatan ini atau itu. Semua ini pada akhirnya membentuk gambaran integral dari persepsi bahasa C #. Buku ini juga berisi saran dan pengalaman praktis dari penulis. Kehalusan bahasa terungkap berkat berbagai contoh. Perhatian besar diberikan pada topik LINQ.
Karya J. Skeet sama sekali tidak seperti buku Richter, meskipun juga ditulis secara rinci tentang fitur implementasi internal C #. Kami melihat bahwa dipasangkan dengan Richter buku ini akan menjadi alat yang sangat baik untuk studi mendalam tentang C # dan .NET Framework.
Salah satu ulasan bisa dibaca
disiniJoe Duffy. Pemrograman bersamaan di windows

Saat membaca karya Joe Duffy, Anda bisa "mendidih," tetapi usahanya tidak sia-sia. Ini adalah salah satu buku multithreading paling mendasar di Windows. Topik serius, volume yang layak (lebih dari 1000 halaman) dan perendaman mendalam dalam detail multithreading tingkat rendah mungkin bukan bacaan yang paling mudah. Namun, setiap pengembang yang ingin menulis kode yang efisien, toleran terhadap kesalahan, dan dapat diskalakan (asli - dikelola dan tidak dikelola - asli) untuk Windows tidak boleh lewat.
Terlepas dari kenyataan bahwa buku ini diterbitkan sepuluh tahun yang lalu, ia mencakup hampir semua topik yang berkaitan dengan multithreading: algoritma dasar dan primitif sinkronisasi, model pemrograman asinkron dalam. NET, model memori, bebas kunci, dan banyak lagi.
Buku ini menggabungkan teori dan praktik terbaik dengan banyak contoh penggunaan Win32 dan .Net API, dan juga berisi contoh algoritma dan struktur data yang dapat Anda gunakan dalam kode Anda.
Selain multithreading, buku oleh J. Duffy akan membantu untuk lebih memahami bagaimana Windows, CLR dan .NET Framework berfungsi, dan akan menjawab pertanyaan "mengapa."
Catatan: Task Parallel Library (TPL) tidak tercakup di sini, karena TPL belum dirilis pada waktu itu. Untuk pengantar TPL, Anda dapat merekomendasikan Stephen Cleary.
Eric Freeman dkk. Kepala Pertama. Pola desain

Jika Anda belum memiliki banyak pengalaman bekerja dengan pola desain, tetapi ingin memperbaikinya, dan pada saat yang sama menggabungkan pengetahuan Anda dalam OOP, maka buku ini bisa sangat berguna. Itu didekorasi dengan gaya yang agak tidak biasa (meskipun tradisional untuk seri buku Kepala Pertama) - itu berisi sejumlah besar gambar, pencarian dan deskripsi informal, penuh dengan sejumlah besar contoh, sementara itu ditulis tanpa air dan sangat mudah dibaca.
Bersamaan dengan analisis pola yang paling populer dan diagram UML yang sesuai, di sini, bersama dengan narasinya, prinsip-prinsip dasar OOP dijelaskan.
Jangan bingung bahwa contoh kode ada di Jawa. Semuanya cukup sederhana, dan bahkan pengembang pemula dapat dengan mudah mengetahuinya. Ini adalah kasus ketika pengembang C # merasa berguna untuk melihat buku Java.
Sergey Teplyakov. Pola Desain .NET

Tidak seperti literatur lainnya yang termasuk dalam ulasan kami, buku ini awalnya ditulis dalam bahasa Rusia dan karena itu tanpa kekurangan yang melekat pada sebagian besar terjemahan modern dari bahasa Inggris. Namun, kelebihannya tidak berakhir di situ saja.
Buku ini ditulis oleh pengembang C # untuk pengembang C #, yang menyiratkan bahwa Anda memiliki pengetahuan OOP dasar. Penulis berbagi pengalamannya, mempertimbangkan klasik dan lebih cocok untuk cara platform .NET menerapkan setiap pola. Dalam hal ini, pro dan kontra dari masing-masing metode dianalisis.
Di sepanjang buku ini, kemungkinan menggunakan pola-pola yang dipertimbangkan ditunjukkan oleh satu contoh, yang memungkinkan Anda untuk membuat gambaran holistik dari dunia pola.
Anda dapat membaca lebih lanjut tentang buku ini di sini.
Dan bagaimana Anda melengkapi daftar ini?