کتاب فارسی ‫‬‬Go ‪Succinctly‬‬

زبان Go زبان بسیار قدرتمند و پیشرفته‌ای است که در آینده‌ای نه چندان دور در بیشتر پروژه‌های موفق و بزرگ دنیا مورد استفاده قرار می‌گیرد. شاید تعجب کنید اگر بدانید Go در برخی خصوصیات خود ۲۰ الی ۵۰ برابر از زبان‌های دیگر بهینه تر و سریع تر است. در این پست با تاریخچه این زبان به صورت اجمالی آشنا می‌شوید.در این پست با مطالب زیر آشنا می‌شوید:- طراحان و ابداع کنندگان زبان Go- اهداف طراحی این زبان- شرکت‌های بزرگی که از Go استفاده می‌کنند- مقایسه مختصری از زبان Go و زبان‌هایی مانند C++ و Ruby و Python و جاوا- شرکت پشتیبان از زبان Go- مجوزهای انتشار این زباننمودار مقایسه تعداد درخواست‌های زبان Go نسبت به سایر زبان‌ها در یک ثانیهدر سپتامبر سال 2007، Ken Thompson و Rob Pike، دو تن از سرشناس ترین چهرها‌های دنیای نرم افزار که نیازی به معرفی شان نیست، ایده ساخت یک زبان برنامه نویسی سیستمی جدید را با Robert Griesemer، یکی دیگر از مهندسین مشغول در Google در میان گذاشتند.آن‌ها کار بر روی این زبان جدید را شروع کردند و در این مدت تعداد دیگری از همکارانشان همچون Russ Cox و Brad Fitzpatrick و Andrew Gerrand به تیم آن‌ها ملحق شدند.در نوامبر سال 2009، اولین نسخه آزمایشی زبان با پشتیبانی گوگل به صورت متن باز به عموم برنامه نویسان عرضه شد. از آن زمان تا کنون بیش از 300 نفر از برنامه نویسان داوطلب در توسعه این پروژه شرکت داشته اند.از اولین ماه انتشار این زبان، شرکت‌های Startup زیادی استفاده از آن را شروع کردند. با اینکه زبان در نسخه آزمایشی به سر می‌برد، اما برای خیلی‌ها وجود نام Jeb Thompson و Rob Pike کافی بود تا از کیفیت زبان اطمینان حاصل کنند.شرکت‌های بزرگ تر اما، منتظر نسخه پایدار ماندند. تا اینکه در ماه مارس سال 2012، نسخه 1.0 از زبان برنامه نویسی Go به صورت پایدار منتشر شد.در زیر لیست تعدادی از شرکت‌های استفاده کننده از این زبان را می‌بینید:GoogleYouTubeBBCCanonicalNokia SiemensBitlyHerokuCloudFlareSmugMugFeedbooksIron.ioMoovwebAirBrakeSwirl.usSoundCloudتقریباً در تمام اسامی بالا، از Go برای طراحی سیستم‌های Back-end استفاده شده است. جایی که زبان‌های اسکریپتی قدرت مناسب را ندارند و معمولا از JVM استفاده می‌شود؛ در خیلی از مواقع هم برای رسیدن به سرعت بالاتر، پای کدهای C و ++C به میان می‌آید.GO یک زبان مدرن و همه منظوره استGo زبانی است که برای نیازهای امروز برنامه نویسان طراحی شده است. تمامی سعی طراحان بر این بوده که بتوانند تناسبی بین قدرت، سرعت و سادگی ایجاد کنند. ایده‌هایی که در آن بکار رفته با دقت و وسواس زیادی انتخاب و پیاده سازی شده اند. طبق گفته تیم توسعه، بر سر بعضی از قابلیت‌های زبان تا یک سال بحث و تبادل نظر صورت گرفته است.Rob Pike عنوان می‌کند که ایده اولیه آن‌ها ساخت یک زبان سیستمی بود که بتواند جایگاه مناسبی برای ++C باشد. در روزهای اول، حتی سایت پروژه هم Go را به عنوان زبانی برای برنامه نویسی سیستم معرفی می‌کرد. اما با گذشت زمان متوجه شدند که تاکید آن‌ها بر سادگی، باعث شده نظر برنامه نویسان زبان‌های سطح بالاتری مثل Python یا Ruby هم به Go جلب شود؛ این قضیه برای تیم توسعه هم جالب بود.در واقع می‌توان گفت که Go با ظرافت فراوان قدرت و سرعت زبانی مثل C را با سهولت و سادگی زبانی مثل Python ترکیب کرده. به همین دلیل قادر است طیف بسیار وسیعی از برنامه‌ها را پوشش دهد، از برنامه‌های سیستمی گرفته تا برنامه‌های ساده چند خطی. چه کسی گفته که یک زبان سیستمی، حتماً باید سخت باشد؟GO یک زبان (آزاد) و متن باز استبا اینکه Go مستقیما از طرف گوگل پشتیبانی می‌شود، ولی یک زبان کاملاً آزاد است و تحت کنترل هیچ شرکتی نیست. Pike اعلام کرده که برای اثبات این موضوع، از قصد هیچ لوگو‌ای از شرکت گوگل را در سایت این زبان قرار نداده اند!این یعنی :سیاست کاری و تجاری هیچ شرکتی بر آینده زبان تاثیر نخواهد گذاشت.توسعه و بهسازی زبان با سرعت بیشتری انجام می‌شود.همه می‌توانند به طور شفاف تمام مراحل توسعه را دنبال کنند.کتابخانه‌ها و فریم ورک‌های متن باز بیشتری برای زبان وجود خواهد داشت.و....آشنایی با ساختار کلی این زبانبرای آشنایی سریع وراحت با ساختار این زبان قدرتمند کتاب فارسی گولنگ به طور خلاصه (Go Succinctly) را به شما معرفی می کنم . بهترین کتاب فارسی برای آشنایی با ساختار کلی که به استارترهای می شود معرفی کرد .مباحث کتاباجرا اولین برنامه در زبان برنامه نویسی گوValues در گولنگVariables در گولنگConstants در گولنگFor در گولنگIf/Else در گولنگSwitch در گولنگArrays در گولنگSlices در گولنگMaps در گولنگRange در گولنگFunctions در گولنگMultiple Return Values در گولنگVariadic Functions در گولنگClosures در گولنگRecursion در گولنگPointers در گولنگStructs در گولنگMethods در گولنگEmbedded types در گولنگInterfaces در گولنگEmpty interface در گولنگType assertion در گولنگدانلود کتاب در :https://goforask.com/d/29-کتاب-فارسی-go-succinctly