You are using an outdated browser. For a faster, safer browsing experience, upgrade for free today.
Tin tức khác
238 lượt xem

RIP: Niklaus Wirth – Nhà tiên phong thiết kế phần mềm và cha đẻ ngôn ngữ lập trình Pascal

RIP: Niklaus Wirth – Nhà tiên phong thiết kế phần mềm và cha đẻ ngôn ngữ lập trình Pascal

Người truyền bá phần mềm tinh gọn và người sáng tạo ra 9 ngôn ngữ lập trình và một hệ điều hành là 89

Nhà khoa học máy tính người Thụy Sĩ, Giáo sư Niklaus Wirth qua đời vào ngày đầu năm mới, khoảng sáu tuần trước ngày sinh nhật lần thứ 90 của ông.

Wirth được tôn vinh là người sáng tạo ra ngôn ngữ lập trình Pascal, nhưng đó chỉ là một bước trong một loạt các ngôn ngữ và dự án nghiên cứu quan trọng. Cả tiểu hành tinh 21655định luật thiết kế máy tính đều được đặt theo tên ông. Ông ấy đã giành được giải thưởng cao nhất có thể của ngành khoa học máy tính, Giải thưởng Turing, vào năm 1984 và trang đó có một số đoạn clip ngắn bằng tiếng Anh từ một cuộc phỏng vấn năm 2018.

Niklaus Emil Wirth sinh ra ở Wintherthur ở Thụy Sĩ, một ngày sau Ngày lễ tình nhân năm 1934. Năm 1959, ông lấy bằng cử nhân từ ETH Zürich, nơi ông quay trở lại sau này và từ đó nảy sinh ra nhiều nghiên cứu quan trọng của ông.

Ông đã thay đổi quốc gia nhiều lần trong đời – bằng thạc sĩ năm 1960 của ông từ Đại học Laval ở Canada và bằng tiến sĩ năm 1963 của ông từ UC Berkeley* – quê hương của Berkeley Unix, hay BSD như thường được biết đến. Ông ở lại California trong bốn năm tiếp theo với tư cách là trợ lý giáo sư khoa học máy tính tại Đại học Stanford. Trong thời gian này, ông làm việc trên hai ngôn ngữ lập trình đầu tiên của mình: Euler năm 1965 và PL/360, xuất bản năm 1968.

Một phần nhờ công việc này, anh đã được mời vào Nhóm công tác lên kế hoạch cho phiên bản tiếp theo của ngôn ngữ lập trình ALGOL, để thay thế ALGOL 60. Cùng với nhà khoa học máy tính người Anh Sir Tony Hoare, ông đã trình bày một đề xuất có tên ALGOL-W. Tuy nhiên, điều này đã bị từ chối để ủng hộ một đề xuất phức tạp hơn từ Adriaan van Wijngaarden, trở thành ALGOL-68.

Như được mô tả trong Lịch sử ALGOL-68< [PDF] của CH Lindsey, khi đề xuất ALGOL-W bị từ chối, Wirth đã từ chức khỏi ủy ban, đóng góp một "Lời kết thúc" mạnh mẽ cho Bản tin Algol 29 tháng 11 năm 1968, có chứa các loại đá quý như:

Tôi lấy bản sao báo cáo dự thảo về ALGOL-68 ra và đưa cho cô ấy xem. Cô ta ngất đi.

Thay vào đó, Wirth đã chấp nhận đề xuất của mình, thay đổi nó để ít tương thích hơn với ALGOL và phát hành nó vào năm 1970 dưới cái tên Pascal.

Bằng cách này, câu chuyện về sự sáng tạo của Pascal có hai tác động song song, khác nhau. Tất nhiên, nó đã gây được tiếng vang lớn và vẫn được sử dụng cho đến ngày nay. Tuy nhiên, mặt trái của điều này là ALGOL-68 quá phức tạp đã thất bại: như trang ALGOL-60 Forever đã nói:

Ngôn ngữ này (Algol 68) hoàn toàn không thành công khi so sánh với dòng của Wirth.

Không quá lời khi nói rằng ALGOL-60 đã ảnh hưởng đến mọi ngôn ngữ lập trình được phát minh sau đó, nhưng ảnh hưởng của nó đã kết thúc với phiên bản được ra mắt sau sự ra đi của Wirth. Ngôn ngữ của ông đã thành công trong nghiên cứu cũng như về mặt thương mại - Delphi vẫn đang được bán và dự án Free Pascal vừa phát hành Phiên bản 3.0 của Lazarus IDE đa nền tảng. Tuy nhiên, sự phức tạp của ALGOL-68 đã mở ra cơ hội cho các ngôn ngữ mới hơn, đơn giản hơn như C, Simula-67 và con đẻ của chúng là C++ cũng như vô số ngôn ngữ và hệ điều hành khác được triển khai trong chúng.

Bạn có thể gợi ý về mối quan hệ giữa các nhà lãnh đạo của các đề xuất ALGOL đối thủ từ cách Van Wijngaarden giới thiệu Wirth trên sân khấu tại đại hội Liên đoàn Xử lý Thông tin Quốc tế năm 1965. Ông đã nói một câu nói đùa đã trở nên nổi tiếng:

Trong khi người châu Âu thường phát âm đúng tên của ông ấy (“Nick-louse Veert”) thì người Mỹ luôn đọc sai tên ông ấy thành “Nickel's Worth”. Điều này có nghĩa là người châu Âu gọi anh ta bằng tên, nhưng người Mỹ gọi anh ta bằng giá trị.

Nếu Wirth tiếp tục nghiên cứu ALGOL, ảnh hưởng to lớn của nó có thể vẫn tiếp tục. Tương tự như vậy, nếu ông ấy vẫn gắn bó với thương hiệu Pascal nổi tiếng, các dự án sau này của ông ấy có thể đã thay thế nó, thay vì nó tồn tại cùng với những sản phẩm thay thế dự kiến.

Năm 1976, Wirth đặt tên cho ngôn ngữ tiếp theo của mình là Modula [PDF], nhưng nó nhanh chóng được thay thế bằng Modula-2 vào năm 1977. Ngôn ngữ này đã thêm các quy trình hợp tác được gọi là coroutine vào ngôn ngữ, sử dụng mô hình Quy trình tuần tự giao tiếp của đồng nghiệp cũ CAR Hoare. (Ngày nay, những tính năng này có trong Erlang, Go và Clojure và được Verity Stob của chúng tôi chỉ trích.) Trong những năm 1980 và 1990, Modula-2 là một ngôn ngữ quan trọng trong toàn ngành, như chúng tôi đã thảo luận khi GCC 13 nhận được sự hỗ trợ cho nó vào năm ngoái.

Wirth đã trải qua hai kỳ nghỉ phép kéo dài một năm tại Xerox PARC ở California, lần đầu tiên vào năm 1976-1977 và lần thứ hai vào năm 1984-1985. Lấy cảm hứng từ những gì anh thấy ở đó, khi trở về Zürich, anh đã tạo ra Hệ thống Oberon đầy tham vọng hơn nhiều. Oberon là ngôn ngữ lập trình, môi trường phát triển cửa sổ xếp lớp và là một hệ điều hành hoàn chỉnh được triển khai trong chính nó. Phần giới thiệu về sổ tay Oberon [PDF] chứa đựng cái được gọi là Định luật Wirth, mặc dù ông khiêm tốn ghi nhận nó là Martin Reiser:

Với Hệ thống Oberon, chúng tôi mong muốn bác bỏ Định luật Reiser, định luật đã được hầu như tất cả các phiên bản hệ điều hành phát hành gần đây xác nhận: "Mặc dù có những bước tiến vượt bậc, phần cứng đang trở nên nhanh hơn và chậm hơn so với phần mềm đang trở nên chậm hơn."

Dự án được mô tả rất dễ đọc trong Oberon – the Overlooked Jewel [PDF], chỉ dài 13 trang. Oberon đã truyền cảm hứng cho nhiều phiên bản kế thừa, bao gồm Oberon-2, Oberon 07 và Component Pascal.

Hệ thống Oberon là một loại bằng chứng tồn tại về cách phần mềm có thể có khả năng rất lớn trong khi lại nhỏ đến mức không thể tin được: các tệp inner, outervà systoolscác kho lưu trữ từ phiên bản 2013 có tổng cộng khoảng 4.623 dòng mã, trong 262kB văn bản. Đó là toàn bộ môi trường cốt lõi. Nhưng nếu điều đó vẫn chưa đủ, Wirth đã giải thích ý tưởng này trong một bài báo nổi tiếng năm 1995, "A Plea for Lean Software" (Bản gốc là PDF, nhưng tôi đã đặt phiên bản văn bản ở đây.)

Trường cũ của ông ấy ETH Zürich đã phỏng vấn ông ấy vào năm 2021 và các video tiếng Đức có phụ đề tiếng Anh: Phần 1, Phần 2Phần 3.

Theo nhiều nhận xét, ông ấy là người dễ gần, thân thiện và hóm hỉnh; chúng tôi đặc biệt thích lời tri ân này của nhân viên Google Raph Levien. Wirth nghỉ hưu vào tháng 4 năm 1999, mặc dù vào năm 2013, ngay trước khi bước sang tuổi 80, ông xuất hiện trở lại để xuất bản phiên bản cập nhật của Dự án Oberon.

Trong công việc của mình, những ngôn ngữ và công cụ mà ông đã tạo ra, trong lời kêu gọi hùng hồn về một phần mềm nhỏ hơn, hiệu quả hơn – ngay cả trong những dự án mà ông đã từ bỏ – tầm ảnh hưởng của ông đối với ngành công nghiệp máy tính gần như không thể đo lường được. Ngành công nghiệp phần mềm hiện đại rõ ràng đã thất bại trong việc học hỏi từ ông. Mặc dù ông ấy đã rời bỏ chúng tôi nhưng công việc của ông ấy vẫn còn nhiều điều để dạy. ®

* Phiên bản trước của câu chuyện này có tên là "UCSD" Pascal, một thành viên của dự án đó đã tốt bụng nhắc nhở chúng tôi là một phiên bản phái sinh của trình biên dịch P2 từ ETH Zürich.

Nguồn: TheRegister

Chia sẻ:
Bài viết khác
Lợi ích của Phòng IT thuê ngoài?
Lợi ích của Phòng IT thuê ngoài?

Phòng IT thuê ngoài, hay còn gọi là dịch vụ IT dựa trên mô hình outsource, mang lại nhiều lợi ích cho các doanh nghiệp, nhất là đối với những công ty không chuyên về công nghệ thông tin. ...