컴퓨터 오류를 버그라고 하는데 왜 버그라고 하나요??

컴퓨터 오류를 버그라고 하는데 왜 버그라고 하나요?? 에러나 아니면 다른 것으로 말하는게 맞지 않나요?? 벌레라고 하는 버그를 왜 썻을까요??

3개의 답변이 있어요!

  • 안녕하세요. 설효훈 전문가입니다. 처음 컴퓨터를 만든 후 1947년 하버드 대학 마크II 컴퓨터에 버그가 발생 했는데 실제로 내부를 확인해 보니깐 나방이 끼면서 발생되 오류여서 그것을 기록하면서 버그라는 말이 컴퓨터의 오류를 말로 사용되면서 그렇게 된것입닌다.

    채택 보상으로 7.29AHT 받았어요.

    채택된 답변
  • 안녕하세요. 김재훈 전문가입니다.

    컴퓨터의 오류를 버그라고 부르게 된 기원은 1947년 하버드 대학에서 컴퓨터가 오작동하자 그 원인을 조사하던 중 실제 나방 한마리가 계전기 사이에 끼어 있는 것을 발견하고 이를 제거한 사건에서 유례했습니다 물론 현대에는 하드웨어적인 벌레보다 소프트웨 설계상의 논리적 결함이나 코딩 오류를 의미하지만 초기 컴퓨터 환경에서 물리적 방해 요소가 오작동의 주원인이었던 역사적 맥락이 굳어지며 현재의 관용적 표현으로 자리 잡게 되었습니다

  • 안녕하세요. 이승호 전문가입니다.

    컴퓨터 오류를 버그라고 부르게 된 데에는 아주 유명한 실화가 하나 숨어 있습니다. 지금처럼 소프트웨어가 복잡해지기 훨씬 전인 1947년의 일입니다.

    당시 하버드 대학교에서 하버드 마크 II라는 거대한 계산기를 연구하던 팀이 있었습니다. 어느 날 기계가 자꾸 제대로 작동하지 않고 오류가 발생하자 연구원들이 기계 내부를 샅샅이 뒤지기 시작했습니다. 그런데 놀랍게도 기계의 핵심 부품인 릴레이 사이에 실제 나방 한 마리가 끼어 죽어 있는 것을 발견했습니다.

    이 나방 때문에 전기 회로가 제대로 연결되지 않아 기계가 멈췄던 것이죠. 당시 연구원이었던 그레이스 호퍼는 이 나방을 꺼내서 작업 일지에 테이프로 붙여놓고는 기계에서 벌레를 제거했다는 의미로 디버깅이라는 표현을 사용했습니다. 이것이 기록으로 남은 최초의 사례가 되어 오늘날까지 컴퓨터의 크고 작은 오류를 버그라고 부르게 된 것입니다.

    물론 말씀하신 대로 에러라는 표현도 틀린 말은 아닙니다. 엄밀히 따지면 에러는 시스템이 정해진 규칙에서 벗어난 결과물을 내놓는 상태를 뜻하고 버그는 그 에러를 일으키는 설계상의 결함이나 소스 코드의 실수를 뜻합니다. 하지만 워낙 이 나방 사건이 컴퓨터 역사에서 상징적인 에피소드로 남다 보니 하드웨어 결함이나 소프트웨어 오류를 통칭해서 버그라고 부르는 것이 관용적으로 굳어졌습니다.

    지금은 실제 벌레가 기계에 들어가는 일은 드물지만 여전히 개발자들은 프로그램 속의 논리적 오류를 찾아내는 과정을 벌레를 잡는다는 의미에서 디버깅이라고 부르며 밤을 지새우곤 합니다.