خاستگاه باگ برنامه نویسی
1400/05/24اگر در دنیای برنامهنویسی مشغول بوده باشید، حتما تاکنون لغت باگ را شنیدهاید. در این مقاله به ریشه این کلمه میپردازم، با این مقاله جذاب همراه باشید.

در دنیای مهندسی نرمافزار، تمامی توسعهدهندگان و برنامهنویسان به صورت روزمره با مفهومی نامآشنا به نام «باگ» (Bug) دستوپنجه نرم میکنند. باگ در ادبیات علوم کامپیوتر به هرگونه خطای منطقی (Logic Error)، نقص در کدنویسی (Syntax Error) یا رفتار پیشبینینشدۀ سیستم گفته میشود که مانع از اجرای صحیح برنامه میگردد. به فرآیند تخصصی شناسایی، ریشهیابی و برطرف کردن این خطاها در چرخه توسعه نرمافزار، «دیباگینگ» (Debugging) یا اشکالزدایی میگویند. امروزه ابزارهای پیشرفتهای در محیطهای توسعه یکپارچه (IDE) برای تسریع این فرآیند حیاتی تعبیه شدهاند.
تاریخچه کلمه باگ
اگرچه کلمه «باگ» در معنای لغوی به معنای حشره است و توماس ادیسون نیز در دهه ۱۸۷۰ میلادی از این واژه برای توصیف ایرادات مکانیکی اختراعات خود استفاده کرده بود، اما ورود رسمی این اصطلاح به دنیای برنامهنویسی قدمتی بیش از هفت دهه دارد. ریشه این داستان به عصر اولین نسل از کامپیوترهای الکترومکانیکی بازمیگردد. در آن زمان، کامپیوترهای مبتنی بر لامپ خلاء (Vacuum Tube) و رلههای الکترومغناطیسی مانند کامپیوتر عظیم «هاروارد مارک ۲» (Harvard Mark II) در حال کار بودند. این ابرکامپیوترهای اولیه فضای بسیار بزرگی (در ابعاد یک سالن ورزشی) را اشغال میکردند و از هزاران لامپ و سوئیچ مکانیکی تشکیل شده بودند. از منظر معماری کامپیوتر، عبور جریان و روشن بودن این لامپها نماد بیت «یک» و قطع جریان و خاموش بودن آنها نماد بیت «صفر» بود.
مود 8 بیت بهتر است یا 16 بیت؟!حشرات دردسرساز در سیستمهای پردازشی
این کامپیوترهای غولپیکر به دلیل استفاده از هزاران لامپ خلاء، گرمای فوقالعاده زیادی تولید میکردند. ترکیب این حرارت مطبوع با نور شدید لامپها در طول شب، محیطی بسیار جذاب و ایدهآل برای حشرات، شبپرهها و پشهها (Bugها) فراهم میکرد. از این رو، سالنهای میزبان این سیستمهای پردازشی، دائماً با مشکل نفوذ حشرات مواجه بودند.
نقطه عطف این تاریخچه در ۹ سپتامبر ۱۹۴۷ رقم خورد؛ زمانی که تیم برنامهنویسی به سرپرستی دانشمند برجسته علوم کامپیوتر، «گریس هاپر» (Grace Hopper)، متوجه اختلال در عملکرد کامپیوتر هاروارد مارک ۲ شدند. پس از ساعتها جستجوی طاقتفرسا در میان هزاران سیم و رله، آنها یک شبپره (Moth) را پیدا کردند که بین کنتاکتهای رله شماره ۷۰ گیر کرده و باعث اتصالی و از کار افتادن سیستم شده بود! تیم مهندسی با احتیاط این حشره مرده را خارج کرده، آن را با نوار چسب در دفتر ثبت وقایع (Logbook) سیستم چسباندند و زیر آن نوشتند: «اولین مورد واقعی کشف یک باگ». این دفترچه تاریخی اکنون در موزه ملی تاریخ آمریکا در واشنگتن نگهداری میشود.
فلاپی؛ نماد ماندگار ذخیرهسازی!
داستان باگ و دیباگینگ نمونهای بارز از انتقال مفاهیم فیزیکی به دنیای دیجیتال (Skeuomorphism) است. همانطور که دیسکهای فلاپی بیش از یک دهه است که منسوخ شدهاند، اما آیکون آنها در اکثر نرمافزارها همچنان نماد بیبدیل ذخیرهسازی (Save) محسوب میشود؛ اصطلاح «باگ» نیز به همین سرنوشت دچار شد. با وجود اینکه سالیان درازی از پایان عصر لامپهای خلاء و رلههای مکانیکی میگذرد و کامپیوترهای امروزی در ابعاد نانومتری پردازش میکنند، هنوز هم هرگونه نقص نرمافزاری، نقص امنیتی یا خطای منطقی در کدهای برنامهنویسی، یادآور همان حشرهای است که هفتاد سال پیش، جریان صفر و یک را در یک کامپیوتر اولیه مختل کرد.

خیلی جالب بود
خیلی جالب بود.👌🔥
اره😁👍🏻