Tại sao Python lại phổ biến đến vậy dù tốc độ chậm?

Đếm đến 100 triệu trong C chỉ mất một phần nhỏ của giây. Trong Python, bạn sẽ phải chờ mười giây hoặc hơn. Tuy nhiên, ngôn ngữ chậm đến mức đáng kinh ngạc này lại thống trị ngành công nghệ hiện đại.

Nghịch lý này tồn tại bởi vì ngành phát triển phần mềm hiện đại đã trải qua một sự đảo ngược về kinh tế: sức mạnh tính toán rẻ, trong khi thời gian của kỹ sư lại đắt đỏ.

Khi Python được tạo ra vào đầu những năm 1990, chu kỳ CPU và bộ nhớ là những nguồn tài nguyên khan hiếm. Các lập trình viên đã dành hàng giờ để tối ưu hóa mã nhằm tiết kiệm thời gian của máy tính. Ngày nay, một máy chủ đám mây tiêu chuẩn có giá vài đô la một tháng, nhưng một kỹ sư phần mềm giàu kinh nghiệm có giá hơn 100.000 đô la một năm. Python tối ưu hóa thời gian của nhà phát triển. Cú pháp gọn gàng, giống tiếng Anh của nó cho phép nhà phát triển viết một nguyên mẫu chức năng (functional prototype) trong một buổi chiều, điều mà có thể mất cả tuần để xây dựng trong C++ hoặc Java. Nếu một chương trình mất thêm 50 mili giây để thực thi, người dùng hiếm khi nhận thấy, nhưng doanh nghiệp chắc chắn sẽ nhận thấy nếu một tính năng mất thêm ba tuần để triển khai.

Trong các lĩnh vực mà hiệu năng là yếu tố then chốt, như học máy hay khoa học dữ liệu, Python đóng vai trò là “ngôn ngữ kết nối” (glue language). Khi một nhà khoa học dữ liệu thực hiện phép tính ma trận phức tạp bằng cách sử dụng các thư viện như TensorFlow hoặc NumPy, Python thực chất không thực hiện phép toán. Nó chỉ đơn giản là gửi các chỉ thị đến mã C, C++ hoặc Fortran được tối ưu hóa cao đang chạy ngầm. Python chỉ là vô lăng; động cơ là C.

Tính dễ tiếp cận này đã tạo ra hiệu ứng domino. Bởi vì ngôn ngữ này dễ đọc, nó đã trở thành công cụ mặc định cho các nhà khoa học, nhà phân tích tài chính và nhà sinh học cần lập trình nhưng không có hứng thú trở thành kỹ sư phần mềm toàn thời gian. Những chuyên gia này đã xây dựng các thư viện chuyên biệt, mở rộng theo từng lĩnh vực. Ngày nay, nếu bạn muốn huấn luyện một mô hình AI, vẽ biểu đồ dữ liệu thiên văn hoặc thu thập dữ liệu từ một trang web, ai đó đã viết sẵn một thư viện Python thực hiện 90% công việc cho bạn. Bạn không chọn Python vì tốc độ thô của nó, mà vì khả năng tiếp cận một hệ sinh thái giúp bạn không phải phát minh lại bánh xe.