Tại sao Python lại được sử dụng rộng rãi trong khoa học và phân tích dữ liệu mặc dù nó chậm?

0
281
Tại sao Python lại được sử dụng rộng rãi trong khoa học và phân tích dữ liệu mặc dù nó chậm?

Question : Tại sao Python lại được sử dụng rộng rãi trong khoa học và phân tích dữ liệu mặc dù nó chậm? Các ngôn ngữ như C++ không phải nhanh hơn sao?

[Answer] Tiến sĩ Mario Galindo Queralt – Nhà nghiên cứu Trí tuệ nhân tạo (AI) và CEO tại PAITI

[Cập nhật ngày 25/11 – Được upvote bởi Kimberly Cates, Thạc sĩ Khoa học ngành Phân tích Dữ liệu, Đại học Seton Hall (2019) và Wahyu Agung Sugimartanto, Thạc sĩ Khoa học Dữ liệu và Dữ liệu lớn, Đại học Monash (2019)]

Tôi là một nhà nghiên cứu AI. Hãy tin tôi, hầu hết các framework [1] AI (mà tôi biết và tôi thì biết khá nhiều) được viết bằng C++, một số phần còn được viết bằng Fortran. Python chỉ là giao diện để điều khiển framework đó từ một terminal [2] thôi. Người ngoài ngành cho rằng AI được thực hiện bằng Python nhưng đó là một sự hiểu lầm.

Để hiểu cách các framework AI hoạt động, hãy tưởng tượng bạn viết một framework bằng C++ để đọc input từ file này và ghi output vào file khác. 90% thời gian bạn sẽ làm việc với một trình soạn thảo để nhập input và dùng chính trình ấy để đọc output được in ra. Vâng, giờ tưởng tượng tiếp là người đồng nghiệp ngồi gần bạn không biết gì về đoạn mã C++ cả, anh ta sẽ nghĩ rằng trình soạn thảo đó thì tốt hơn C++, bởi hầu hết thời gian bạn dùng nó mà!

Đó chính xác là điều diễn ra với AI. Python giúp bạn mô tả cho framework (được viết bằng C++) biết phải làm gì. Còn AI thực sự thì chạy trên C++. Trong suốt quá trình nghiên cứu AI, 90% thời gian của tôi dành cho Python, nhưng đằng sau đó là những framework viết bằng C++ và những bước tiến lớn trong sự nghiệp là nhờ C++.

Trong khi “90% thời gian của tôi dành cho Python”, 99.99% thời gian CPU dành cho C++.

Tại sao Python lại được sử dụng rộng rãi trong khoa học và phân tích dữ liệu mặc dù nó chậm?

Chú thích:

[1] framework: là các đoạn code đã được viết sẵn, cấu thành nên một bộ khung và các thư viện lập trình được đóng gói. Các framework giống như là chúng ta có khung nhà được làm sẵn nền móng cơ bản, bạn chỉ cần vào xây dựng và đặt nội thất theo ý mình. (theo topdev.vn)

[2] terminal: hiểu theo nghĩa phần cứng là thiết bị đầu cuối, hiểu theo nghĩa phần mềm là các chương trình như Command Prompt (Windows), Terminal (MacOS và Linux), “trạm” cuối trong quá trình tương tác giữa người và máy.

Dịch giả: Vu Nguyen Minh

Chia sẻ trên group: QRVN

Nguồn: Quora