golang

Ulasan Buku Bahasa Pengaturcaraan Go

Ulasan Buku Bahasa Pengaturcaraan Go
Bahasa Pengaturcaraan Go, oleh Alan A. A. Donovan dan Brian Kernighan, disemak dalam catatan ini. Brian Kernighan terkenal sebagai penulis buku The C Programming Language, dan buku itu sendiri telah menjadi teks standard bagi generasi jurutera. Go sering disebut sebagai 21st Century C dan The Go Programming Language mungkin merupakan teks rujukan standard untuknya.

Permulaan

Buku ini mula kuat dengan huruf a Tutorial bab yang memberi anda program "Hello, World" yang sederhana dan juga menunjukkan beberapa kelebihan menggunakan Go. Minimalis pasti menarik minat pengaturcara yang memilikinya dengan perpustakaan kembung. Anda tidak dapat menyatakan pemboleh ubah dan tidak menggunakannya dalam program Go anda yang lain. Anda tidak boleh mengimport perpustakaan dan tidak menggunakannya dalam kod anda. Ia tidak akan menyusun. Anda tidak perlu berdebat mengenai format kod anda. Sebagai contoh, pertempuran lama antara:

func utama ()

// Dan
func utama ()

Diselesaikan oleh penyusun yang hanya menerima yang pertama dan bukan yang terakhir. Nuansa lain diselesaikan dengan alat seperti gofmt yang mengambil fail sumber Go anda dan memformatnya secara standard. Oleh itu, semua program Go mengikuti konvensyen yang sama, yang seterusnya meningkatkan keterbacaan kod.

Bab pertama menekankan nilai jual ini dan melakukan tugas yang sangat baik untuk memberi pembaca rasa tentang apa sebenarnya Go: Bahasa tujuan umum yang direka untuk menghasilkan binari statik dengan sekecil mungkin.

Keringkasan

Pengaturcara yang berpengalaman bosan belajar tentang konsep yang sama seperti untuk gelung, pernyataan jika-lain, dll berulang-ulang untuk bahasa yang berbeza. Bab pertama menyelinap dalam semua maklumat yang membosankan ini dengan mendorong pengguna untuk menulis program Unix-y sederhana (seperti yang berlaku dengan bahasa Pengaturcaraan C).

Satu kelemahan ini pengenalan pantas adalah kenyataan bahawa pembaca baru akan benar-benar bingung dengan sintaks. Program dengan cepat mula menggunakan operator titik dan pelbagai konsep pengaturcaraan berorientasikan objek setelah dua atau tiga contoh pada bab pertama. Ini penting untuk mengekalkan kepantasan dan kepantasan keseluruhan pengalaman membaca dan merupakan pilihan yang sangat sedar dari pihak penulis.

Buku ini juga mengandaikan bahawa pembaca sudah biasa dengan sekurang-kurangnya satu bahasa pengaturcaraan, sebelum mereka mengambil buku ini. Ini bisa berupa Python, JavaScript, Java, C atau bahasa tujuan umum lainnya.

Laman Web Pengiring

Buku ini dilengkapi dengan laman web pendamping. Anda boleh mengimport secara langsung program yang diberikan dalam buku dari laman web ini dan menjalankannya tanpa perlu menaip (atau menyalin tampal dari Aplikasi Kindle anda). Anda juga boleh menyemak bab pertama (yang sebenarnya, adalah kegemaran saya) secara percuma di laman web ini dan memutuskan sama ada buku ini sesuai untuk anda atau tidak.

Penulis telah memperhatikan kesakitan seorang pengaturcara yang berusaha mempelajari bahasa baru. Gangguan dikurangkan minimum dengan pautan web setiap program yang disebutkan di atasnya. Oleh itu, anda boleh mengambil kodnya, menjalankannya, mengubahnya dan menggunakannya, jika anda mahu.

Senarai errata yang komprehensif juga dikekalkan di laman web ini, dan anda boleh merujuknya jika anda merasakan ada sesuatu yang tidak beres.

Perniagaan yang serius

Sekiranya anda mengharapkan panduan ringkas untuk skrip kausal, ini bukan buku untuk anda. Sebabnya ialah banyak tanah diliputi terlebih dahulu dan kemudian perinciannya dipenuhi ketika kita menuju ke bab-bab berikutnya.

Buku ini ditujukan untuk orang yang ingin memahami konstruknya, perincian yang menarik tentang bagaimana Go berfungsi. Anda akan membuat GIF, menulis pelayan web dan merancang Set Mandelbrot dan banyak lagi, tetapi tidak ada yang masuk akal melainkan anda telah memperhatikan perkara-perkara yang lebih baik yang dibuat pada bab sebelumnya (dengan Bab 1 menjadi pengecualian, seperti ia dimaksudkan sebagai gambaran keseluruhan bahasa).

Sebahagian besar buku selebihnya menumpukan pada pelbagai perincian berkaitan sintaksis mengenai Go termasuk gelung kawalan perkara, pemboleh ubah, fungsi, kaedah, rutin Go dan banyak lagi. Semua ini digambarkan dengan membuat pembaca menjalani program yang berguna dan bukan senario idealistik.

Walaupun anda ingin melangkau sebahagian besar bab dari tengah buku, saya sangat menyarankan untuk menggali bab 5 untuk memahami Panik, Ralat pengendalian dan fungsi tanpa nama. Namun, saya sangat mengesyorkan untuk membaca semua bab secara berurutan sebelum kita sampai ke mahkota Go - Concurrency.

Penekanan pada Kesesuaian

Bahasa Go dirancang, dari bawah ke atas dengan persetujuan dalam fikiran. Sebilangan besar pemproses moden adalah multicore dan multithreaded tetapi pengaturcara membenci komplikasi yang mereka hadapi ketika menulis program untuk dijalankan berdasarkan seni bina tersebut. Dengan pengkomputeran awan menuju ke sistem yang diedarkan, kod serentak akan menjadi satu-satunya kod yang berprestasi baik di luar sana.

Bab mengenai persetujuan ditulis untuk mengalahkan ketakutan reka bentuk serentak dari fikiran kita. Ini rumit, ya, tetapi tidak putus asa. Buku ini berfungsi dengan baik untuk menyampaikan bagaimana Go dapat membantu anda mengembangkan pemikiran yang betul dari ini.

Kesimpulannya

Pengalaman Kernighan dari awal UNIX masih sangat sesuai di zaman moden cloud desktop, GPU, IOT, cloud dan apa sahaja yang akan berlaku seterusnya. Dia dan Donovan telah melakukan tugas yang hebat untuk menyampaikan kebijaksanaan reka bentuk aplikasi dan falsafah UNIX ini dengan menggunakan bahasa moden yang sederhana dengan mempertimbangkan prestasi dan saya tidak ragu-ragu untuk mengesyorkan buku ini kepada sesiapa sahaja dari pelajar sekolah menengah hingga jurutera perisian senior dengan pengalaman berpuluh tahun.

Cara Menunjukkan Overlay OSD dalam Aplikasi dan Permainan Linux Skrin Penuh
Bermain permainan skrin penuh atau menggunakan aplikasi dalam mod skrin penuh bebas gangguan dapat memisahkan anda dari maklumat sistem yang relevan y...
5 Kad Tangkap Permainan Teratas
Kita semua telah melihat dan menyukai streaming permainan permainan di YouTube. PewDiePie, Jakesepticye, dan Markiplier hanyalah beberapa pemain terat...
Cara Membangunkan Permainan di Linux
Satu dekad yang lalu, tidak banyak pengguna Linux akan meramalkan bahawa sistem operasi kegemaran mereka suatu hari nanti akan menjadi platform permai...