VietTechiesHIỂU CÔNG NGHỆ. MỞ GÓC NHÌN.
☰ Chuyên mục

Guido van Rossum cần một dự án làm cho vui trong kỳ nghỉ Giáng sinh. Ông bắt đầu Python.

06/10/2026 · VietTechies · Biên tập

Guido van Rossum bên cạnh lịch Christmas 1989 và minh họa ABC, Unix/C, Amoeba hội tụ thành Python.


Python bắt đầu vì Guido van Rossum cần một việc để làm trong kỳ nghỉ Giáng sinh năm 1989.

Văn phòng của ông tại CWI ở Amsterdam sẽ đóng cửa.

Ông có máy tính ở nhà.

Ông có thời gian.

Và trong đầu đã có một ngôn ngữ lập trình chưa tồn tại.

Thế là ông bắt đầu viết trình thông dịch như một dự án làm cho vui.

Dự án bên lề ấy trở thành Python.

Ý tưởng đã tích lũy từ rất lâu trước kỳ nghỉ

Van Rossum từng tham gia phát triển ngôn ngữ ABC tại CWI.

ABC được thiết kế để việc lập trình dễ tiếp cận với người không làm nghề lập trình.

Nó nhấn mạnh cú pháp rõ ràng và sự đơn giản.

Nhưng ABC khó tìm được nhóm người dùng mà đội ngũ thiết kế kỳ vọng.

Nó quá nặng với nhiều máy tính nhỏ thời đó.

Unix programmer thì đã có tool riêng.

Van Rossum thích nhiều ý tưởng trong ABC, đồng thời biết mình muốn thay đổi điều gì.

Rồi Amoeba tạo ra một vấn đề rất thực tế

Van Rossum sau đó làm việc với Amoeba, một hệ điều hành phân tán được phát triển tại Amsterdam.

Nhóm cần cách tốt hơn để viết công cụ quản trị hệ thống.

C mạnh nhưng tốn thời gian của lập trình viên.

Bourne shell tiện, nhưng Amoeba có giao diện lời gọi hệ thống riêng mà shell khó tiếp cận.

Van Rossum nhìn thấy một khoảng trống.

Nếu có một ngôn ngữ kịch bản giữ cú pháp gọn gàng của ABC, nhưng gọi được các chức năng hệ thống và có khả năng mở rộng mà lập trình viên Unix/C mong đợi thì sao?

Ông quyết định không nên viết một ngôn ngữ chỉ dành cho Amoeba.

Nó phải đủ tổng quát để phát triển.

Giáng sinh năm 1989 cho ông khoảng thời gian không bị ngắt quãng

Theo lời kể của chính mình, van Rossum tìm một dự án lập trình làm cho vui để có việc bận rộn trong tuần quanh Giáng sinh.

Văn phòng đóng cửa.

Ông bắt đầu viết trình thông dịch cho ngôn ngữ đã suy nghĩ một thời gian.

Bản đầu tiên chạy được mất nhiều thời gian hơn chính kỳ nghỉ.

Trong năm 1990, Python được dùng ngày càng nhiều trong dự án Amoeba.

Đồng nghiệp thử nó.

Feedback của họ thay đổi language.

Dự án làm cho vui trở thành công cụ thực tế vì ngay từ đầu đã có người dùng thật ở gần.

Cái tên không liên quan tới con rắn

Van Rossum cần một tên tạm cho dự án.

Ông là fan của loạt hài Anh Monty Python’s Flying Circus.

Ông chọn “Python” vì ngắn, khác lạ và hơi tinh nghịch.

Cái tên đủ dễ nhớ để được giữ lại.

Hình tượng con rắn chỉ gắn với ngôn ngữ về sau.

Nguồn cảm hứng ban đầu là chương trình hài.

Python được thiết kế ở giữa hai thế giới

Một phía đến từ ABC.

Cú pháp dễ đọc.

Ngôn ngữ không bắt người dùng vật lộn quá nhiều với các dấu ký hiệu.

Nhấn mạnh việc diễn đạt chương trình rõ ràng.

Phía còn lại đến từ Unix và C.

Khả năng truy cập hệ điều hành thực sự.

Khả năng mở rộng.

Khả năng tích hợp với hệ thống sẵn có thay vì nằm trong môi trường giáo dục tách biệt.

Bản sắc Python xuất hiện từ nỗ lực giữ những điều tốt của cả hai.

Nó được công bố trước khi hoàn hảo

Van Rossum tiếp tục làm Python chủ yếu trong thời gian riêng.

Tháng 2/1991, sau hơn một năm phát triển, ông đăng ngôn ngữ lên USENET.

Kênh phân phối này rất quan trọng.

ABC được phát triển trước khi Internet khiến việc chia sẻ mã nguồn trở nên dễ dàng.

Python tới đúng thời điểm hơn.

Người ở quốc gia khác có thể tải về, thử, gửi phản hồi và đóng góp mà không cần chờ băng từ hay các đợt phát hành chính thức.

Mạng trở thành một phần động lực phát triển của ngôn ngữ.

Câu chuyện “dự án kỳ nghỉ” dễ bị hiểu sai

Python không sinh ra từ một tuần ngẫu hứng.

Việc viết code bắt đầu trong kỳ nghỉ.

Thiết kế được xây từ nhiều năm kinh nghiệm tích lũy.

Van Rossum từng làm ABC.

Từng làm Amoeba.

Hiểu C và văn hóa Unix.

Đã thấy cái giá của việc viết quá nhiều code cấp thấp.

Đã thấy hạn chế của một ngôn ngữ đẹp nhưng khó tích hợp với hệ thống người dùng thực sự sử dụng.

Kỳ nghỉ tạo ra thời gian.

Hiểu biết đã tích lũy nhiều năm.

Nhiều side project tốt thực sự bắt đầu như vậy

Side project thường được mô tả như thứ tách khỏi “công việc thực tế”.

Nhưng những dự án mạnh nhất thường là lời giải cô đọng cho vấn đề người tạo đã mang theo rất lâu.

Lập trình viên cứ viết lại cùng một công cụ tiện ích.

Người thiết kế cứ vướng cùng một workflow.

Nhóm vận hành cứ phải nối đi nối lại cùng những hệ thống.

Rồi xuất hiện một tuần yên tĩnh.

Sự khó chịu tích lũy cuối cùng biến thành công cụ.

Thời điểm trông có vẻ tình cờ.

Sự chuẩn bị thì không.

Python phát triển vì có thể tiếp nhận những nhu cầu sử dụng mới

Van Rossum cố tình không làm Python chỉ dành riêng cho Amoeba.

Decision đó cực kỳ quan trọng.

Một ngôn ngữ kịch bản nội bộ với phạm vi hẹp có thể chỉ giải quyết một dự án.

Một ngôn ngữ tổng quát, có thể mở rộng, có thể đi sang quản trị hệ thống, phát triển Web, tính toán khoa học, giáo dục, tự động hóa, phân tích dữ liệu và sau này là học máy.

Năm 1989 không cần dự đoán trước tất cả những thị trường tương lai ấy.

Ngôn ngữ chỉ cần đủ tổng quát để không tự đóng cửa.

Câu hỏi tốt hơn không phải “một tuần build được gì?”

Câu chuyện khởi đầu của Python truyền cảm hứng vì nó trông rất nhỏ.

Một programmer.

Một kỳ nghỉ.

Một trình thông dịch.

Nhưng câu hỏi hữu ích hơn là:

Vấn đề nào bạn đã hiểu sâu qua nhiều năm, tới mức một tuần không bị gián đoạn có thể giúp biến kiến thức ấy thành prototype chạy được?

Kỳ nghỉ Giáng sinh không tạo ra chuyên môn cho van Rossum bằng phép màu.

Nó tạo khoảng trống để chuyên môn trở thành phần mềm.

Nếu có một tuần hoàn toàn không họp hành, vấn đề lặp đi lặp lại nào cuối cùng bạn sẽ biến thành công cụ?

Đọc bằng ngôn ngữ khác: English · Español · Deutsch · Français · Português (Brasil) · Tiếng Việt

Nguồn