Python là ngôn ngữ lập trình bậc cao ra đời khá lâu, do Guido van Rossum tạo ra và ra mắt lần đầu vào năm 1991. Python là ngôn ngữ được thiết kế với tiêu chí trở thành ngôn ngữ dễ đọc, dễ học, cú pháp đơn giản nhưng hiệu quả và dễ triển khai. Ban đầu python được thiết kế để chạy trên hệ điều hành Unix, nhưng về sau python được mở rộng để chạy trên mọi hệ điều hành từ MS-DOS, window, linux... Hiện nay python đã được đưa vào thay thế pascal ở chương trình lập trình ở phổ thông, chứng tỏ việc dễ tiếp cận cho người mới bắt đầu.

Lịch sử phát triển của python

Python ra đời năm 1991, cho đến nay đã trả qua gần 30 năm, ngôn ngữ này đã có một số giai đoạn phát triển trước khi trở thành ngôn ngữ phổ biến như bây giờ.

Python phiên bản 1.x: Phiên bản này bắt đầu từ đầu đến cuối những năm 90 và chủ yếu phổ biến tại nơi tác giả của ngôn ngữ này làm việc, đó là  tại CWI (Centrum voor Wiskunde en Informatica - Trung tâm Toán-Tin học tại Amsterdam, Hà Lan). Tuy nhiên từ bản 1.6 python bắt đầu dịch chuyển sang theo chuẩn mã nguồn mở GPL

Phiên bản python 2: Phiên bản ra mắt năm 2000, dần được cộng trình lập trình viên đón nhận rộng rãi. Bản quyền của phiên bản này được đổi thành Python Software Foundation License. Phiên bản python 2 mới được PSF thông báo ngưng hỗ trợ mới gần đây, trước đó cộng đồng lập trình viên vẫn có thể sử dụng 2 phiên bản python2 và python 3.

Phiên bản python 3: 3.x là phiên bản hiện tại đang được hỗ trợ. Python 3 sẽ không tương thích với python 2 do phiên bản mới đã cập nhật thay đổi một số cách viết cũ. Tuy nhiên vẫn có công cụ để chuyển đổ từ phiên bản 2 sang phiên bản 3.

Đặc điểm của ngôn ngữ lập trình python

Python là ngôn ngữ với triết lý đơn giản hóa mọi thứ, có thể tóm gọn trong một số đặc điểm sau:

- Đẹp đẽ tốt hơn xấu xí

- Minh bạch tốt hơn che đậy

- Đơn giản tốt hơn phức tạp

- Phức tạp tốt hơn rắc rối

- Dễ đọc

Dễ học: 

Python có ít từ khóa, và sử dụng tiếng Anh cho các từ khóa đó. Ngoài ra nó sử dụng ít các ký hiệu đặc biệt trong cú pháp.

Python phân biệt chữ hoa, chữ thường. ví dụ biến 'example' sẽ khác với biến 'Example'.

Dễ viết

Với triết lý đơn giản hóa mọi thứ, python rất dễ viết. Cảm giác viết python giống như bạn đang viết nội dung cho một cuốn sách, nó khá gần với ngôn ngữ thường ngày của con người. Ngoài ra python không dùng đến các ký hiệu không cần thiết của các ngôn ngữ khác ví dụ như dấu { }. Thay vì đưa một khối lệnh vào giữa dấu { } thì python viết các khối lệnh này thụt vào về bên phải so với cấu trúc bên ngoài nó. Dấu chấm phẩy cũng không cần thiết ở python, chúng đã loại bỏ dấu chấm phẩy ở cuối mỗi dòng lệnh.

Ví dụ một chương trình được viết bằng C/C++ sẽ như sau:

#include 
 delta = b * b - 4 * a * c;
 if (delta > 0)
 {
   x1 = (- b + sqrt(delta)) / (2 * a);
   x2 = (- b - sqrt(delta)) / (2 * a);
   printf("Phuong trinh co hai nghiem phan biet:\n");
   printf("x1 = %f; x2 = %f", x1, x2);
}

Chúng sẽ được viết lại trong Python như sau:

import math
#...
delta = b * b  4 * a * c
if delta > 0:
    # Khối lệnh mới, thụt vào đầu dòng
    x1 = (- b + math.sqrt(delta)) / (2 * a)
    x2 = (- b  math.sqrt(delta)) / (2 * a)
    print "Phuong trinh co hai nghiem phan biet:"
    print "x1 = ", x1, "; ", "x2 = ", x2

Các bạn có thể thấy được sự khác biệt giữa 2 ngôn ngữ, python có vẻ đơn giản hơn rất nhiều so với C/C++

Python hiện tại có phổ biến không?

Chính vì tính đơn giản của python, vì vậy hiện nay python đang được áp dụng để xây dựng nhiều phần mềm, hệ thống cực kỳ phổ biến. Đặc biệt là cộng đồng người sử dụng python rất đông. Nếu bạn gặp phải một vấn đề gì khi lập trình python thì chắc chắn sẽ có rất nhiều người có thể giúp đỡ bạn. Hiện nay python là ngôn ngữ phổ biến thứ nhất trên toàn thế giới theo thống kê của Github

Xếp hạng phổ biến của ngôn ngữ python

Có nên học python

Chính vì python có nhiều ưu điểm hơn so với các ngôn ngữ khác nên để bắt đầu, tôi khuyên bạn nên bắt đầu với python. Có rất nhiều ứng dụng bạn có thể tạo ra với python. Ngoài ra nhu cầu tuyển dụng hiện nay đối với các lập trình viên rất lớn và mức lương cũng khá cao so với mặt bằng. Nếu học tốt bạn có thể tham gia vào các dự án web, lập trình hệ thống, trí tuệ nhân tạo, phân tích và khai phá dữ liệu..v.v...