Có lẽ bạn đã nghe thấy nó trước đây: Có một "lỗi" trong phần mềm, khiến một cái gì đó gặp trục trặc hoặc sai. Chính xác thì lỗi máy tính là gì và thuật ngữ đến từ đâu? Chúng tôi sẽ giải thích.
Một lỗi là một lỗi không chủ ý trong phần mềm máy tính
Một "lỗi máy tính" hoặc "lỗi phần mềm" là một thuật ngữ cho một lỗi hoặc lỗi lập trình không chủ ý trong phần mềm hoặc phần cứng máy tính. Lỗi phát sinh từ lỗi của con người trong thiết kế phần cứng hoặc một nơi nào đó trong chuỗi công cụ phần mềm được sử dụng để tạo các ứng dụng máy tính, phần sụn hoặc hệ điều hành.
Một lỗi phần mềm được sinh ra khi một lập trình viên mắc lỗi trong khi viết phần mềm hoặc ghi mã hoạt động nhưng có những hậu quả không chủ ý không lường trước được bởi Lập trình viên. Xóa các lỗi khỏi phần mềm được gọi là "Gỡ lỗi."
Trong thế giới điều khiển phần mềm ngày nay, lỗi là kinh doanh nghiêm túc. Gần 20 năm trước, Viện Tiêu chuẩn và Công nghệ Quốc gia ước tính rằng các lỗi phần mềm chi phí kinh tế Hoa Kỳ gần 60 tỷ đô la hàng năm (khoảng 0,6% GDP năm 2002) -a số có khả năng tăng kể từ đó. Mặc dù định lượng chính xác các tác động tiêu cực của lỗi là khó khăn, thật dễ dàng để tưởng tượng cách phần mềm gặp trục trặc có thể ảnh hưởng đến năng suất. Nó thậm chí có thể gây nguy hiểm cho cuộc sống Trong lĩnh vực vận chuyển hoặc gây nguy hiểm Cơ sở hạ tầng quan trọng Giống như các nhà máy điện.
Tại sao chúng ta gọi họ là lỗi?
Thuật ngữ "lỗi" có trước sự phát minh của máy tính và chúng tôi thực sự không biết ai ban đầu đã đặt ra thuật ngữ "lỗi" để chỉ một lỗi kỹ thuật. Trong hồ sơ bằng văn bản, các nhà sử học đã truy tìm nó trở lại Thomas Edison vào những năm 1870 sớm nhất.
Edison đã sử dụng thuật ngữ trong ghi chú cá nhân và thư từ của mình có nghĩa là một vấn đề khó khăn cần giải quyết hoặc khiếm khuyết kỹ thuật cần sửa chữa. Ông thậm chí còn nói đùa về thuật ngữ này có liên quan đến côn trùng, viết trong Một lá thư 1878. :
"Bạn đã đúng một phần, tôi đã tìm thấy một" lỗi "trong bộ máy của mình, nhưng nó không có trong điện thoại đúng. Đó là của glebellum của chi. 'Côn trùng xuất hiện để tìm điều kiện cho sự tồn tại của nó trong tất cả các thiết bị gọi điện thoại.
Trong khi một số Lấy ví dụ của Edison để có nghĩa là rằng anh ta đã đặt ra thuật ngữ "lỗi", có thể nó bắt nguồn từ một người khác trước đó và anh ta chỉ phổ biến thuật ngữ trong số những người bạn kỹ thuật và cộng sự. Từ điển tiếng Anh Oxford trích dẫn một ví dụ 1889 Liên quan đến Edison mô tả một lỗi như một phép ẩn dụ cho một loài côn trùng bò thành một phần của thiết bị và gây ra sự cố, cho thấy rằng một lỗi thực sự thực hiện chỉ có thể truyền cảm hứng ban đầu, tương tự như thuật ngữ " bay trong thuốc mỡ . "
Đặt từ "lỗi" sang một bên một lúc, người được biết đầu tiên trong lịch sử để nhận ra rằng phần mềm có thể gặp trục trặc do lỗi trong lập trình là Ada Lovelace. Bà ấy đã viết về vấn đề lùi lại vào năm 1843 trong bình luận của cô về Charles Babbage's Công cụ phân tích .
"Đối với điều này, nó có thể được trả lời rằng một quy trình phân tích phải được thực hiện như nhau để cung cấp động cơ phân tích với cần thiết dữ liệu; Và ở đây cũng có thể nằm một nguồn lỗi có thể. Cấp rằng cơ chế thực tế là không được kiểm soát trong các quy trình của nó, có thể cho nó đơn đặt hàng sai. "
Trong trích dẫn này, Lovelace đề cập đến cơ chế tính toán thực tế không bị lỗi theo cách nó xử lý dữ liệu, nhưng quy định rằng dữ liệu được cho bởi con người (như được lập trình trên thẻ tại thời điểm đó) có thể cung cấp cho máy hướng dẫn sai và do đó tạo ra kết quả sai.
Còn con sâu bướm của Grace Hopper thì sao?
Trong nhiều thập kỷ, sách, tạp chí và các trang web đã báo cáo sai lầm rằng thuật ngữ "lỗi" được các nhà khoa học máy tính huyền thoại được đặt ra bởi nhà khoa học máy tính huyền thoại Grace Hopper. Khi một con sâu bướm bay vào rơle của Máy tính Harvard Mark II và khiến nó bị trục trặc. Khi câu chuyện trôi qua, sau đó cô ấy dán con sâu bướm vào một cuốn nhật ký và viết một ghi chú lịch sử: "Trường hợp lỗi thực tế đầu tiên được tìm thấy."
Trong khi một con sâu bướm thực sự đã bay vào Mark II vào năm 1947, đó không phải là nguồn cảm hứng cho các thuật ngữ "lỗi" hoặc "gỡ lỗi", cả hai đều gây ra sự cố. Ngoài ra, nó không hoàn toàn rõ ràng rằng bướm đêm thực sự khiến máy tính gặp trục trặc, đó chỉ là một sự tìm kiếm thú vị trong khi chúng đang sửa chữa các khuyết điểm khác. Hopper đã làm cho câu chuyện nổi tiếng bằng cách nói với nó trong một trích dẫn rộng rãi Tháng 11 năm 1968 Phỏng vấn :
"Khi nào Chúng tôi đã gỡ lỗi Mark II, nó w như trên trong Một tòa nhà khác, và các cửa sổ không có màn hình s trên họ và chúng tôi đã làm việc với nó tại Đêm, tất nhiên, và tất cả sâu bọ s trong wo RLD CAM. e trong. Và, một đêm cô ấy đã ra ngoài, và chúng tôi đã đi tìm lỗi và tìm thấy một thực tế lớn M. oth, khoảng bốn inch nhịp, trong một trong những rơle bị đánh đập h, và chúng tôi đã lấy nó ra một d đặt nó vào sổ nhật ký và dán băng keo Scotch qua nó, và theo như Tôi kno. W, đó là ' S vẫn còn trong sổ nhật ký lịch sử lên tại Harvard (chúng tôi đã tìm thấy một lỗi thực tế trong com. puter). "
Hopper đã tìm thấy câu chuyện thú vị vì, sau khi thường xuyên săn bọ trong máy tính (như trong các lỗi phần cứng và phần cứng), nhóm của cô cuối cùng đã tìm thấy một loài côn trùng thực sự, nghĩa đen trong máy tính. Do đó, dòng chữ, "trường hợp lỗi thực tế đầu tiên được tìm thấy."
(Như một cách thuận tiện thú vị, phễu mô tả moth IV IV là "bị đánh chết", "có khả năng vì thiệt hại từ việc bị bắt trong chuyển động của máy tính rơle cơ điện , điều này cho thấy máy tính tiếp tục hoạt động trong khi bướm đêm ở đó.)
Các nhà sử học không biết liệu đó có phải là cuốn sách đăng nhập của Hopper hay không, hoặc người thực sự đã viết mục nhập, nhưng hôm nay, sổ đăng nhập Harvard Mark II cư trú tại Bảo tàng Lịch sử Quốc gia Hoa Kỳ Tại Smithsonian ở Washington, D.C.
Trong khi moth Mark II (hãy gọi anh ta là "Mark".) Không phải là lỗi máy tính đầu tiên, nó vẫn tồn tại như một biểu tượng vật lý và văn hóa của một vấn đề rất thực tế và khó khăn, tất cả các lập trình viên đấu tranh với nó, và đó là tất cả những gì chúng ta sẽ được đối phó trong nhiều năm tới. Bây giờ hãy vượt qua tôi con bọ xịt, bạn có phải không?