باگ یا اشکال یک اصطلاح عمومی هست که برای توصیف هرگونه مشکل غیرمنتظره در سختافزار یا نرمافزار مورد استفاده قرار میگیره. باگ یک راه برای نفوذ هکرهاست.
تاریخچه کلمه باگ
در ۹ سپتامبر ۱۹۴۵، افسر ارشد نیروی دریایی ایالات متحده آمریکا، گریس هاپور، یک مورچه بین رلههای کامپیوتر دوم مارک (Mark II) هاروارد پیدا کرد. در اون زمان کامپیوترها بسیار بزرگ بودن و در یک اتاق جای میگرفتن و گرمای اون باعث جذب موشها، مگسها و دیگر موجودات به اجزای داخلیش میشد. این موجودات سپس مدارها رو کوتاه کرده و باعث خرابی کامپیوتر شدن.
اصطلاح “باگ در رایانه” قبلا مورد استفاده قرار گرفته بود، اما پس از اونکه گریس هاپر در خاطرات خود نوشت: “اولین مورد واقعی باگ یافت شد” این اصطلاح محبوب شد و به همین دلیل هست که هنوز هم از اون استفاده میکنیم.
راه حل اشکالات در نرمافزار و سختافزار
امروزه در سختافزار و نرمافزارهای کامپیوتری، چیزی بنام نرمافزار یا سختافزار بدون مشکل وجود نداره. اشکالات نرمافزاری با استفاده از پچ نرمافزاری (Patch) و اشکالات سختافزاری قابلحل با بروزرسانی سیستم عامل و درایورها حل میشن. در مورد مشکلات سختافزاری جدیتر، ممکن هست رزولوشن دستگاه سختافزاری رو جایگزین کنه.
مدت زمان حل و فصل کردن اشکالات بستگی به پیچیدگی مشکل داره، گاهی توسعهدهدگان زیادی بروی یک اشکال نرمافزاری کار میکنن و زمان زیادی برای حل اون مشکل میزارن.
تفاوت بین خطا و اشکال
خطا (error) یک پیام نشان داده شده به کاربر برنامه هست و مشکل (bug) یک اشکال در کد نرمافزار هست که باعث نمایش یک خطا میشه.