باگ چیست

یکی از مفاهیم بسیار جالب و در عین حال بسیار پیچیده در دنیای برنامه‌نویسی، مفهوم باگ (Bug) یا نقص نرم‌افزاری است. همان طور که می‌دانید اصطلاحاً به اشکالات نرم‌افزاری باگ اطلاق …

یکی از مفاهیم بسیار جالب و در عین حال بسیار پیچیده در دنیای برنامه‌نویسی، مفهوم باگ (Bug) یا نقص نرم‌افزاری است. همان طور که می‌دانید اصطلاحاً به اشکالات نرم‌افزاری باگ اطلاق می‌شود.
ولی آیا تاکنون فکر کرده‌اید واقعاً چرا نرم‌افزارها باگ دارند؟ چرا هیچ وقت شر این باگ‌ها از سرمان کم نمی‌شود؟ شاید هیچ مفهوم و موضوع دیگری در علوم مهندسی را نتوان یافت که به اندازه مفهوم باگ، این واقعیت مهم را برای انسان روشن کرده باشد که هیچ فرمول و قانون ساخت انسان، بی‌اشکال و نقص نیست و در هر طرح و برنامه‌ای، بدون تردید، نقصان‌ها و لغزش‌هایی وجود دارد که در نگاه اول به نظر نرسیده است.
بنابراین همواره باید در جهت اصلاح طرح‌ها، برنامه‌ها، قوانین و فرمول‌ها کوشید. باگ از نظر لغوی یعنی حشره کوچک و در تاریخ مهندسی نرم‌افزار گفته می‌شود این اصطلاح را اولین بار گریس هوپر، خانمی که در دانشگاه هاروارد مشغول تحصیل و تحقیق در رشته کامپیوتر بود، به کار برده است. او که در حال کار با کامپیوترهای Mark II و ‌Mark III بود، یک ‌بار با مشکل مواجه شد و تکنسین‌هایی که برای بررسی مشکل و تعمیر کامپیوتر، آن را باز کرده بودند حشره‌ای را پیدا کردند که وارد دستگاه شده بود و آن را از کار انداخته بود. البته در حقیقت این واژه را اولین بار همان تکنسین‌هایی که این حشره را داخل دستگاه یافته بودند، به شوخی به کار برده بودند. این تکنسین‌ها یا خانم هوپر اولین کسانی بودند که از این واژه در دنیای کامپیوتر استفاده کردند و اصطلاح Debugg توسط همین افراد ابداع شد.