Giới thiệu Lập trình, Ngôn ngữ lập trình và liên hệ lập trình Python

Các bạn theo nghiệp CNTT chắc đều nghe đến Lập trình và Ngôn ngữ lập trình (Computer Programming Language) nói chung và lập trình Python nói riêng, bài viết này nhắm đến mô tả tổng quan ngắn gọn nhất như thế nào là Lập trình, ngôn ngữ lập trình và các lý do vì sao Python hiện là ngôn ngữ lập trình được sử dụng rộng rãi nhất trên thế giới. Các bạn muốn tìm hiểu kỹ hơn, có thể theo các từ khóa để tìm kiếm thêm chi tiết dễ dàng.

Giới thiệu và phân loại ngôn ngữ lập trình

Đầu tiên, để có Tư duy về lập trình thì cần nghiêm túc bồi dưỡng trong khoảng thời gian không hề ngắn. Học cách dùng ngôn ngữ lập trình cho phù hợp nhu cầu thực tế, có lẽ là cách nhanh nhất để vận dụng tư duy lập trình, làm ra ‘sản phẩm phần mềm chạy ra được kết quả’ cho mục đích đặt ra ban đầu. Và như vậy, Coder/Lập trình viên/Developers có thể là người đã qua học tập bài bản (Đại học/Cao đẳng) về lập trình, mà cũng có thể từ tự phát triển do đòi hỏi của công việc, rồi lâu dần thành Developer thực thụ.

Các loại Ngôn Ngữ Lập Trình theo cấp độ Người-vs-Máy

Máy tính thì căn nguyên chỉ “hiểu được” hai trạng thái nhỏ nhất là không có điện, tương đương việc chúng ta quy về hệ nhị phân 1 (có điện) hoặc 0 (không có điện). Từ đây, tổng quát hóa, mà có hai loại ngôn ngữ lập trình:

  • Bậc thấp(Low-Level) – hướng đến “ngôn ngữ máy tính hiểu được”
  • Bậc cao(High-Level) – hướng đến người sử dụng hay lập trình viên, sao cho nhanh chóng hiểu và viết ra đoạn mã nguồn (source codes/program) vừa đúng yêu cầu sử dụng, vừa đúng cú pháp/khả năng xử lý của máy tính.

Thấp hay cao không ám chỉ là cao cấp hay kém chất lượng. Bậc thấp, nghĩa là càng gần hơn với ngôn ngữ máy, đòi hỏi lập trình viên phải am hiểu về kiến trúc của bộ vi xử lý (CPU).

Một cách phân loại khác của Ngôn ngữ lập trình là theo đặc tính khi sử dụng:

  • Biên dịch(compiled)
  • Thông dịch(interpreted).

Bất kỳ một phần mềm nào, khi được viết ra, đầu tiên đều ở dạng mã nguồn (source code), định dạng mà con người đều có thể đọc được (clear text). Nhưng đối với sản phẩm phần mềm được viết theo ngôn ngữ biên dịch, thì cần phải qua  một quá trình biến đổi bởi “trình biên dịch” (the compiler), sang một dạng thực thi gần hơn với mã máy (chưa bàn đến khác biệt về hệ điều hành), gọi chung là dạng binary (dạng nhị phân) để sử dụng được. Quá trình biên dịch này cần được thực hiện lại sau mỗi lần mã nguồn có sự điều chỉnh hay thay đổi. Các sản phẩm phần mềm đóng gói sẵn như 7-Zip, bộ cài đặt Office365… đều là ví dụ kết quả của lập trình biên dịch.

Đối với các mã nguồn viết theo ngôn ngữ lập trình thông dịch, khi gọi thực thi từ “trình thông dịch” (the interpreter), sẽ cho ra kết quả “thấy được” một cách trực tiếp từ mã nguồn của Developer viết, mà không cần qua bất kỳ một dạng biến đổi nào khác. Xem ví dụ màn hình trình thông dịch Python, nguồn từ developers.google.com (dòng ngay sau ‘>>>’ là kết quả hiển thị của lệnh):

Python-Interpreter

Tại sao chọn Python ?

Thông thường ngôn ngữ lập trình bậc cao là đa dụng, có sẵn nhiều thư viện(*), nhằm giúp lập trình viên nhanh chóng viết được chương trình phần mềm mong muốn. Chỉ cần lưu ý dùng đúng công cụ cho đúng mục đích thì luôn có kết quả tối ưu (theo khả năng của Developer). Python là một ngôn ngữ lập trình hướng đối tượng bậc cao được phát triển nhằm các mục đích chính:

  • Dễ dàng tạo ra các ứng dụng Web (dùng Python based framework như Django, Flask…) hay ứng dụng Enterprise phức tạp; kết nối Database, xử lý đồng thời nhiều transactional data một cách an toàn, bảo mật.
  • Xử lý dữ liệu lớn; phân tích, thực hiện các phép/thuật toán phức tạp; Trực quan hóa dữ liệu; AI, Machine Learning, Data Science gần như gắn liền với Python (một số công cụ/ứng dụng được phát triển dựa trên Python như: Pandas, NumPy, SciPy, TensorFlow, Keras, Matplotlib, Seaborn… ).
  • Một cách scripting để tự động hóa tác vụ/workflows thường ngày (như điền biểu mẫu, gởi tin nhắn, chuyển đổi files, theo dõi cảnh báo nội dung của web hay files…).
  • Kiểm thử tự động, tính năng phần mềm đang phát triển (dùng framwork như Requestestium, Green…)
  • Rapid prototyping, or for production-ready software development

Và sau đây là các lý do chính (bằng tiếng Anh cho ngắn gọn) để Python thông dụng trên khắp thế giới hiện nay _dù bản thân là mã nguồn mở, ngay cả các hãng lớn [Google, Netflix, Facebook…] cũng đang dùng như là một trong các công cụ chủ lực:

  • Python works on different platforms (Windows, Mac, Linux, Raspberry Pi, etc).
  • Python runs on an interpreter (thông dịch) system, meaning that code can be executed as soon as it is written. This means that prototyping can be very quick.
  • Python has a simple and flexible syntax, similar to the English language.
  • Python’ syntax requires no type declarations of variables, parameters, functions, or methods in source code, that allows developers to write programs with fewer lines(**) than some other programming languages.
  • Python can be treated in a procedural way, an object-oriented way or a functional way.
  • Getting started quickly/easily but providing depths to explore when experience gaining.

 

Phạm Anh Bằng

 

(*) hiểu nôm na là có nhiều đoạn mã đã được (ai đó) lập trình sẵn với những công dụng cụ thể, chỉ cần lập trình viên biết mà gọi ra sử dụng, không cần lập trình lại.
(**) 1 dòng code là 1 lệnh mà không cần ký tự xác định viết xong lệnh (thường dùng dấu ‘;’) như một số programming language khác; Dùng ngay khoảng trắng, gióng lề gióng cột (Indentation) để xác định phạm vi của đoạn code Loops/Classes/Functions…

5/5 - (4 votes)

Leave a Reply

Your email address will not be published. Required fields are marked *