+3

Tổng quan Python 2018

Mở đầu

Stack Overflow là trang web phổ biến nhất mà các lập trình viên trên toàn thế giới truy cập để xem code ví dụ và giải pháp cho các vấn đề lập trình. Stack Overflow hoạt động như trang web câu hỏi và câu trả lời, trong đó mỗi câu hỏi được gắn thẻ với một hoặc nhiều ngôn ngữ lập trình. Và Python là ngôn ngữ lập trình được gắn thẻ nhiều nhất

Vậy tại sao Python lại phát triển quá nhanh như vậy. Hôm nay chúng ta sẻ tìm hiểu điều gì thúc đẩy sự tăng trưởng của python

Giới Thiệu

Python là ngôn ngữ lập trình hướng đối tượng, cấp cao, mạnh mẽ, được tạo ra bởi Guido van Rossum. Nó dễ dàng để tìm hiểu và đang nổi lên như một trong những ngôn ngữ lập trình nhập môn tốt nhất cho người lần đầu tiếp xúc với ngôn ngữ lập trình. Python hoàn toàn tạo kiểu động và sử dụng cơ chế cấp phát bộ nhớ tự động. Python có cấu trúc dữ liệu cấp cao mạnh mẽ và cách tiếp cận đơn giản nhưng hiệu quả đối với lập trình hướng đối tượng. Cú pháp lệnh của Python là điểm cộng vô cùng lớn vì sự rõ ràng, dễ hiểu và cách gõ linh động làm cho nó nhanh chóng trở thành một ngôn ngữ lý tưởng để viết script và phát triển ứng dụng trong nhiều lĩnh vực, ở hầu hết các nền tảng như web development, data science...Chúng ta có thể thấy được sự tăng trưởng hiện tại của Python trên các lĩnh vực này thông qua số lượng truy cập và sử dụng các package của Python. Trong đó web frameworks là Django và Flask, còn data science là NumPy, matplotlib và pandas.

  1. Package pandas phát triển nhanh nhất. Nó mới được giới thiệu năm 2011 nhưng bây giờ nó đã chiém 1% lượt xem câu hỏi trên Stack Overflow
  2. Các câu hỏi liên quan đến các packages của data science như numpy và matplotlib đã phát triển đáng kể qua các năm trong khi lưu lượng truy cập đến các câu hỏi Django vẫn đang ổn định trong suốt thời gian đó.
  3. Mặc dù Flask đang phát triển, nhưng sự tăng trưởng không bằng các Package của data science

Bây giờ, hãy tìm hiểu về các yếu tố đã gây ra sự tăng trưởng khổng lồ của Python vào năm 2018

1. Miễn phí, mã nguồn mở

Bạn có thể tự do sử dụng và phân phối Python, thậm chí là dùng cho mục đích thương mại. Vì là mã nguồn mở, bạn không những có thể sử dụng các phần mềm, chương trình được viết trong Python mà còn có thể thay đổi mã nguồn của nó. Python có một cộng đồng rộng lớn, không ngừng cải thiện nó mỗi lần cập nhật.

2. Khả năng di chuyển

Các chương trình Python có thể di chuyển từ nền tảng này sang nền tảng khác và chạy nó mà không có bất kỳ thay đổi nào. Nó chạy liền mạch trên hầu hết tất cả các nền tảng như Windows, macOS, Linux.

3. Khả năng mở rộng và có thể nhúng

Giả sử một ứng dụng đòi hỏi sự phức tạp rất lớn, bạn có thể dễ dàng kết hợp các phần code bằng C, C++ và những ngôn ngữ khác (có thể gọi được từ C) vào code Python. Điều này sẽ cung cấp cho ứng dụng của bạn những tính năng tốt hơn cũng như khả năng scripting mà những ngôn ngữ lập trình khác khó có thể làm được.

4. Ngôn ngữ thông dịch cấp cao

Không giống như C/C++, với Python, bạn không phải lo lắng những nhiệm vụ khó khăn như quản lý bộ nhớ, dọn dẹp những dữ liệu vô nghĩa,... Khi chạy code Python, nó sẽ tự động chuyển đổi code sang ngôn ngữ máy tính có thể hiểu. Bạn không cần lo lắng về bất kỳ hoạt động ở cấp thấp nào.

5. Data science libraries

Data Science là lý do lớn nhất để Python đứng đầu. Data Science là một công việc thú vị cùng với mức lương cao. Bây giờ chúng ta hãy xem sâu hơn và biết chi tiết về ba Thư viện Data Science sau đây.

Pandas: Pandas là một thư viện phần mềm được viết cho ngôn ngữ lập trình Python để thao tác và phân tích dữ liệu. Đặc biệt, nó cung cấp các cấu trúc dữ liệu và hành động để thao tác các bảng số và chuỗi thời gian.

NumPy: NumPy là một thư viện cho ngôn ngữ lập trình Python, thêm hỗ trợ cho các mảng lớn và đa chiều và ma trận, cùng với một bộ sưu tập lớn các hàm toán học cấp cao để hoạt động trên các mảng này.

Matplotlib: Matplotlib là một thư viện vẽ sơ đồ 2D của Python, nó cung cấp chức năng vẽ biểu đồ phân tán, đồ thị đường gấp khúc, đồ thị thanh, biểu đồ, biểu đồ hình tròn, v.v… Cũng có thể vẽ biểu đồ ba chiều (three-dimensional graph). Thêm nữa, có thể thêm các hiệu ứng vào đồ thị.

6. Web development frameworks

Bạn có thể tạo web app có khả năng mở rộng (scalable) được bằng cách sử dụng framework và CMS (Hệ thống quản trị nội dung) được tích hợp trong Python. Vài nền tảng phổ biến để tạo web app là:

Django: Django là một framwork phát triển Web cấp cao, khuyến khích dùng để phát triển nhanh chóng và thiết kế sạch sẽ, thiết thực.

Flask: Flask là một framework phát triển web được xây dựng nhỏ, nhẹ, đơn giản nhưng rất dễ mở rộng. Flask được coi là Pythonic hơn Django vì web thiết kế bằng Flask sẻ có code rõ ràng hơn.

7. Machine learning

Học máy và AI là một chủ đề nóng cho ngành CNTT. Đây là một lý do rất lớn tại sao tất cả mọi người quan tâm đến Python. Bởi vì hiện nay nó là ngôn ngữ chính giúp chúng ta thực hiện điều này dễ dàng.Nó có nhiều thư viện hỗ trợ rất tốt như:

  1. sklearn cho các thuật toán Machine Learning cơ bản
  2. tensorflow, pytorch, keras, theano… cho các thuật toán Deep Learning

8. Đơn giản & tiện lợi

Python là một ngôn ngữ tương đối dễ dàng trở thành một lựa chọn dễ dàng cho người mới bắt đầu để lựa chọn nó. Rõ ràng là một người mới bắt đầu không muốn bận tâm với các mã phức tạp và cú pháp của ngôn ngữ lập trình khác.

Python là đơn giản cũng như dễ đọc mà mang lại cho nó một cạnh trên các ngôn ngữ như Java và C ++, nơi coder phải đối phó với các vấn đề classpath & compiler tương ứng.

9. Đa năng

Một điều mà đặt Python ngoài các ngôn ngữ khác là nó phục vụ nhiều mục đích. Không giống như các ngôn ngữ khác, nó có thể được sử dụng trong nhiều công nghệ hơn. Ví dụ: R chỉ giỏi về Data Science và Machine Learning. Tuy nhiên, nó không thể được sử dụng khi nói đến phát triển web.

Mặt khác, Python có thể làm rất nhiều thứ như tạo ứng dụng web của bạn bằng cách sử dụng Flask và Django, Phân tích dữ liệu bằng Scikit-Learn, Scipy, NumPy và NLTK.

10. Cộng đồng lớn

Học tập là một quá trình lâu dài và nó được rút ngắn nếu bạn được hỗ trợ. Thông thường, những người giúp đỡ là bạn bè. Tuy nhiên, ngay cả khi bạn không tìm thấy bất kỳ người bạn nào bên cạnh, bạn luôn có thể google để tìm sự giúp đỡ.

Ngoài việc dễ dàng Python có sự hiện diện rất lớn trên internet. Có rất nhiều cộng đồng về Python. Những cộng đồng này đóng một vai trò quan trọng trong việc truyền đạt kiến thức và giải quyết các vấn đề cho mọi người.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí