Ngôn ngữ lập trình là gì?

Tác giả sysadmin, T.Mười 17, 2022, 09:11:20 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Ngôn ngữ lập trình là gì?


Ngôn ngữ lập trình là ngôn ngữ mà mọi người sử dụng khi phát triển phần mềm để ra lệnh cho máy tính phải làm gì. Chúng có nhiều dạng, nhưng hầu hết các ngôn ngữ lập trình đều dựa vào trình thông dịch để chuyển ngôn ngữ có thể đọc được của con người sang dạng nhị phân để máy tính có thể đưa các lệnh vào hoạt động.


Nền tảng của máy tính và các chương trình của chúng là ngôn ngữ lập trình, những dòng mã trông kỳ lạ có thể khiến bạn đau đầu khi nhìn vào chúng. Nhưng ngôn ngữ lập trình là gì và chúng hoạt động như thế nào?

1. Ngôn ngữ lập trình là gì?

Tóm lại, ngôn ngữ lập trình là cách mà một lập trình viên máy tính "nói chuyện" với một thiết bị. Nếu bạn biết cách "nói" một trong những ngôn ngữ này — và có hàng trăm ngôn ngữ — bạn có thể tạo một chương trình có thể thực hiện các nhiệm vụ. Chúng có thể bao gồm từ rất đơn giản, như một tập lệnh di chuyển một tệp từ nơi này sang nơi khác, đến rất phức tạp, như hiển thị thế giới 3D trong một trò chơi điện tử.

Ngôn ngữ lập trình là lý do chúng ta có thể làm những việc phức tạp với máy tính. Về cốt lõi, các máy tính vẫn đang hoạt động trên hệ nhị phân - hay còn gọi là ngôn ngữ máy - một hệ thống trong đó các số 0 và các số một xác định máy tính làm gì và như thế nào. Bạn có thể coi các ngôn ngữ lập trình như một lớp trên lõi này, vì vậy con người không cần phải chuyển các số 0 thành một và quay lại một lần nữa.

Đây là một điều rất tốt: nếu chúng ta vẫn phải sử dụng nhị phân để lập trình thì sẽ mất nhiều thời gian để tạo ngay cả một tập lệnh đơn giản. Các chương trình tiên tiến có thể sẽ không bao giờ được thực hiện vì việc đưa tất cả các chữ cái và số 0 vào đúng cung điện sẽ mất cả một đội quân. Các ngôn ngữ lập trình, mặc dù khó học và sử dụng, nhưng cốt lõi của chúng là các thiết bị tiết kiệm sức lao động.

2. Trình độ ngôn ngữ

Nói một cách đại khái, ngôn ngữ lập trình được chia thành hai loại: ngôn ngữ cấp thấp và ngôn ngữ cấp cao. Các ngôn ngữ cấp thấp được gọi như vậy vì chúng "gần gũi" với máy, chúng có thể nói chuyện trực tiếp với nó. Điều này bao gồm ngôn ngữ máy và hợp ngữ, là những ngôn ngữ lập trình chỉ bị loại bỏ một chút khỏi hệ nhị phân.

Ngôn ngữ cấp cao hơn ngôn ngữ cấp thấp một bước. Chúng ở xa máy hơn, nhưng con người có thể đọc được. "Có thể đọc được" trong trường hợp này có nghĩa là nếu bạn biết ngôn ngữ được đề cập, bạn có thể xem một vài dòng mã và tìm ra điều gì đang xảy ra. Điều này cũng hoạt động theo cách khác: bạn có thể nhập các lệnh sau đó sẽ được máy thực thi.

3. Bài phát biểu được thông dịch

Điều đó nói rằng, cần lưu ý rằng lập trình không hoàn toàn trực tiếp như vậy. Khi nhập các lệnh bằng ngôn ngữ cấp cao, bạn không nói cho thiết bị biết phải làm gì. Thay vào đó, bạn đang nói chuyện với cái gọi là trình thông dịch, một chương trình là một phần của ngôn ngữ biến một lệnh thành nhị phân. Bạn nói với thông dịch viên những gì bạn muốn, và nó sẽ cho máy tính biết những gì bạn đã nói, nhưng bằng ngôn ngữ máy.

Trình thông dịch thu hẹp khoảng cách giữa bạn và máy và mọi ngôn ngữ đều có một trình thông dịch khác nhau. Các ngôn ngữ hợp ngữ hơi kỳ lạ vì các lệnh của chúng cũng cần được thông dịch, nhưng chúng sử dụng thứ được gọi là trình hợp dịch thay vì trình thông dịch vì các lệnh của chúng liên quan gần hơn đến ngôn ngữ máy "thuần túy" và do đó không cần dịch đầy đủ.

Trình thông dịch là một công nghệ phức tạp: nó cần được nói chuyện theo một cách nhất định để nó thực hiện công việc của mình là nói cho máy tính biết cách di chuyển các số 0 và các số 0 xung quanh. Thay vì nói "ô màu xanh lam ở trên cùng bên phải", chúng ta phải nhập một dòng mã mà trình thông dịch hiểu được, dòng này thay đổi theo ngôn ngữ lập trình. Sau đó, thông dịch viên nhận đầu vào này và cho máy tính biết phải làm gì.

Vì ngôn ngữ tự nhiên quá khó hiểu đối với máy tính và thông dịch viên — điều gì đó có thể thay đổi với cuộc cách mạng không mã — chúng tôi sử dụng ngôn ngữ lập trình, ngôn ngữ mà người phiên dịch và con người có thể hiểu được. Sau đó, trình thông dịch chuyển nó sang ngôn ngữ máy, tạo ra một chuỗi nhỏ.

4. Cách ngôn ngữ lập trình hoạt động

Việc lựa chọn từ "ngôn ngữ" cũng không phải do ngẫu nhiên mà có: giống như ngôn ngữ của con người, các ngôn ngữ lập trình có các quy tắc nội bộ để giữ cho tất cả không đi chệch hướng.

Một ngôn ngữ lập trình sẽ có một cú pháp, một tập hợp các quy tắc liên quan đến thứ tự từ và cách sử dụng từ, giống như trong ngôn ngữ của con người. Ví dụ: bằng tiếng Anh, bạn có thể nói "Gary đã tặng Fred một cuốn sách". Trong câu này, bạn biết chính xác ai đã đưa cái gì và cho ai; thay đổi các từ xung quanh và bạn nhận được một câu khác: "Fred đã tặng Gary một cuốn sách." Điều đó vẫn có lý, nhưng nếu bạn nói "một cuốn sách cho Gary Fred đã tặng" thì chúng ta có vấn đề.

Các ngôn ngữ lập trình cũng không khác gì: các bit phù hợp cần đi vào đúng vị trí cho một câu — thường được gọi là "dòng" —để có ý nghĩa. Nó chỉ là các ngôn ngữ lập trình sử dụng những cách khác nhau để thể hiện bản thân.

Một số thứ giống nhau: ví dụ, nhiều ngôn ngữ lập trình sẽ sử dụng động từ. Trong Python, thường được coi là một trong những ngôn ngữ dễ học nhất, bạn có thể nói nó với printmột dòng văn bản.

Mã nguồn [Chọn]
print("Hello, world")
Trong trường hợp này, từ "Xin chào, thế giới" sẽ bật lên trên màn hình. Đương nhiên, các lệnh có thể phức tạp hơn thế rất nhiều; hầu hết các ngôn ngữ đều có một bộ động từ khổng lồ có thể được sử dụng để thực hiện tất cả các cách hành động.

Tất nhiên, không phải tất cả mọi thứ đều có ý nghĩa ngay trong nháy mắt: hầu hết các đoạn mã bạn sẽ gặp có một lượng lớn ký hiệu và dấu chấm câu mà bạn sẽ không sử dụng trong bài phát biểu hàng ngày. Tuy nhiên, một khi bạn hiểu rõ về chúng, chúng sẽ ít kỳ lạ hơn bạn nghĩ.

Trong ngôn ngữ của con người, chúng ta có thể sử dụng các từ khác nhau để biểu thị những điều khác nhau. Ví dụ, trong tiếng Anh, chúng tôi biểu thị các đối tượng bằng "it" và những người bằng "she" hoặc "he". Nếu bạn thay đổi những điều này, một câu sẽ sụp đổ. Các ngôn ngữ lập trình không khác nhiều: dấu ngoặc và dấu ngoặc đơn chỉ biểu thị các lớp hành động khác nhau. Chuyển đổi chúng xung quanh và câu rơi ra ngoài.

Đương nhiên, những điều này cũng có thể thay đổi giữa các ngôn ngữ: một dấu ngoặc đơn trong Python làm điều gì đó hoàn toàn khác so với chúng trong Lisp, điều này lại khác với C. Cũng giống như trong ngôn ngữ của con người, cách sử dụng và ý nghĩa có thể thay đổi, làm cho một số ngôn ngữ trở nên tốt hơn ở một số thứ nhất định hơn những thứ khác.

5. Bạn nên học ngôn ngữ lập trình nào?

Vì vậy, ngôn ngữ nào là tốt nhất để bắt đầu học? Có rất nhiều điều — và chúng tôi thực sự có ý nghĩa — tranh luận giữa những người hâm mộ các ngôn ngữ khác nhau về những gì mỗi ngôn ngữ có thể làm và không thể làm và điều gì là tốt nhất. Nhưng kết quả là ngôn ngữ nào là tốt nhất thực sự phụ thuộc vào lập trình viên được đề cập. Cũng giống như ngôn ngữ của con người, ý kiến của bạn bị ảnh hưởng bởi cách suy nghĩ của bạn và những gì tự nhiên có ý nghĩa đối với bạn.

Nếu bạn muốn trở thành một trong số ít người có thể "nói chuyện" với máy móc và khiến chúng làm theo ý bạn, bạn có thể xem Python, vốn nổi tiếng là dễ học. Nếu bạn muốn có nhiều thử thách hơn, bạn có thể xem C, đây là nền tảng cho hầu hết các hệ điều hành. Cho dù bạn chọn làm theo cách nào, sẽ rất thú vị khi bắt đầu suy nghĩ như một lập trình viên.