برنامه نویسی حرفهای بین المللی و بسیار جذاب است. برنامه نویسان با علم و آگاهی راجع به چگونگی کنار هم قرار دادن یک سری کدها، زندگی را برای ما بسیار آسودهتر کرده اند. در واقع حتی ساعتی که روی مچتان دارید، بخشی از لوازم منزلتان از جمله ماشین لباسشویی و یخچال، تلفن همراهتان که روزانه هزاران فعالیت با آن انجام میدهید؛ همگی به کمک برنامه نویسان در اختیار شما قرار گرفته اند.
شاید تمام افرادی که از بیرون به این ماجرا نگاه می کنند بگویند برنامه نویسی صرفا سر هم کردن یک سری کد بوده و کار بسیار راحتی است؛ اما شما عزیزان فعال در این حوزه، در کنار لذت فراوان کار با کدها، از فشارهای جسمی و ذهنی این کار اطلاع دارید. به همین جهت روز برنامه نویس، 13 سپتامبر، بهانهای است تا به ما و تمام مردم یادآوری شود که بدون تلاش شما عزیزان برنامه نویس، هیچ گاه زندگی به راحتی امروز نبود. با ما همراه باشید.
روز برنامه نویس چرا و چگونه انتخاب شد؟
در سال 2002 برای اولین بار یکی از کارمندان شرکتی روسی به نام ولنتین بالت، با جمعآوری یک سری رضایتها و امضاها، تعیین روز جهانی برنامه نویس را به دولت روسیه پیشنهاد کرد. در آخر رئیس جمهور این کشور، دمیتری مدودف، در سال 2009 روز 13 سپتامبر را به عنوان روز برنامه نویس انتخاب کرد. مدتی بعد آمریکا و بریتانیا نیز این روز را در تقویم ملی خود ثبت کردند. امروزه در کشور ما نیز برنامه نویسی پیشرفت فوقالعادهای داشته است. دانش آموختگان این حوزه به سرعت از سیستم آموزشی جلو زدند و صرفا با شرکت در یک سری از کلاسهای آموزشی، به صورت خودآموز، به تسلط و مهارت لازم دست یافتند. در ایران انجمنی برای دریافت امضا و پیشنهاد به دولت راهاندازی شد. این کمپین 256مین روز از تاریخ هجری شمسی که مصادف با 10ام آذرماه میباشد، روز ملی برنامه نویس در نظر گرفتند. اما متاسفانه در تقویم شمسی هنوز به ثبت نرسیده است.
چرا 13 سپتامبر به عنوان روز برنامه نویس انتخاب شد؟
13سپتامبر، دویست و پنجاه و ششمین روز از سال تقویم میلادی است. این تاریخ در کشور ما معادل ۲۲ شهریور در سالهای معمول و ۲۱ شهریور در سالهای کبیسه میباشد. این عدد برای صنف برنامه نویسان عددی محبوب و آشنا است؛ زیرا 256 نشان دهندهی واحد بایت، در دنیای برنامه نویسی است و اهمیت فوقالعادهای دارد. این عدد معادل عدد 100 در مبنای شانزده و بزرگترین توان عدد دو است که در محدودهی 365 روز از سال قرار گرفته است.
اولین شخصی که به میدان برنامه نویسی وارد شد، کیست؟
تقریبا همه ما به اهمیت این علم در زندگی روزمره خود پی بردهایم. اینک به بهانه ی روز برنامه نویس فرصتی به دست آورده ایم تا یادی کنیم از اولین بزرگواری که با ارائهی این علم زندگی ما را آسوده تر کرد. اوگوستا آدا بایرون (لاولیس) Ada Lovelace، فرزند لرد بایرون (شاعر معروف انگلیسی)، به عنوان پدر برنامه نویسی در عالم کامپیوتر شناخته شده است. وی در تاریخ 10 دسامبر سال 1815 میلادی، در بریتانیا چشم به جهان گشود. در 17 سالگی آشنایی او با Analytical Engine (ماشین تحلیلی) رقم خورد و در سال 1842 با مفهومی که امروزه آن را به عنوان علم برنامهنویسی کامپیوتری میشناسیم، درگیر شد.
شهرت آدا بایرون
شهرت آدا، بیشتر به کمک ارائه توضیحاتی در مورد ماشین محاسباتی مکانیکی «چارلز بابیج» رقم خورد. چارلز بابیج Charles Babbage، فیلسوف تحلیلگر و ریاضیدان انگلیسی، اولین شخصی بود که ایده یک ماشین محاسبه گر برنامهپذیر را ارائه داد. او در سال 1820 به طراحی ماشین محاسبه گر خود اقدام کرد. این ماشین طی چند سال بعد به ماشین تفاضلی معروف شد. جالب است بدانید که بابیج در زمان حیاتش هیچگاه نتوانست نتیجه کار ماشین محاسبهگر خود را بررسی کند. اما موفق شد امکانپذیر بودن برخی گزینههایی که به نظر ناممکن میرسیدند را اثبات کند. اقدام بابیج به نسبت طرحی که پاسکال در سال 1642 در پاریس ارائه کرد، بسیار فراتر بود. در واقع رایانههایی که امروزه با آنها کار میکنید برمبنای موتور تجزیه و تحلیل (آنالیتیکال) چارلز بابیج پایه ریزی شدهاند.
نقش آدا بایرون در کارکرد ماشین محاسبهگر بابیج
در سال 1834 چارلز بابیج و آدا لاولیس، در یک مهمانی شام، برای اولین بار یکدیگر را ملاقات کردند. این مهمانی آشنایی آدا با طرح ماشین حسابگر بابیج را رقم زد. وی بابیج را به خاطر این ابتکار بزرگ بسیار تشویق کرد. آدا از معدود اشخاصی بود که از ایده بابیج حمایت می کرد. بابیج و آدا از همان سال همکاری خود را شروع کردند. آدا یادداشتها و مطالب بسیار پیچیدهای در ارتباط با ماشین تحلیلی بابیج، از فرانسه به انگلیسی، ترجمه کرد. او در این راستا موفق شد برداشت و ایدههای مبتکرانهی خود را در ارتباط با چگونگی انجام محاسبات به کمک ماشینها، به نتایج قبلی اضافه کند. نتایج وی امروزه به عنوان اولین الگوریتم دنیا شناخته میشوند. این خانم یکی از نوابغ ریاضی بود که هوش خود را از مادرش به ارث برده بود. به نحوی که چارلز ببیج به وی لقب جادوگر اعداد را داده بود.
همکاری دو نابغه و ارائهی دستگاه آنالیتیکی
همکاری این دو شخص ادامه یافت. آدا ایده های بابیج را کامل تر و کاربردیتر میکرد و در نهایت با کمک یکدیگر موفق به طراحی موتور آنالیتیکی شدند. این دستگاه کمی با دستگاه تفاضلی تفاوت داشت. استفاده از پانچ که یک قرن بعد در اولین کامپیوترهای الکترونیکی از آن استفاده شد، باعث تمایز دستگاه آنالیتیکی به نسبت دستگاههای تفاضلی شد. اما در برخی از ویژگیها اعم از حافظه قابل آدرس دهی، برنامه های ذخیره شده، پرش های شرطی و ورودی و خروجی مجزا ،(I/O) شبیه به همین کامپیوتر جدیدی است که امروزه در اختیار شما است. به عبارتی میتوان گفت که ایده استفاده از کارت پانچ از زمان بابیج و آدا لاولیس شکل گرفت. روز برنامه نویس میتواند یادآوری از تلاشهای این دو نابغه برای ما باشد.
نحوهی عملکرد دستگاه آنالیتیکی
آنها قصد داشتند از دو گونه کارت سوراخ دار یا پانچ شده بهره ببرند. یک دسته از این کارتها به عنوان ورودی سیستم عمل میکردند و به کمک آنها اعدادی که باید عملیاتی روی آنها صورت میگرفت به دستگاه داده میشد. به کمک کارتهای دستهی دوم نیز نوع عملیاتی که باید روی اعداد به انجام برسد مشخص میشد. به همین شکل ماشین با دریافت دستور از این ورودیهای خاص و با کمک ابزارهایی مکانیکی به تحلیل دادهها و اعلام نتایج نهایی میپرداخت.
روز برنامه نویس بهانهای شد تا با هم فعالیتهای یکی از افراد موفق و فعال این حوزه را مرور کنیم. به امید اینکه با الگو برداری از سبک فعالیتهای شغلی این افراد بتوانیم گام بزرگی در پیشرفت خود و جامعهمان برداریم.
13سپتامبر، یادآور گذشتهای درخشان از علم برنامه نویسی
آدا لاولیس ریاضیدان، در سال ۱۸۴۳، الگوریتمی را برای محاسبه دنبالهای از اعداد برنولی ارائه کرد. این همان اولین برنامهی رایانهای است که قرار شد به کمک موتور تحلیلی چارلز بابیج انجام شود. هرمان هالریت، در دهه ۱۸۸۰، مفهوم ذخیره دادهها را به صورت قابل خواندن با دستگاه اختراع کرد. مدتی بعد به یک کنترل پنل یا به نوعی یک افزونه، این قابلیت را داد تا برای دیگر مشاغل برنامهریزی شود. اواخر دهه ۱۹۴۰ تجهیزات ضبط واحدی مانند IBM 602 و IBM 604 توسط پنلهای کنترل به سبکی مشابه روشهای قبلی برنامهریزی شدند. با این وجود اولین کامپیوترهای الکترونیکی، با مفهوم رایانههای برنامه ذخیره شده، معرفی شدند. نهایت در سال ۱۹۴۹، هر دو برنامه و دادهها به همان شیوه در حافظه کامپیوتر ذخیره و دستکاری شدند.
به تدریج دستگاههای قابل برنامهریزی زیادی ارائه شدند. اوایل قرن نهم میلادی، یک ترتیب سنج موسیقی قابل برنامهریزی، به کمک برادران فارسی بانو موسی اختراع شد؛ که ماشین پخش خودکار فلوت را در کتاب دستگاههای مبتکر توصیف کرد. یکی دیگر از ابتکارات در پی ارائهی این علم، مربوط به دستگاه درام قابل برنامهریزی است. این ماشین در سال ۱۲۰۶ میلادی، توسط مهندس کوردالجزاری اختراع شد. این دستگاه برای پخش ریتمهای مختلف و الگوهای طبل، از طریق میخها و کامپها کاربرد دارد.
13سپتامبر و زبانهایی که زندگی را برای ما آسودهتر کردند
در این بخش قصد داریم تاریخچهی کوتاهی از ارائهی زبانهای برنامه نویسی به شما ارائه دهیم. در سال 1945، جان وان نیومن، محقق انستیتوی تحقیقات عالی، دو اصل اساسی در زمینهی توسعهی برنامهنویسی ارائه کرد که در ادامه آن ها را بازگو می کنیم.
-
اصل اول: تکنیک برنامهی مشترک (Shared-program technique)
در این اصل بیان می شود که سختافزارها باید ساده باشند و ما سپس با ترکیب این دستورات ساده، به یک دستور نرمافزاری پیچیده دست خواهیم یافت. بنابراین سختافزارها ساده و دستورات نرمافزاری پیچیده شدند.
-
اصل دوم: انتقال کنترل بهصورت شرطی (Conditional Control Transfer)
مطابق این اصل یک برنامه کامپیوتری میتواند چندین بلوک به نام زیرروال (Subroutin) داشته باشد. بلوکهایی که از دستورات کوچک ترند و میتوانند در هر قسمتی از برنامه قرار بگیرند. براساس این اصل، قابلیت استفاده از دستورات منطقی مثل Then، IFو For هم ایجاد شد.
ارائهی اصول وان نیومن و زبانهای برنامه نویسی
به تدریج گذارهها و عبارتهایی ارائه شدند که این برنامههای در دسترس را برای شما ایجاد کنند. پس در راستای تاریخچه ی روز 13 سپتامبر، مروری هم به روی این ابزارهای قدرتمند خواهیم داشت.
-
کد کوتاه (Short Code)
در سال 1949، بعد از اینکه اصول وان نیومن ارائه شد، «زبان برنامهنویسی کد کوتاه» پا به عرصه گذاشت. کد کوتاه از نسل اول زبانهای برنامه نویسی می باشد که دارای زبان صفر و یک بود. کد کوتاه اولین خشتی بود که برای ساختن دنیای بزرگ برنامه نویسی گذاشته شد.
-
اسمبلی (Assembly)
به تدریج کلمات نمادین جایگزین دو عدد صفر و یک شدند. این زبان با شعار «راحتی برنامهنویس خیلی مهمتر از راحتی کامپیوتر است!» ارائه شد.
-
فورترن (FORTRAN)
در سال 1957، فورترن، اولین زبانی بود که شبیه به زبانهای برنامه نویسی امروزی ارائه شد. نام این زبان مخفف عبارت formula translating system به معنای سیستم تبدیل فرمول است که توسط شرکتIBM ارائه شده است. فورترن زبانی بسیار ساده و محدود است که تنها دارای دستوراتIF ، DO و GOTO بود. مواردی که برای اولین بار در این زبان ارائه شدند دادههایی مثل متغیرهای صحیح، حقیقی، منطقی و همینطور اعداد با دقت مضاعف بودند. طولی نکشید که این زبان منشاء زبانهای پیچیدهی برنامه نویسی شد. فورترن هنوز هم در حوزهی ابر محاسباتی کاربرد دارد.
روز برنامه نویس، روز کدپرستان باگ گریز
ارائهی سرگذشتی از علم برنامه نویسی، بزرگان این حوزه، زبان و ابزارهای آغازین آن، بهانهای شد تا تلاشها و زحمات گران قدر برنامه نویسان را یادآوری کنیم. ما در خانواده ی کدیاد می دانیم که برای برنامه نویسان هیچ باگ رفع نشدنی ای وجود ندارد؛ زیرا همه چیز در دنیای باشکوه کدها و قوانینشان خلاصه می شود. این روز را به عاشقان کدنویسی تبریک می گوییم. به امید روزی که مجبور به توضیح آنچه انجام داده ایم نباشیم.
والپیپرهای مرتبط به روز برنامه نویس
جهت مشاهده و دریافت تصاویر ویژه روز برنامه نویس به کانال تلگرامی آکادمی کدیاد مراجعه کنید: