Ngôn ngữ lập trình gồm những gì? tại sao ta phải dùng ngôn ngữ lập trình?

Ngôn ngữ lập trình là một loại ngôn ngữ đặc biệt được thiết kế để giúp các lập trình viên có thể dựa trên đó viết các chỉ dẫn để máy tính thực hiện một hoặc nhiều tác vụ cho trước.

Ngôn ngữ lập trình định nghĩa một bộ các quy tắc viết mã lệnh (còn gọi là cú pháp) để lập trình viên có thể dựa vào đó viết các chỉ dẫn thực hiện các tác vụ cụ thể cho máy tính. Các ngôn ngữ lập trình khác nhau có các quy tắc riêng khác nhau.

Ví dụ với ngôn ngữ PHP để hiển thị một thông báo ra về năm hiện tại màn hình chúng ta có thể viết như sau:

echo "Xin chào!";

Đối với ngôn ngữ Ruby chúng ta lại sử dụng cú pháp khác:

puts("Xin chào!");

Tại Sao Có Nhiều Ngôn Ngữ Lập Trình

Lý do có nhiều ngôn ngữ lập trình là bởi vì mỗi ngôn ngữ lập trình thường được thiết kế để phục vụ các mục đích (porpose) khác nhau. Ví dụ như một số ngôn ngữ được thiết kế để thực hiện các tác vụ về thống kê mô tả, chạy các phân tích, hay nói cách khác các tác vụ có tính học thuật. Trong khi đó một số ngôn ngữ được thiết kế để viết lập trình các trang web, một số khác thì để lập trình ứng dụng mobile...

General Purpose Programming Language

Một số ngôn ngữ có thể sử dụng cho tất cả các mục đích được gọi là ngôn ngữ đa mục đích (general purpose pgoramming language).

Các ngôn ngữ đa mục đích phổ biến được dùng hiện nay có thể kể đến đó là C, C++, Java, Python, Ruby, PHP, Objective-C...

Ngôn Ngữ Kịch Bản và Ngôn Ngữ Biên Soạn

Phân theo cách một chương trình phần mềm được viết sử dụng một ngôn ngữ lập trình được chạy như thế nào thì chúng ta có thể phân chia ngôn ngữ lập trình theo hai nhánh khác nhau:

  • Ngôn ngữ lập trình kịch bản (scripting language): ứng dụng phần mềm (còn gọi là chương trình phần mềm) viết với những ngôn ngữ dạng này có thể được chạy trực tiếp mà không cần một quá trình trung gian chuyển tiếp mã lệnh của chương trình về mã máy (chỉ gồm các số 0 và 1).
  • Ngôn ngữ lập trình biên soạn (compiled language): ứng dụng phần mềm viết với những ngôn ngữ dạng này cần được chuyển tiếp (hay biên soạn tiếng anh là compiled) về mã máy trước khi được máy tính chạy.

Các ngôn ngữ lập trình kịch bản phổ biến có thể kể đến như PHP, Ruby, Python, JavaScript...

Các ngôn ngữ lập trình kịch bản phổ biến có thể kể đến như C, Java, C++, Objective-C...

Bài viết được sự cho phép của BBT Tạp chí Lập trình

Khi nói đến việc chọn một ngôn ngữ lập trình để học, bạn hẳn sẽ đau đầu bởi số lượng không thể đo đếm được của chúng. Đó là chưa nói đến chuyện mỗi ngôn ngữ lập trình lại có những ứng dụng khác nhau trong đời sống công nghệ.

Chức năng chính của một chương trình máy tính là giải quyết một vấn đề bằng một bộ các tập lệnh (hay mã lệnh). Tuy nhiên, nếu mọi chương trình đều có thể giải quyết các vấn đề, thì tại sao chúng ta lại cần đến quá nhiều chương trình như vậy? Liệu một chương trình có thể làm được mọi thứ hay không? Để trả lời câu hỏi này, hãy cùng tìm hiểu về cách một chương trình máy tính được thực thi.

  5 ngôn ngữ lập trình hàm bạn nên biết

  5 ngôn ngữ lập trình “khó chịu” nhất thế giới

Hầu như mọi quá trình tính toán dù dưới bất kỳ hình thức nào (với một số ít ngoại lệ) đều được thực hiện trong Bộ xử lý trung tâm (CPU). CPU hiện đại mà chúng ta sử dụng ngày nay có chứa nhiều thành phần vi điện tử.  CPU có thể được chia ra thành nhiều đơn vị tính toán nhỏ hơn, gọi là Logical Transistor Gates, hay đơn giản hơn là logic gates (cổng logic). Chức năng chính của cổng logic là thực hiện ba toán tử chính: AND, OR và NOT.

Ngôn ngữ lập trình gồm những gì? tại sao ta phải dùng ngôn ngữ lập trình?

Những toán tử logic nói trên hoạt động trên một hệ thống số là một nhị phân, vốn hoạt động trên một hệ thống số gồm các số 0 và 1. Số 0 báo hiệu không có dòng điện chạy qua bóng bán dẫn, và số 1 báo hiệu có một dòng điện chạy qua bóng bán dẫn.

Điều phi thường nhất ở đây là, chỉ cần kết hợp những toán tử logic nói trên với nhị phân, bạn sẽ có thể diễn tả tất cả các logic chúng ta từng biết, bao gồm các phép toán số học, số nguyên, và gần như mọi thứ khác bạn có thể hình dung ra. Một CPU hiện đại ngày nay có một thứ gọi là vi mã được cài đặt sẵn bên trong. Một vi mã chứa một bộ các tập lệnh cơ bản được dùng để thực hiện các tác vụ phức tạp hơn, gọi là mã máy.

Ở trên, chúng ta đã biết phần cứng đằng sau quá trình thực thi mã máy. Tiếp theo, hãy nói về các cấp độ của phần mềm cần thiết cho việc thực thi của phần mềm. Chương trình đầu tiên cần đến là Asembler (trình dịch hợp ngữ), có chức năng chuyển đổi ngôn ngữ asembly (hợp ngữ) thành mã máy. Một ngôn ngữ cấp độ assembly là một ngôn ngữ cấp thấp, đóng vai trò như một chương trình trung gian giữa một ngôn ngữ lập trình bậc cao (Python, C++, Java) và mã máy. Biểu đồ bên dưới sẽ cho thấy kiến trúc của bất kỳ phần mềm nào:

Ngôn ngữ lập trình gồm những gì? tại sao ta phải dùng ngôn ngữ lập trình?

Chương trình quan trọng tiếp theo là Compiler (trình biên dịch). Compiler lấy ngôn ngữ bậc cao và chuyển nó thành hợp ngữ, và đôi lúc thành mã máy nữa. Chương trình cuối cùng (hay gói) gắn kết mọi thứ lại cùng nhau là hệ điều hành. Hệ điều hành về cơ bản là một chương trình khởi động khi máy tính khởi động và chạy cho đến khi máy tính tắt đi. Hệ điều hành còn đảm nhiệm việc quản lý các tác vụ phức tạp, như quản lý tập tin, quản lý đầu vào và đầu ra. Hệ điều hành hoạt động liên tục để mỗi khi bạn muốn thực thi một chương trình, bạn không phải gọi nó lên hết lần này đến lần khác. Nó còn giúp quá trình tương tác với các chức năng người dùng trở nên trực quan hơn, thay vì buộc bạn phải giao tiếp với máy tính dưới dạng những con số 0 và 1.

Như vậy, mọi ngôn ngữ lập trình dù khác nhau vẫn được thực thi theo một dạng giống nhau. Một chương trình chắc hẳn phải đáp ứng được mọi nhu cầu, đúng chứ? Không đâu. Trong một thế giới lý tưởng, chúng ta sẽ chỉ cần một chương trình cho bất kỳ thứ gì. Mọi ngôn ngữ lập trình đúng là đều phục vụ cho mục đích như nhau, dù nó là C++, Java, Python… nhưng tất cả chúng đều cần thiết vì nhiều lý do khác nhau.

Ngôn ngữ lập trình gồm những gì? tại sao ta phải dùng ngôn ngữ lập trình?

Chúng ta cần các ngôn ngữ lập trình khác nhau là bởi mỗi ngôn ngữ lại có một chức năng khác nhau. Khi một ngôn ngữ lập trình được tạo ra, nó được thiết kế với dụng ý làm sao để có được nhiều chức năng nhất có thể, nhưng không một ngôn ngữ lập trình nào có thể làm được mọi thứ cả. Dưới đây là một số ngôn ngữ lập trình và chức năng cụ thể của chúng:

– Java: đây là một phần mềm đa năng chủ yếu được sử dụng cho phát triển Android. Nó đôi lúc còn được dùng để phát triển website và phần mềm nhúng. Nó được xem là một trong những ngôn ngữ lập trình phổ biến nhất.

– C++: một ngôn ngữ lập trình đa năng khác, hậu bối của ngôn ngữ lập trình C nổi tiếng. Nó hiện được sử dụng cho việc phát triển game máy tính với đồ hoạ cao cấp. C++ cực tốt trong khâu quản lý bộ nhớ và vận hành rất mượt mà. Nó còn được dùng để phát triển các hệ điều hành và các ứng dụng desktop.

– Python: lại một phần mềm đa năng khác. Nó không nhanh như các ngôn ngữ lập trình khác, nhưng lại cực kỳ xuất sắc cho phát triển website và xử lý dữ liệu. Thời gian xây dựng chương trình trong Python ngắn hơn nhiều so với các ngôn ngữ lập trình khác.

– HTML/CSS: đây không hẳn là một ngôn ngữ lập trình đa năng, mà chủ yếu được thiết kế để hướng tới việc phát triển website. Các ngôn ngữ như Python, vốn được dùng để tạo ra backend (phần tương tác với cơ sở dữ liệu) của các website, hoạt động bằng cách gửi HTML đến máy chủ. HTML cung cấp cấu trúc cho website, trong khi CSS được dùng để tạo kiểu và sắp xếp lại các thành phần trong website.

– PHP: được dùng để thêm chức năng cho một chương trình HTML. Nó cho phép bạn gọi dữ liệu và tạo HTML theo nhiều cách hữu dụng trước khi gửi đến trình duyệt của người dùng để hiển thị. Các công ty như Facebook sử dụng ngôn ngữ này rất nhiều.

– R: ngôn ngữ này trong vài năm qua đã trở nên khá nổi tiếng trong cộng đồng lập trình. Nó được sử dụng chủ yếu cho phân tích số liệu thống kê và những thứ liên quan mật thiết đến lĩnh vực này.

Như bạn đã thấy, dù mỗi ngôn ngữ lập trình đều được dùng để tính toán một số dạng dữ liệu, mỗi trong số chúng lại có chức năng và tình huống sử dụng riêng. Ngoài ra, việc lựa chọn một ngôn ngữ còn phụ thuộc vào nhu cầu của mỗi người và sự thuần thục của họ đối với những ngôn ngữ cụ thể.

Theo Vnreview

Bài viết gốc được đăng tải tại Tạp chí Lập trình

Có thể bạn quan tâm:

Xem thêm các việc làm Developer hấp dẫn tại TopDev