Python tròn 30 tuổi

Vào ngày 20 tháng 1991 năm 1989, Guido van Rossum đã xuất bản trên nhóm alt.sources bản phát hành đầu tiên của ngôn ngữ lập trình Python mà ông đã làm việc từ tháng XNUMX năm XNUMX như một phần của dự án tạo ra một ngôn ngữ kịch bản để giải quyết các vấn đề quản trị hệ thống trong hệ điều hành Amoeba, sẽ ở cấp độ cao hơn C, nhưng, không giống như Bourne shell, sẽ cung cấp khả năng truy cập thuận tiện hơn vào các lệnh gọi hệ thống OS.

Tên của dự án được chọn để vinh danh nhóm hài Monty Python. Phiên bản đầu tiên giới thiệu hỗ trợ cho các lớp có tính kế thừa, xử lý ngoại lệ, hệ thống mô-đun và danh sách kiểu cơ bản, dict và str. Việc triển khai các mô-đun và ngoại lệ được mượn từ ngôn ngữ Modula-3 và kiểu mã hóa dựa trên thụt lề từ ngôn ngữ ABC mà Guido đã đóng góp trước đây.

Khi tạo Python, Guido được hướng dẫn theo các nguyên tắc sau:

  • Nguyên tắc tiết kiệm thời gian trong quá trình phát triển:
    • Mượn ý tưởng hữu ích từ các dự án khác.
    • Theo đuổi sự đơn giản nhưng không đơn giản hóa quá mức (nguyên tắc của Einshein “Mọi thứ nên được trình bày đơn giản nhất có thể, nhưng không đơn giản hơn”).
    • Tuân theo triết lý UNUX, theo đó các chương trình triển khai một chức năng nhưng thực hiện tốt chức năng đó.
    • Đừng lo lắng quá nhiều về hiệu suất, các tối ưu hóa có thể được thêm vào khi cần thiết.
    • Đừng cố gắng chống lại những thứ đang thịnh hành mà hãy đi theo dòng chảy.
    • Tránh chủ nghĩa cầu toàn; thông thường mức độ “đủ tốt” là đủ.
    • Đôi khi các góc có thể bị cắt bỏ, đặc biệt nếu có thể làm được điều gì đó sau này.
  • Các nguyên tắc khác:
    • Việc triển khai không cần phải có nền tảng cụ thể. Một số tính năng có thể không phải lúc nào cũng có sẵn nhưng chức năng cơ bản sẽ hoạt động ở mọi nơi.
    • Đừng tạo gánh nặng cho người dùng bằng những bộ phận mà máy có thể xử lý được.
    • Hỗ trợ và quảng bá mã người dùng độc lập với nền tảng nhưng không hạn chế quyền truy cập vào các khả năng và tính năng của nền tảng.
    • Các hệ thống phức tạp lớn phải cung cấp nhiều cấp độ mở rộng.
    • Lỗi không được nghiêm trọng và không bị phát hiện—mã người dùng phải có khả năng phát hiện và xử lý lỗi.
    • Lỗi trong mã người dùng sẽ không ảnh hưởng đến chức năng của máy ảo và không dẫn đến hành vi của trình thông dịch không xác định và sự cố xử lý.

    Nguồn: opennet.ru

Thêm một lời nhận xét