کتاب Learning Go, 2nd Edition: An Idiomatic Approach to Real-world Go Programming, 2nd Edition (آموزش Go: یک رویکرد عاری از اصطلاح به برنامهنویسی واقعی در Go، ویرایش دوم) نگاهی بهروز و اصطلاحی به برنامه نویسی واقعی با Go دارد. این کتاب در 16 فصل مختلف به شرح مفاهیم و نکتههای مهم این زبان برنامهنویسی قدرتمند خواهد پرداخت.
در ادامه مقدمهای از کتاب Learning Go را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Learning Go:
در پیشگفتار ویرایش اول، من نوشتم:
انتخاب اول من برای عنوان کتاب “Go خسته کننده” بود، چون با نحوه نوشتن مناسب، Go خسته کننده است…
خسته کننده به معنای سطحی نبودن نیست. نوشتن صحیح در Go نیازمند درک این است که چگونه ویژگیهای آن قرار است به هم متصل شوند.
هرچند میتوانید کد Go بنویسید که شبیه Java یا Python باشد، اما نتیجهاش شما را ناراضی خواهد کرد و سوال میکنید که تمام همهمه چیست. اینجاست که کتاب Learning Go مورد استفاده قرار میگیرد. این کتاب ویژگیهای Go را توضیح میدهد و نشان میدهد که چگونه باید از آنها برای نوشتن کد اصطلاحی که قابل رشد باشد، استفاده کنید.
Go هنوز یک زبان کوچک با مجموعه ویژگی کم است. همچنان ارث بری، برنامه نویسی جنبی، بارگذاری تابع، بارگذاری عامل، تطبیق الگو، پارامترهای نامگذاری شده، استثناها و بسیاری از ویژگیهای اضافی که دیگر زبانها را پیچیده میکنند، فاقد است. پس چرا کتاب Learning Go برای یک زبان خسته کننده نیاز به بروزرسانی دارد؟
برخی دلایلی برای این ویرایش وجود دارد. اول، همانطور که خسته کننده بدان معنی که سطحی نیست نیست، همچنین بدان معنی نیست که ثابت باقی بماند.
در گذشتهی سه سال، ویژگیها، ابزارها و کتابخانههای جدیدی وارد شدهاند. بهبودهایی مانند log ساختاری، fuzzing، workspaces و بررسی آسیبپذیری به برنامه نویسان Go کمک میکنند تا کد قابل اعتماد، دائمی و قابل نگهداری بسازند. اکنون که برنامه نویسان Go چندین سال تجربه با ژنریک دارند، کتابخانه استاندارد شروع به شامل محدودیتهای نوع و توابع ژنریک برای کاهش کد تکراری کردهاند.
حتی بسته غیر ایمن بهروزشده است تا کمی ایمنتر باشد. برنامه نویسان Go نیاز به یک منبع ضروری دارند که توضیح دهد چگونه باید از این ویژگیهای جدید بهترین استفاده را بکنند.
بیشتر بخوانید: کتاب Functional Programming in Golang
در نسخه دوم این کتاب، برخی جنبههای Go توسط ویرایش اول به خوبی توضیح داده نشده بود. فصل مقدماتی به خوبی پیش نرفته بود. اکوسیستم ابزار گو غنی شناسایی نشده بود. و خوانندگان نسخه اول درخواست تمرین و کدهای نمونه اضافی را داشتند. این ویرایش تلاش میکند که این محدودیتها را برطرف کند.
سرانجام، تیم Go چیزی جدید معرفی کرده است، و، میتوانم بگویم، هیجانانگیز. اکنون یک استراتژی وجود دارد که امکان حفظ سازگاری بهخوبی برای پروژههای مهندسی نرمافزار در طولانی مدت فراهم میکند در حالی که امکان معرفی تغییرات معکوس برای رفع نقائص طراحی مدتزمانی، وجود دارد.
قوانین جدید محدودیت متغیر حلقه for معرفی شده در Go 1.22 نخستین ویژگیای است که از این روش استفاده کرده و استفاده نموده است.
Go هنوز هم خسته کننده است، هنوز هم عالی است، و بهتر از گذشته است. امیدوارم از این ویرایش دوم لذت ببرید.
چه افرادی باید کتاب Learning Go را بخوانند؟
کتاب Learning Go برای برنامه نویسانی است که به دنبال یادگیری زبان دوم (یا پنجم) هستند. تمرکز بر روی افرادی است که تازه وارد Go هستند. این شامل افرادی است که به جز اینکه میدانند Go یک ماسکوت جالب دارد، هیچ چیز دیگری درباره Go نمیدانند تا کسانی که قبلاً یک آموزش Go را بررسی کردهاند یا حتی کدهایی در Go نوشتهاند.
تمرکز یادگیری Go نه تنها نحوه نوشتن برنامه در Go است بلکه چگونه بهصورت اصطلاحی یاد بگیرید. برنامهنویسان Go تجربهنیافتهتر میتوانند مشورتهایی را در مورد بهترین استفاده از ویژگیهای جدید زبان پیدا کنند. مهمترین چیز این است که خواننده میخواهد یاد بگیرد چگونه کد Go بنویسد که شبیه Go باشد.
فرض میرود که تجربه با ابزارهای حرفهای توسعه دهنده، مانند کنترل نسخه (بهتر است Git باشد) و محیطهای توسعه یادگرفته شده است. خواننده باید با مفاهیم پایه علوم کامپیوتر مانند همروندی و انتزاع آشنا باشد، زیرا کتاب Learning Go توضیح میدهد که چگونه در Go کار میکنند.
بخشی از مثالهای کد از GitHub قابل دانلود است، و دهها مورد دیگر میتواند آنلاین در The Go Playground امتحان شود. هرچند به اینترنت نیاز ندارید، اما هنگام بررسی مثالهای قابل اجرا، مفید است. از آنجایی که Go اغلب برای ساخت و فراخوانی سرورهای HTTP استفاده میشود، برخی از مثالها به فرض آشنایی با مفاهیم پایهای HTTP هستند.
اگرچه اکثر ویژگیهای Go در زبانهای دیگر وجود دارد، Go مقایسهها و تجارتهای متفاوتی را انجام میدهد، بنابراین برنامههای نوشتهشده در آن ساختار متفاوتی دارند. یادگیری Go با نگاه به چگونگی راهاندازی محیط توسعهی Go شروع میشود، و سپس به موضوعاتی مانند متغیرها، انواع، ساختارهای کنترلی و توابع میپردازد.
اگر شما تمایل دارید که از موارد موجودی بگذرید، از مقاومت برخوردار شوید و یک نگاهی بیندازید. اغلب جزئیات باعث میشوند که کد Go شما اصطلاحی باشد. بخشی از آنچه در نگاه اول بر رویا به نظر میرسد، ممکن است واقعاً وقتی آن را به صورت عمیق فکر میکنید ممکن است واقعاً جالب باشد.
سرفصلهای کتاب Learning Go:
- Copyright
- Table of Contents
- Preface
- Chapter 1. Setting Up Your Go Environment
- Chapter 2. Predeclared Types and Declarations
- Chapter 3. Composite Types
- Chapter 4. Blocks, Shadows, and Control Structures
- Chapter 5. Functions
- Chapter 6. Pointers
- Chapter 7. Types, Methods, and Interfaces
- Chapter 8. Generics
- Chapter 9. Errors
- Chapter 10. Modules, Packages, and Imports
- Chapter 11. Go Tooling
- Chapter 12. Concurrency in Go
- Chapter 13. The Standard Library
- Chapter 14. The Context
- Chapter 15. Writing Tests
- Chapter 16. Here Be Dragons: Reflect, Unsafe, and Cgo
- Index
- About the Author
- Colophon
جهت دانلود کتاب Learning Go میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.