Python là một trong những ngôn ngữ lập trình phổ biến nhất. Nhưng liệu Python có thực sự hữu ích? Python có thể sử dụng trong những lĩnh vực nào? Trong bài viết này, chúng ta sẽ xem xét một số trường hợp sử dụng phổ biến nhất cho Python. Chúng ta cũng sẽ xem xét một số tình huống mà Python có thể không phải là lựa chọn tốt nhất.
Ai đang sử dụng Python?
Câu trả lời ngắn gọn: hàng triệu developer, cùng với rất nhiều người khác. Một ước tính năm 2019 đưa ra số lượng Python developer là 8,2 triệu. Cuộc khảo sát dành cho nhà phát triển năm 2020 của StackOverflow đã xếp hạng Python là một trong những ngôn ngữ phổ biến và được sử dụng rộng rãi nhất. Và tính đến tháng 4 năm 2021, có gần 100 000 công việc liên quan đến Python được đăng tuyển trên Indeed.com.
Tất nhiên, cũng có khá nhiều người sử dụng Python mà không thống kê được. Python không chỉ được sử dụng bởi các developer. Nó được sử dụng bởi các nhà tiếp thị, nhà nghiên cứu, nhà khoa học dữ liệu, trẻ em,chuyên gia CNTT và tất cả những người khác. Bạn không cần phải dùng Python một cách chuyên nghiệp để biết được một số lợi ích thực sự từ ngôn ngữ lập trình này.
Tuy nhiên, ở cấp độ chuyên nghiệp, Python rất hữu ích.
Những công ty nào sử dụng Python?
Dưới đây là danh sách về một số công ty sử dụng Python:
- Google và các công ty con như Youtube sử dụng Python cho nhiều ứng dụng khác nhau. Trên thực tế, Youtube được xây dựng chủ yếu bằng Python.
- Industrial Light and Magic, công ty đứng sau các hiệu ứng đặc biệt của phim Chiến tranh giữa các vì sao và hàng trăm bộ phim khác, đã sử dụng Python cho CGI và công việc chiếu sáng.
- Facebook và các công ty con như Instagram sử dụng Python cho các yếu tố khác nhau của cơ sở hạ tầng của họ. Instagram được xây dựng hoàn toàn bằng Python và Django framework của Python.
- iRobot, công ty sản xuất ra máy hút bụi Roomba, sử dụng Python để phát triển phần mềm cho robot của mình.
- NASA và các tổ chức liên quan như Jet Propulsion Lab sử dụng Python cho các mục đích nghiên cứu và khoa học.
- Netflix sử dụng Python để phân tích dữ liệu từ máy chủ và cho nhiều ứng dụng back-end giúp duy trì dịch vụ phát trực tuyến khổng lồ.
- Reddit chạy trên Python và web.py framework của Python.
- IBM, Intel và nhiều công ty phần cứng khác sử dụng Python để kiểm tra phần cứng.
- Chase, Goldman Sachs và nhiều công ty tài chính khác sử dụng Python để phân tích tài chính và dự báo thị trường.
- Quora là một nền tảng truyền thông xã hội khổng lồ khác được xây dựng bằng rất nhiều phần bằng Python.
Và đó chỉ là phần nổi của tảng băng chìm. Trên thực tế, ngày nay hầu hết các công ty lớn đang sử dụng Python ở một mức độ nào đó. Một cách tốt để kiểm tra là tìm kiếm một trang web việc làm như LinkedIn hoặc Indeed để biết tên công ty + python. Thông thường, bạn sẽ thấy rằng các công ty đang tìm kiếm những người có kỹ năng Python.
Vậy đang sử dụng Python để làm gì? Chúng ta hãy đi sâu vào một số ứng dụng của Python trong thực tế.
Python được sử dụng như thế nào trong thực tế?
1. Phân tích dữ liệu
Khi các công ty trong mọi ngành thu thập ngày càng nhiều dữ liệu, họ cần những người có thể hiểu được dữ liệu đó. Và khi đó, các nhà phân tích dữ liệu có kỹ năng Python thực sự hữu ích.
Python phổ biến cho việc phân tích dữ liệu vì các thư viện mạnh mẽ như numpy
và pandas
, giúp các tác vụ phân tích và dọn dẹp dữ liệu tương đối đơn giản, ngay cả khi làm việc với các bộ dữ liệu lớn. Ngoài ra còn có các thư viện Python hỗ trợ nhiều tác vụ phân tích dữ liệu khác nhau, từ khai thác dữ liệu web với Beautiful Soup đến hiển thị dữ liệu bằng Matplotlib.
Các công cụ như Jupyter Notebook giúp các nhà phân tích dữ liệu dễ dàng tạo các phân tích dễ lặp lại hoặc thêm văn bản và hình ảnh để giúp công việc của họ dễ hiểu ngay cả với những người không chuyên về lập trình.
Ví dụ ứng dụng cụ thể: Một trang web thương mại điện tử muốn hiểu người dùng của nó tốt hơn. Một nhà phân tích dữ liệu có thể sử dụng Python để phân tích doanh số bán hàng của công ty, làm nổi bật các xu hướng có thể dự đoán và chỉ ra các vấn đề cần cải thiện.
2. Khoa học dữ liệu / AI
Python cũng cực kỳ phổ biến cho các tác vụ liên quan đến dữ liệu nâng cao trong lĩnh vực máy học. Các thư viện mạnh mẽ như scikit-learning và TensorFlow giúp việc triển khai các thuật toán học máy phổ biến trở nên đơn giản. Đồng thời nhiều thư viện chuyên biệt giúp thực hiện nhiều tác vụ học máy từ nhận dạng hình ảnh đến tạo nội dung một cách dễ dàng
Hầu hết mọi thứ bạn thấy đang xãy ra xung quanh liên quan đến “trí tuệ nhận tạo” đều là một dạng triển khai máy học. Và rất nhiều chương trình học máy đang được thực hiện với Python.
Ví dụ ứng dụng cụ thể: Nền tảng phát trực tuyến video muốn tăng mức độ tương tác và mức độ gắn bó của người dùng. Một nhóm khoa học dữ liệu có thể sử dụng Python để xây dựng mô hình dự đoán đề xuất video cho người dùng dựa trên các yếu tố như lịch sử xem của họ, thói quen người xem, video mà những người dùng khác đã xem tương tự, v.v.
3. Phát triển web
Danh sách các công ty sử dụng Python bên trên là bằng chứng cho thấy Python là một ngôn ngữ rất phổ biến để phát triển ứng dụng web. Nhiều trang web bạn sử dụng hàng ngày được xây dựng bằng Python và các Python framework phổ biến như Django và Flask. Mặc dù bản thân các trang được hiển thị bằng HTML và CSS, Python làm nền tảng cho các yếu tố trực quan này trên nhiều trang web, điều khiển chức năng, quản lý cơ sở dữ liệu, tài khoản người dùng và hơn thế nữa.
Ví dụ ứng dụng cụ thể: Một công ty cần xây dựng một phiên bản mới của trang web với các tính năng cụ thể. Web developers có thể xây dựng trang web mới bằng Python và Django, sử dụng tính linh hoạt và sức mạnh mà chúng để xây dựng bất kỳ tính năng cụ thể hoặc tùy chỉnh nào mà công ty cần.
4. Phát triển trò chơi
Python được sử dụng trong việc phát triển các trò chơi điện tử độc lập, nhờ vào sự tồn tại của các thư viện tiện lợi như PyGame.
Python không được sử dụng thường xuyên trong việc phát triển các trò chơi phức tạp. Nếu mục tiêu của bạn là xây dựng một thế giới 3D chân thực, thì tốc độ tương đối chậm của Python và mức sử dụng bộ nhớ tương đối cao khiến nó không phải là ngôn ngữ lý tưởng cho trường hợp này. Tuy nhiên, Python đôi khi được sử dụng để xây dựng các hệ thống làm nền tảng cho các trò chơi này. Các trò chơi bao gồm Battlefield 2, Eve Online, The Sims 3, Civilization IV và World of Tanks sử dụng Python, mặc dù không có trò chơi nào được viết hoàn toàn bằng Python.
Ví dụ ứng dụng cụ thể: Bạn muốn xây dựng một trò chơi độc lập (indie side-scrolling game). Bạn có thể sử dụng Python để tận dụng sự tiện lợi của PyGame và với việc tương đối dễ học cách của Python, việc xây dựng một game như vậy là không mấy khó khằn
5. Phát triển phần mềm
Python được sử dụng rộng rãi trong phát triển phần mềm, trên nhiều ứng dụng trong thực tế. Ngày nay ranh giới giữa phát triển phần mềm và phát triển web hơi mờ nhạt vì hầu như tất cả phần mềm đều được xây dựng để hoạt động trên web ngay cả khi có cả ứng dụng dành cho máy tính để bàn. Dropbox là một ví dụ điển hình về một công ty phát triển phần mềm hiện đại làm cả hai và Python được sử dụng để xây dựng ứng dụng dành cho máy tính để bàn của Dropbox. Tương tự, Spotify có cả ứng dụng web và máy tính để bàn và Python được sử dụng để xây dựng một số dịch vụ nền giúp chúng hoạt động.
Tất nhiên, Python cũng được sử dụng tại nhiều công ty để phát triển các phần mềm nội bộ.
Ví dụ ứng dung cụ thể: Một công ty có kế hoạch xây dựng một ứng dụng email mới. Các nhà phát triển chọn sử dụng Python vì họ biết rằng họ sẽ có thể tạo ứng dụng web và deslktop client bằng Python và các thư viện liên quan của nó.
6. Kỹ thuật dữ liệu (data engineering)
Nhiều thư viện Python làm cho nó trở thành một lựa chọn hàng đầu cho các nhà phân tích dữ liệu và các nhà khoa học dữ liệu cũng làm cho Python trở thành một ngôn ngữ quan trọng đối với các kỹ sư dữ liệu. Các kỹ sư dữ liệu sử dụng Python cho các nhiệm vụ như xây dựng pipelines, kết hợp bộ dữ liệu, làm sạch dữ liệu, làm việc với API, tự động hóa các quy trình dữ liệu khác nhau, v.v.
Ví dụ ứng dụng cụ thể: Một công ty có rất nhiều dữ liệu, nhưng dữ liệu đó được lưu trữ ở nhiều định dạng và cơ sở dữ liệu khác nhau, khiến các nhà phân tích mất nhiều thời gian khi sử dụng. Một kỹ sư dữ liệu có thể sử dụng các kỹ năng Python của họ để xây dựng một đường dẫn tự động thu thập từ các nguồn khác nhau, tham gia và làm sạch dữ liệu, đồng thời giúp các nhà phân tích truy cập và lọc dễ dàng hơn.
7. Kỹ thuật Robot (Robotics)
Python là một ngôn ngữ phổ biến trong lĩnh vực chế tạo người máy, cả chuyên nghiệp và không chuyên. Với những người chỉ làm vì sở thích, Python thường được sử dụng cùng với nền tảng phần cứng Raspberry Pi, cho phép thử nghiệm linh hoạt và giá cả phải chăng. Trong kinh doanh, Python là một trong những ngôn ngữ thường được sử dụng để tự động hóa quy trình bằng rô bốt (robotic process automation – RPA) và nó được sử dụng để làm những việc như các cánh tay rô bốt công nghiệp được lập trình để có thể hoạt động song song với nhau.
Ví dụ ứng dụng cụ thể: Một công ty đặt hàng một số cánh tay robot cho một cơ sở sản xuất. Các kỹ sư có thể sử dụng Python để lập trình hành vi của chúng, tận dụng khả năng đọc cấp cao của ngôn ngữ để giúp mọi người dễ dàng hiểu những gì các cánh tay đang làm.
8. Tự động hóa
Python tuyệt vời để tự động hóa các tác vụ lặp đi lặp lại và có gần như vô tận các trường hợp sử dụng trong thực tế để tự động hóa Python. Ví dụ: Python là một công cụ phổ biến trong DevOps vì nó giúp tự động hóa các hệ thống và quy trình hiệu quả và minh bạch. Nhưng bên ngoài lĩnh vực phát triển phần mềm, nó cũng được sử dụng rộng rãi để tự động hóa mọi thứ, từ các hệ thống phức tạp đến các quy trình đơn giản, cá nhân như điền vào bảng tính hoặc trả lời email.
Ví dụ ứng dụng cụ thể: Một công ty báo cáo doanh số bán hàng của mình trong bảng tính Excel hàng tháng từ mỗi khu vực phải dùng phương pháp cách thủ công để tổng hợp báo cáo hàng quý cho toàn công ty. Thay vì làm công việc tốn nhiều thời gian này một cách thủ công, một nhân viên viết một tập lệnh Python kết hợp tất cả các bảng tính và tạo ra mỗi báo cáo hàng quý một cách tự động.
9. Giao diện và điều khiển phần cứng
Khả năng điều khiển phần cứng của Python vượt ra ngoài lĩnh vực robotics. Trên thực tế, Pythob được sử dụng trong tất cả các loại ứng dụng điều khiển phần cứng trong thế giới thực. Ví dụ: thư viện Python có thể sử dụng Python cho nhiều ứng dụng điều khiển công nghiệp.
Ví dụ ứng dụng cụ thể: Một kỹ sư tại một công ty cần viết phần mềm để điều khiển một hệ thống HVAC phức tạp. Họ có thể lập trình bằng Python có thể gửi lệnh đến và nhận dữ liệu từ bộ cảm biến và bộ điều khiển phần cứng của hệ thống.
10. Giáo dục và đào tạo
Bởi vì Python là một ngôn ngữ có thể đọc được (readable) rất cao và cũng có nhiều mục đích sử dụng thực tế khác nhau, nên Python là ngôn ngữ được lựa chọn đầu tiên cho những người muốn học lập trình. Nhiều hướng dẫn Python, video, các khóa học tương tác và các tài liệu giáo dục khác có sẵn cho Python khiến nó được cho là ngôn ngữ lập trình dễ học nhất.
Ví dụ ứng dụng cụ thể của Python trong lĩnh vực này: Một công ty muốn nhóm phân tích dữ liệu của mình có thể vượt qua những giới hạn của Excel và SQL. Họ chọn tham gia khóa đào tạo nhóm bằng Python,và họ sẽ có nhiều tài nguyên học tập khác nhau để lựa chọn.
11. Tiện ích cá nhân
Trong bài viết này, chúng ta chủ yếu tập trung vào các trường hợp sử dụng Python trong kinh doanh. Nhưng nhiều trường hợp sử dụng thương mại của Python cũng có thể áp dụng ở cấp độ cá nhân. Python có thể được sử dụng để phân tích dữ liệu của riêng bạn, để tự động hóa các yếu tố nhàm chán hoặc lặp đi lặp lại trong công việc của bạn, hoặc thậm chí để tạo ra tác phẩm nghệ thuật.
Ví dụ ứng dụng cụ thể: Giả sử bạn muốn ngăn mình ngồi nhiều giờ liền, bạn có thể sử dụng Python để viết một đoạn script nhỏ để bật lên cảnh báo vào bất kỳ khoảng thời gian nào bạn muốn, phát âm thanh lựa chọn của bạn và nhắc bạn thực hiện một bài tập nhỏ dựa trên các thông số mà bạn có thể điều chỉnh.
Những lĩnh vực Python không phổ biến
Python là một ngôn ngữ tuyệt vời và linh hoạt, nhưng nó không phải là giải pháp tốt nhất cho mọi thứ. Dưới đây là một số ví dụ về các lĩnh vực mà Python có thể không phải là lựa chọn tốt nhất hoặc lựa chọn phổ biến nhất cho các ứng dụng thương mại.
Phát triển ứng dụng di động
Mặc dù bạn chắc chắn có thể phát triển các ứng dụng dành cho thiết bị di động dùng Python, nhưng bạn sẽ cần sử dụng các lớp của bên thứ ba (third-party layers) để cho các ứng dụng trên điện thoại Android và iOS. Các lớp bổ sung này có thể làm cho các ứng dụng Python kém hiệu quả hơn, điều đó có nghĩa là Python không phải lúc nào cũng là lựa chọn tốt nhất để phát triển ứng dụng dành cho thiết bị di động
Nếu bạn quan tâm đến việc phát triển ứng dụng dành cho thiết bị di động bằng Python, có nhiều tùy chọn khác nhau. Một trong những phổ biến nhất là Kivy framework.
Tất nhiên, bạn cũng có thể sử dụng những ưu điểm phát triển web của Python cùng với một số các framework như Django để làm cho các ứng dụng web hoạt động tốt trên các trình duyệt di động.
Những ứng dụng yêu cầu tốc độ cao hoặc sử dụng nhiều bộ nhớ
Một phần vì Python là một ngôn ngữ cấp cao, nó không phải lúc nào cũng là lựa chọn nhanh nhất hoặc hiệu quả nhất. Đối với nhiều trường hợp, sự khác biệt này sẽ không quan trọng và bạn sẽ không bao giờ nhận thấy sự khác nhau khi được thêm phần mười của một phần nghìn giây khi sử dụng C ++. Nhưng nếu bạn đang làm việc trên một trò chơi video được kết xuất 3D tốc độ cao, thì các hạn chế về tốc độ và bộ nhớ của Python có thể sẽ quá hạn chế.
Tương tự, nếu bạn viết một hệ điều hành, thì Python không phải là một lựa chọn tối ưu vì tính kém hiệu quả khi người dùng chạy các chương trình bên trong một chương trình là Hệ điều hành.
Khi tốc độ cao và hiệu suất bộ nhớ là quan trọng, Python có lẽ không phải là lựa chọn tốt nhất. Tuy nhiên, trong nhiều trường hợp, bao gồm tất cả các trường hợp sử dụng được mô tả ở trên, những hy sinh nhỏ về tốc độ và hiệu quả khi sử dụng Python sẽ không thể so được với những tiện ích mà nó mang lại.
Tham khảo bài viết gốc đăng trên dataquest.io
Photo by Chris Ried on Unsplash