باگ چیست
امروزه با توجه به تغییراتی که در حوزه ارتباطات صورت گرفته است و پیشرفت وسیع تکنولوژی همه کاربران به نوعی مشغول شده اند .کاریران در فضای اینترنتی می چرخند و با کلمات یا عبارت هایی رو به رو می شوند که ممکن است برای آنها معنای نامفهومی داشته باشند. پس اولین قدم آنها می شود سرچ کردن در موتور های جستجو مانند کروم. یکی از اصطلاحاتی که بسیار به گوش می رسد اما ممکن است معنای آن را ندانید باگ است. با ما همراه باشید تا معنا و مفهوم این اصطلاح کاربردی را بهتر درک کنیم .
باگ چیست؟
باگ یا به انگلیسی Bug در لغت ، به معنای حشره است اما در اصطلاح علوم کامپیوتری به خصوص در حوزه نرمافزار و یا برنامه نویس به معنی «اشکال» است. باگ باعث به وجود آمدن نتایج اشتباه یا اجرا نشدن برنامه (نرمافزار) میشود. مثلا تصور کنید به شما می گویند اپلیکیشن تلگرام دچار باگ شده است یا باگ دارد، منظور این است که ممکن است پیام ارسال نشود ، تاریخ ها به هم ریخته شوند و یا هر ایرادی که باعث شود اپلیکیشن به درستی کار نکند.
معادل Bug به فارسی چیست؟
امروزه بسیاری از کاربران ایرانی به جای استفاده از کلمه و اصطلاحات انگلیسی از معادل آنها استفاده می کنند. بنابراین خوب است معادل اصطلاح Bug در زبان فارسی را بدانیم. معمولا برنامه نویسان کلمهی Bug را یه به صورت فارسی ، باگ مینویسند. اما خطا و اشکال (یا اشکال نرم افزاری) از جمله کلمات دیگری هستند که به عنوان معادل Bug به کار میروند.
باگ برای اولین بار
برایی اولین بار خانمی به نام گریس هوپر که در نیروی دریایی کار میکرد و در سال ۱۹۴۵ در دانشگاه هاروارد مشغول به تحصیل بود ؛ هنگامی که در حال عیب یابی یک ماشین حساب به نام Mark II بود با مشکل مواجه شده بود . پس از برسی های بسیار سوسکی را پیدا کرد که وارد دستگاه شده بود و موجب خراب آن بود پس به شوخی از اصطلاح باگ استفاده کرده است.
انواع باگ در برنامه نویسی
شما هنگام برنامه نویسی ممکن است با باگ های مختلفی رو به رو شوید
- باگ سینتکسی (Syntax Bug)
- باگ منطقی (Logical Bug)
- باگ محاسباتی (Arithmetic bug)
- باگ منابع (Resource Bug)
- باگ تیمی (Teamwork Bug)
- باگ تعامل (Interfacing Bug)
- باگ چند رشتهای (Multithreading Bug)
باگ سینتکسی : یکی از معروف ترین باگ های برنامه نویسی است و مربوط به نحوه نوشتاری زبان برنامه نویسی می باشد. این باگ زمانی اتفاق میافتد که شما یک کاراکتر و یا حرفی را جا به جا بنویسید که در نهایت با پیام Syntax Error رو به رو می شوید.
باگ منطقی چیست : این باگ زمانی اتفاق میافتد که در منطق زبان برنامه نویسی یک اشتباهی رخ دهد و یکی از متداول نرین باگ های برنامه نویسی است.
باگ محاسباتی چیست : همانطور که از نامش پیداست این باگ زمانی اتفاق می افتاد که ما با ریاضیات سروکار داریم .
باگ منابع چیست : یکی دیگر از انواع باگها در برنامه نویسی، باگ منابع است. اما علت این باگ چیست؟ باگ منابع زمانی اتفاق میافتد که در استفاده از منابع نرمافزاری خطایی کنیم.
باگ تیمی چیست : این باگ معمولا در کد نویسی بین اعضای تیم برنامه نویسی اتفاق میافتد.
باگ تعامل : یکی دیگر از باگ های رایج باگ تعامل است. این باگ زمانی اتفاق میافتد که یک نرمافزار در ارتباط با نرمافزار یا سختافزار دیگر دچار خطا شود. برای مثال از یک API نادرست استفاده شود.
باگ چند رشتهای چیست : این باگ زمانی اتفاق میافتد که اجرای ترید ها دچار مشکل شوند.
بزرگ ترین باگ های شناخته شده
بعضی از باگ ها کوچک هستند و معمولا مشکلی به وجود نمی آورند اما بعضی از باگها خیلی خطرناک هستند و خسارات جبران ناپذیری به جا می گذارند. از جمله این باگ ها می توان به موارد زیر اشاره کرد :
- باگ Y2K: این باگ به خطای سال 2000 (خطای هزاره) مشهور است و خسارت مالی زیادی به دنبال داشت.
- باگ Therac-25: این باگ مربوط به دستگاه پرتو درمانی Therac-25 بود که به دلیل نقص در دستگاه باعث شد که اشعه X ناگهانی از این دستگاه منعکس شود و سبب مرگ حداقل 6 نفر شود.
- باگ AT&T: باگ نرمافزاری بود که باعث شد شبکه AT&T از کار بیفتد و خسارت زیادی به شبکه های تلفنی وارد شد.
- باگ Mariner1: باگ نرمافزاری در کاوشگر Mariner1 که قرار بود برای سفر اکتشافی به مریخ پرتاب شود، منجر به انحراف مسیر آن و در نهایت منفجر شدن کاوشگر شد.
- باگ St. Mary Mercy: این باگ نرمافزاری در سال 2003 باعث شد در بیمارستان St. Mary Mercy به اشتباه بیمه 8500 نفر قطع شود و خسارت زیادی وارد شد.
اصطلاح دیباگ
به جرأت می توان گفت هیچ برنامه نویسی پیدا نمی شود که با باگ های نرم افزاری رو به رو نشده باشد پس چاره کار چیست؟ در پاسخ به این پرسش ما شما را با اصطلاح دیباگ آشنا می کنیم. به فرآیند اشکال زدایی و رفع خطای یک نرم افزار عملیات دیباگ کردن یا Debugging می گویند. در زمان کدنویسی یک نرم افزار، امکان دارد باگهای مختلفی در آن ایجاد شوند که اجرای صحیح آن را با مشکل رو به رو می کند. معادل فارسی Debug اشکال زدایی می باشد البته خودِ دیباگ هم، در بسیاری از متنهای فارسی بهکار رفته است.
باگ بانتی (Bug Bounty) چیست؟
یکی از ایده های جالبی که شرکت های نرم افزاری به کار گرفتند باگ بانتی (Bug Bounty) بود.این شرکت ها قبل از اینکه یک باگ منجر به خسارت شود، یک جایزه برای پیدا کردن باگ محصولات نرمافزاری خود ارائه میکنند که هکرها به جای اینکه از این باگ سوء استفاده کنند، باگ را به آن شرکت گزارش دهند و در ازای آن جایزه دریافت کنند.
معروفترین باگ بانتیها
- باگ بانتی 500 هزار دلاری شرکت گوگل مسابقات Pwn2Own
- باگ بانتی 300 هزار دلاری شرکت تلگرام
ما در این محتوا ، توضیحاتی هر چند اندک در مورد اصطلاحاتی همچون باگ و دیباگ که در بین برنامه نویسیان و کاربران بسیار رایج به شما ارائه دادیم . امیدواریم که توانسته باشیم ابهامات شما را در مورد این اصطلاحات را برطرف کرده باشیم .
تهیه شده توسط آپلود فایل لینکلیک