ثبت نام
صفر تا صد برنامه نویسی

صفر تا صد برنامه نویسی رایگان

سرفصل‌های مقاله

زبان برنامه نویسی “Go” که “Golang” نیز صفر تا صد برنامه نویسی نامیده می شود، یک زبان برنامه نویسی است که در سال 2007 توسط صفر تا صد برنامه نویسی رابرت گریزمر، راب پایک و کن تامپسون در گوگل توسعه یافت. در سال 2009، گوگل قبلاً آن را وارد صفر تا صد برنامه نویسی مرحله تولید کرده بود و متعاقباً به عنوان منبع باز معرفی و منتشر شد.

توسعه Go با رابرت گریزمر، راب پایک و کن تامپسون در 21 سپتامبر 2007 شروع شد و در مورد برخی از مشکلاتی که با آنها داشتند بحث کردند. C ++ و سایر صفر تا صد برنامه نویسی زبان های برنامه نویسی و همچنین زمان بسیار طولانی کامپایل که با این زبان ها همراه بود.

صفر تا صد برنامه نویسی

آنها در مورد اینکه اگر بخواهند یک زبان برنامه نویسی جدید طراحی کنند چه کار متفاوتی انجام می دهند بحث کردند و یکی از آنها روی یک تخته سفید یادداشت برداری صفر تا صد برنامه نویسی کرد. پس از چند روز، یک ایده و برنامه روشن در مورد چگونگی انجام آن ظاهر شد.

طراحی Go به صورت پاره وقت و به موازات سایر کارهای غیر مرتبط ادامه یافت. در سال 2008، کن تامپسوم کار بر روی کامپایلری را آغاز کرد که می توانستند از آن برای صفر تا صد برنامه نویسی تحقیق درباره ایده ها استفاده کنند. کامپایلر کد C را صادر کرد. در اواسط سال، این پروژه به یک پروژه تمام وقت تبدیل شد.

و آنها آنقدر پیش رفتند که می توانستند یک کامپایلر تولیدی را امتحان کنند. در می 2008، ایان تیلور، مستقل از پروژه، شروع به توسعه یک Go frontend صفر تا صد برنامه نویسی برای کامپایلر GCC از طریق پیش‌نویسی که برای مشخصات Go ساخته بودند، کرد. راس کاکس در اواخر سال 2008 به این پروژه پیوست.

پیشنهاد می کنیم مقاله آموزش برنامه نویسی از صفر تا صد را مشاهده کنید.

و به انتقال زبان و هسته کتابخانه از نمونه اولیه به واقعیت کمک کرد. پس از آن، بسیاری دیگر به این پروژه پیوستند و هم ایده ها و هم کدها را ارائه کردند.راب پایک صفر تا صد برنامه نویسی می گوید:زبان برنامه نویسی Go در اواخر سال 2007 به عنوان پاسخی به برخی از مسائلی که ما به عنوان توسعه دهندگان در زیرساخت های گوگل دیدیم توسعه یافت.

چشم انداز کامپیوتر امروزه عملاً هیچ ارتباطی با محیطی که زبان های پرکاربرد مانند C ++، جاوا و پایتون در آن ایجاد شده اند ندارد. مشکلاتی که با معرفی پردازنده های صفر تا صد برنامه نویسی چند هسته ای، شبکه به وجود آمده است. سیستم‌ها، خوشه‌های عظیم رایانه‌ای و همچنین مدل توسعه وب، به جای حل شدن، در اطراف کار شدند.

علاوه بر این، ترتیب بزرگی به طور قابل توجهی تغییر کرده است. برنامه های روی سرورها امروزه از میلیون ها خط کد تشکیل شده است و صدها یا حتی هزاران برنامه نویس روی آنها صفر تا صد برنامه نویسی کار می کنند و به معنای واقعی کلمه هر روز به روز می شوند.

بدتر از آن، زمان لازم برای ساخت این برنامه‌ها، حتی بر روی خوشه‌های کامپایل‌سازی بزرگ، به چند دقیقه و حتی چند ساعت افزایش یافته است. Go طراحی و توسعه داده شد صفر تا صد برنامه نویسی تا این محیط‌ها را با بهره‌وری بیشتری مدیریت کند.بنابراین Go از نوعی ناامیدی نسبت به زبان‌ها و محیط‌های برنامه‌نویسی کنونی متولد شد.

آموزش صفر تا صد برنامه نویسی

برنامه نویسی خیلی سخت تلقی می شد و دلیل آن انتخاب زبان برنامه نویسی بود. یا مجبور به انتخاب کامپایل کارآمد و اجرای کارآمد، یا توسعه آسان تر اما اجرای بسیار کندتر صفر تا صد برنامه نویسی می شود. این سه چیز در برخی از زبان های برنامه نویسی گسترده در یک ترکیب وجود نداشتند.

Go تلاشی برای ترکیب تسکین به دست آمده با استفاده از یک زبان پویا و تفسیر شده با ساده سازی یک زبان کامپایل شده است. در عین حال، سعی می کند با پشتیبانی صفر تا صد برنامه نویسی اصلی بیشتر و پشتیبانی شبکه بهتر مدرن باشد.

Go همچنین به گونه ای طراحی شده است که برای کامپایل بسیار سریع باشد. ساخت فایل های اجرایی بزرگ روی یک کامپیوتر بیش از چند ثانیه طول نمی کشد. بخشی از صفر تا صد برنامه نویسی این با توسعه یک زبان بسیار ساده اما در عین حال بسیار رسا به دست آمده است.

همچنین مدیریت خودکار حافظه، اجرای کارآمد برنامه های در حال اجرا به طور همزمان، مدیریت کارآمد وابستگی ها.هیچ یک از زبان های کنونی این ترکیب را نداشتند، به همین صفر تا صد برنامه نویسی دلیل است که نیاز زیادی به زبان جدید احساس می کردند.کن تامپسون کسی بود که سیستم عامل اصلی یونیکس را طراحی و اجرا کرد.

پیشنهاد می کنیم مقاله دوره های برنامه نویسی را مشاهده کنید.

و همچنین مخترع زبان برنامه نویسی B (پیشرو مستقیم زبان برنامه نویسی C) بود. او همچنین یکی از مخترعان سیستم عامل Plan 9 را از آزمایشگاه Bell دارد.رابرت پایک صفر تا صد برنامه نویسی بیشتر به خاطر کارش در آزمایشگاه بل، جایی که او یکی از اعضای تیم یونیکس نیز بود، شناخته می شود.

او همچنین در طراحی و توسعه Plan 9 و سیستم عامل Inferno نقش داشت. او همچنین در توسعه زبان برنامه نویسی Limbo مشارکت داشته است.پایک به همراه برایان کرنیگان نویسنده کتاب The Practice of Programming and The Unix Programming Environment است. او به همراه صفر تا صد برنامه نویسی کن تامپسون توسعه دهنده UTF-8 نیز می باشد.

رابرت گریزمر یکی از توسعه دهندگان موتور جاوا اسکریپت V8 گوگل است. او همچنین در Chuppy توسعه داده است، که یک مکانیسم قفل توزیع شده برای سیستم فایل صفر تا صد برنامه نویسی توزیع شده GFS گوگل و بسیاری موارد دیگر است.بنابراین زبان برنامه نویسی Go توسط برخی از با تجربه ترین و ماهرترین افراد جهان توسعه یافته است.

اولین چیزی که وقتی تصمیم گرفتم نگاهی به Go بیندازم متوجه شدم فقدان کامل بسیاری از عملکردهایی بود که معمولاً با یک زبان برنامه نویسی “مدرن” مرتبط است و صفر تا صد برنامه نویسی چندین زبان دائماً با آن پر می شوند.به عنوان مثال می توان به C ++ و PHP اشاره کرد که در سال های اخیر از جمله موارد دیگر است

غیرت با عملکردهای بیشتر و بیشتر برای مثال به رشد خود ادامه می دهد. پشتیبانی بهتر از پارادایم شی گرا در مقابل، Go تقریباً از همه این چیزها و دلایل خوبی پاک صفر تا صد برنامه نویسی شده است. Go نه تنها توسط گوگل برای انجام کاری که گوگل به بهترین شکل انجام می دهد، توسعه داده شده است.

بلکه توسط برخی از اساتید قدیمی این صنعت نیز توسعه داده شده است.چیزی که زبان برنامه نویسی Go را به یک دستاورد بزرگ طراحی تبدیل می کند، دقیقاً این صفر تا صد برنامه نویسی واقعیت است که طراحان واکنش های بسیار منفی نسبت به زبان های برنامه نویسی داشتند که از نظر آنها آکادمیک، نظری یا غیرمولد هستند.

برخی از مردم بر این باورند که Go تمام پیشرفت های اساسی در توسعه زبان های برنامه نویسی را که در 40 سال گذشته به دست آمده است نادیده می گیرد. Go را زبانی صفر تا صد برنامه نویسی می داند که در دهه 70 گیر کرده و برای برنامه نویسان متوسط ​​طراحی شده است، اما هیچ چیز نمی تواند دور از واقعیت باشد!

کاری که توسعه‌دهندگان انجام داده‌اند این است که 40 سال اخیر توسعه زبان‌های برنامه‌نویسی را نادیده نگرفته‌اند، در عوض آن‌ها همه چیزهای اضافی و غیرضروری پیچیده صفر تا صد برنامه نویسی را مرتب کرده و آن‌ها را در سطل زباله انداخته‌اند، و در عوض تمرکز خود را روی دستیابی به بسیاری از عملکردهای مشابه انتخاب کرده‌اند.

به سادگی به روشی بسیار ساده تر و کارآمدتر، و من شخصاً فکر می کنم که آنها در این زمینه موفقیت بزرگی داشته اند.تک تک عملکردهای Go با دقت بسیار در نظر صفر تا صد برنامه نویسی گرفته شده است، و سپس به کارآمدترین راه پیاده سازی شده است.در Go، هیچ شی گرا خالص.

پیشنهاد میکنیم مقاله آموزش برنامه نویسی از صفر را مشاهده کنید.

عملکردی خالص، کلاس، وراثت (که کلاس ها از کلاس های دیگر ارث می برند) وجود ندارد، و بسیاری از عملکردهای دیگر وجود ندارند.اما این بدان معنا نیست صفر تا صد برنامه نویسی که Go از برنامه نویسی شی گرا یا برنامه نویسی تابعی پشتیبانی نمی کند، بلکه Go را پشتیبانی می کند، فقط به روشی متفاوت و فوق العاده ساده پیاده سازی شده است.

نتیجه طراحی Go این است که شما می توانید به همان عملکردهای شناخته شده از زبان های برنامه نویسی مانند. جاوا و C ++، اما به روش های بسیار ساده تر. صفر تا صد برنامه نویسی می توان گفت که در Go خیلی کمتر قابل توجه است، اما دستیابی به آن کمتر نیست.

نتیجه برنامه های بسیار کارآمدی است که نگهداری آنها بسیار آسان تر است.اگر می خواهید در مورد توسعه Go بیشتر بدانید، مقاله Go at Google: Language Design in Service of Software Engineering  صفر تا صد برنامه نویسی که یک سخنرانی کوتاه شده توسط راب پایک در کنفرانسی در توسان، آریزونا در سال 2012 است، پیشنهاد می شود.

Go یک زبان برنامه نویسی از نوع استاتیک است، به این معنی که کامپایلر انواع متغیرها را در حین کامپایل بررسی می کند. در عمل، این بدان معنی است که شما به صفر تا صد برنامه نویسی عنوان یک برنامه نویس باید تعریف کنید که یک متغیر معین باید چه نوع مقداری را داشته باشد، به عنوان مثال آیا این متغیر است.

یک عدد یا یک رشته متن این خود مقدار نیست که بررسی می شود، بلکه فقط نوع آن بررسی می شود.زبان نوع ایستا این مزیت بزرگ را دارد که خطاهای نوع قبل از اجرای برنامه شناسایی می شوند. صفر تا صد برنامه نویسی اگر من به عنوان مثال یک متغیر را به عنوان یک رشته متنی تعریف کرده است.

اما یک عدد را به عنوان مقدار آن وارد کرده است، سپس کامپایلر هنگام کامپایل به من خطا می دهد زیرا محتوای متغیر با نوعی که من در ابتدا متغیر را با آن تعریف کردم مطابقت ندارد. صفر تا صد برنامه نویسی بنابراین من از کامپایل برنامه جلوگیری می کنم و باید قبل از ادامه دادن، خطا را اصلاح کنم.

این برعکس یک زبان برنامه نویسی نوع پویا است که در آن یا هیچ بررسی نوع متغیری وجود ندارد یا این بررسی فقط در حین رانندگی انجام می شود (یعنی زمان اجرا). به عنوان صفر تا صد برنامه نویسی یک برنامه نویس، مجبور نیستید به انواع در یک زبان برنامه نویسی نوع پویا فکر کنید و به سادگی می توانید مقادیر مورد نظر خود را به متغیرها بدهید.

این به عنوان مثال صدق می کند. زبان های برنامه نویسی مانند PHP، Python و Ruby.از آنجایی که هیچ بررسی از نوع متغیر قبل از هر کدام وجود ندارد. در حین رانندگی، صفر تا صد برنامه نویسی ممکن است در خطر جستجوی طولانی برای خطا باشید، زیرا به یک متغیر مقدار نادرستی داده اید.

اگر زبان برنامه نویسی پویا در همان زمان به شما اجازه می دهد که نوع متغیر را به سادگی با تغییر محتوا تغییر دهید، به عنوان مثال. PHP یا Python، پس از آن خطا در هنگام صفر تا صد برنامه نویسی اجرا نیز شناسایی نمی شود.ما می توانیم یک برنامه کوچک بسازیم که این خوب را در Go نشان دهد.

نمی توان از 10 (type int) به عنوان رشته نوع در انتساب استفاده کرد در PHP و Python که هر دو زبان برنامه نویسی پویا هستند، باگ های فوق قابل شناسایی نیستند. ما صفر تا صد برنامه نویسی نیازی به دفی نداریم هر نوع باشد و اگر نوع را تغییر دهیم به عنوان خطا ثبت نمی شود.

بنابراین یک زبان برنامه نویسی پویا به برنامه نویس این آزادی را می دهد که نگران انواع متغیرها نباشد، اما از طرف دیگر اشتباه کردن در کد برای برنامه نویس بسیار آسان تر صفر تا صد برنامه نویسی است.جزئیات و دستورالعمل های بیشتر برای سایر سیستم عامل ها را می توانید در golang.org پیدا کنید.

این دستورالعمل‌ها عمدتاً از سیستم‌های بسته پلتفرم برای نصب استفاده می‌کنند، به همین دلیل است که به ندرت جدیدترین نسخه Go است که نصب شده است.در صورت صفر تا صد برنامه نویسی نیاز به نسخه جدیدتر Go، می توان از دستورالعمل های موجود در golang.org استفاده کرد.

پیشنهاد می کنیم مقاله آموزش برنامه نویسی از مبتدی تا پیشرفته را مشاهده کنید.

Go به طور کلی در سیستم های بسته بندی توزیع های مختلف لینوکس به خوبی پشتیبانی می شود. توزیع های اولیه در اینجا پوشش داده شده است.اگر پیام های صفر تا صد برنامه نویسی خطا نمایش داده شود یا خط Hello from Go نمایش داده نشود، نصب Go معیوب است.

در Go، برنامه ها در ساختار پوشه ای به نام “فضای کاری” سازماندهی می شوند. یک فضای کاری فقط یک کتابخانه است که شامل یک یا چند برنامه Go شما است. یک فضای کاری صفر تا صد برنامه نویسی شامل سه زیر پوشه در ریشه است.در زیر نمونه ای از یک فضای کاری به نام “GoWork Folder” در فهرست اصلی شما آمده است.

حاوی کد منبع تقسیم شده به بسته ها است. شما برنامه های Go خود را در این پوشه می نویسید.برنامه های Go با پیوند دادن “بسته ها” به یکدیگر ساخته می شوند. یک بسته صفر تا صد برنامه نویسی می تواند از یک یا چند فایل کد منبع تشکیل شده باشد که با هم ثابت ها، متغیرها، انواع و توابع را که با هم در بسته تعلق دارند را اعلام می کنند.

و همه برای فایل های یک بسته در دسترس هستند. سپس این عناصر را می توان “صادرات” کرد تا در بسته های دیگر نیز استفاده شود.در یک بسته یکسان، هیچ دو اعلامیه یکسانی صفر تا صد برنامه نویسی نمی تواند وجود داشته باشد. یعنی وجود دارد به عنوان مثال دو تابع با نام یکسان در یک بسته وجود ندارد.

بسته‌های موجود در Go یادآور چیزی هستند که در زبان‌های برنامه‌نویسی دیگر «فضای نام» نامیده می‌شوند.قبل از اینکه بتوانید یک برنامه Go را توسعه دهید، باید یک فضای کاری صفر تا صد برنامه نویسی را مشخص کنید. شما این کار را با متغیر محیطی GOPATH انجام می دهید.

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

چهارده + نوزده =