golang

Resensi Buku Bahasa Pemrograman Go

Resensi Buku Bahasa Pemrograman Go
Bahasa Pemrograman Go, oleh Alan A. SEBUAH. Donovan dan Brian Kernighan, ditinjau dalam posting ini. Brian Kernighan dikenal sebagai rekan penulis The C Programming Language, dan buku itu sendiri telah dipisahkan sebagai teks standar untuk generasi insinyur. Go sering disebut sebagai Abad 21 C dan Bahasa Pemrograman Go mungkin menjadi teks referensi standar untuk itu.

Awal mula

Buku ini dimulai dengan kuat dengan tutorial bab memberi Anda program "Halo, Dunia" sederhana dan juga memamerkan beberapa keuntungan menggunakan Go. Minimalisme pasti menarik bagi programmer yang memilikinya dengan perpustakaan yang membengkak. Anda tidak dapat mendeklarasikan variabel dan tidak menggunakannya di sisa program Go Anda. Anda tidak dapat mengimpor perpustakaan dan tidak menggunakannya dalam kode Anda. Itu tidak akan dikompilasi. Anda tidak perlu berdebat tentang format kode Anda. Misalnya, pertempuran lama antara:

fungsi utama()

//Dan
fungsi utama()

Diselesaikan oleh kompiler yang hanya menerima yang pertama dan bukan yang terakhir. Nuansa lain diselesaikan oleh alat seperti gofmt yang mengambil file sumber Go Anda dan memformatnya dengan cara yang standar. Jadi semua program Go mengikuti konvensi yang sama, yang pada gilirannya meningkatkan keterbacaan kode.

Bab pertama menekankan nilai jual ini dan melakukan pekerjaan yang sangat baik untuk memberi pembaca rasa tentang apa sebenarnya Go: Bahasa tujuan umum yang dirancang untuk menghasilkan binari statis dengan sesedikit mungkin mengasapi.

Keringkasan

Pemrogram berpengalaman bosan belajar tentang konsep yang sama seperti for loop, pernyataan if-else, dll berulang-ulang untuk bahasa yang berbeda. Bab pertama menyelipkan semua informasi yang membosankan ini dengan mendorong pengguna untuk menulis program Unix-y sederhana (seperti halnya dengan bahasa Pemrograman C).

Satu kelemahan dari ini pengenalan cepat adalah fakta bahwa pembaca baru akan benar-benar bingung dengan sintaks. Program dengan cepat mulai menggunakan operator titik dan berbagai konsep pemrograman berorientasi objek setelah dua atau tiga contoh di bab pertama. Ini penting untuk menjaga kecepatan dan kependekan dari keseluruhan pengalaman membaca dan merupakan pilihan yang sangat disadari oleh para penulis.

Buku ini juga mengasumsikan bahwa pembaca sudah familiar dengan setidaknya satu bahasa pemrograman, sebelum mereka mengambil buku ini. Ini bisa berupa Python, JavaScript, Java, C atau bahasa tujuan umum lainnya.

Situs Web Pendamping

Buku ini dilengkapi dengan situs web pendamping. Anda dapat langsung mengimpor program yang diberikan dalam buku dari situs web ini dan menjalankannya tanpa harus mengetik (atau menyalin tempel dari Aplikasi Kindle Anda). Anda bahkan dapat melihat bab pertama (yang, omong-omong, adalah salah satu favorit saya) secara gratis di situs web ini dan memutuskan apakah buku ini cocok untuk Anda atau tidak.

Penulis telah memperhatikan rasa sakit seorang programmer yang mencoba mempelajari bahasa baru. Gangguan dijaga seminimal mungkin dengan tautan web setiap program disebutkan di atasnya. Jadi Anda dapat mengambil kode, menjalankannya, mengubahnya, dan membangunnya, jika Anda mau.

Daftar lengkap kesalahan juga disimpan di situs web ini, dan Anda dapat merujuknya jika Anda merasa ada sesuatu yang salah.

Bisnis serius

Jika Anda mengharapkan panduan sederhana untuk skrip kausal, ini bukan buku untuk Anda. Alasannya adalah banyak hal yang dibahas terlebih dahulu dan kemudian detailnya diisi seiring dengan kemajuan kita menuju bab-bab selanjutnya.

Buku ini untuk orang-orang yang ingin memahami konstruksi, detail seluk beluk cara kerja Go. Anda akan membuat GIF, menulis server web dan merencanakan Set Mandelbrot dan banyak lagi, tetapi tidak ada yang masuk akal kecuali Anda telah memperhatikan poin-poin penting yang dibuat di bab-bab sebelumnya (dengan Bab 1 menjadi sedikit pengecualian, seperti itu dimaksudkan sebagai ikhtisar bahasa).

Sebagian besar sisa buku ini berfokus pada berbagai detail terkait sintaks tentang Go termasuk loop kontrol, variabel, fungsi, metode, rutinitas Go, dan banyak lagi. Semua ini diilustrasikan dengan membuat pembaca melalui program yang bermanfaat dan bukan skenario idealis yang dibuat-buat.

Bahkan jika Anda ingin melewatkan sebagian besar bab dari tengah buku, saya sangat menyarankan untuk menggali bab 5 untuk memahami Panic, Penanganan kesalahan, dan fungsi anonim. Namun, saya sangat menyarankan untuk membaca semua bab secara berurutan sebelum kita sampai pada permata mahkota Go - Concurrency.

Penekanan pada Konkurensi

Bahasa Go dirancang, dari awal dengan mempertimbangkan konkurensi. Kebanyakan prosesor modern adalah multicore dan multithreaded tetapi programmer tidak menyukai komplikasi yang mereka hadapi saat menulis program untuk dijalankan pada arsitektur seperti itu. Dengan komputasi awan menuju sistem terdistribusi, kode bersamaan akan segera menjadi satu-satunya kode yang berkinerja baik di luar sana.

Bab tentang konkurensi ditulis untuk mengalahkan ketakutan akan desain konkuren dari pikiran kita. Ini rumit, ya, tapi bukan tanpa harapan. Buku ini melakukan pekerjaan yang baik untuk menyampaikan bagaimana Go dapat membantu Anda mengembangkan pola pikir yang benar dari ini.

Kesimpulan

Pengalaman Kernighan dari hari-hari awal UNIX masih sangat layak di era modern desktop cloud, GPU, IOT, cloud, dan apa pun yang akan mengikuti selanjutnya. Dia dan Donovan telah melakukan pekerjaan yang baik dalam menyampaikan kebijaksanaan desain aplikasi dan filosofi UNIX ini menggunakan bahasa modern yang sederhana dengan mempertimbangkan kinerja dan saya tidak ragu merekomendasikan buku ini kepada siapa pun mulai dari siswa sekolah menengah hingga insinyur perangkat lunak senior dengan pengalaman puluhan tahun.

Cara Mengubah Pengaturan Mouse dan Touchpad Menggunakan Xinput di Linux
Sebagian besar distribusi Linux dikirimkan dengan pustaka "libinput" secara default untuk menangani kejadian input pada sistem. Ini dapat memproses ke...
Petakan ulang tombol mouse Anda secara berbeda untuk perangkat lunak yang berbeda dengan Kontrol Tombol X-Mouse
Mungkin Anda membutuhkan alat yang dapat membuat kontrol mouse Anda berubah dengan setiap aplikasi yang Anda gunakan. Jika demikian, Anda dapat mencob...
Ulasan Mouse Nirkabel Microsoft Sculpt Touch
Saya baru-baru ini membaca tentang Microsoft Sculpt Touch mouse nirkabel dan memutuskan untuk membelinya. Setelah menggunakannya untuk sementara waktu...