Ngôn ngữ lập trình (programming language) là gì?
Các máy tính không hiểu được văn bản, hay ngôn ngữ tự nhiên của con người mà chỉ hiểu một thứ: Ngôn ngữ máy (machine language hay machine code) gồm mã nhị phân 1 và 0.
"Không biết lập trình phí nửa cuộc đời."
- Ngạn ngữ nhân loại mới -
Khi bạn lập trình bằng
ngôn ngữ Ruby chẳng hạn, thì đó chỉ là văn bản (text) và sẽ không chạy được. Để chạy được thì bạn phải dùng chương trình biên dịch (gọi là compiler) để dịch ra ngôn ngữ máy (dạng nhị phân) mà máy tính hiểu được, tham khảo sơ đồ dưới đây.
Để hiểu chính xác thì bạn sẽ phải học môn học gọi là Kiến trúc máy tính (Computer architecture).
Ví dụ khi bạn lập trình bằng ngôn ngữ Ruby và lưu thành myprogram.rb chẳng hạn thì đây chỉ là file văn bản. Bạn cần dùng Compiler (tích hợp trong phần mềm Ruby mà bạn tải và cài) để biên dịch thành file nhị phân có thể chạy được (thường là file EXE ví dụ myprogram.exe).
Ngôn ngữ lập trình cũng tiến hóa theo thời gian và ngày càng gần ngôn ngữ tự nhiên của con người hơn. Càng giống ngôn ngữ tự nhiên thì học lập trình càng dễ nhưng lại càng xa rời bản chất thật sự của máy tính.
Ngôn ngữ Asembly
Đây là ngôn ngữ gần ngôn ngữ máy nhất và đòi hỏi bạn phải hiểu rõ cấu trúc máy tính. Bạn có thể thao tác trực tiếp trên bộ nhớ.
Ví dụ lập trình ngôn ngữ Asembly sẽ như thế này:
MOV AL, 1h ; Load AL with immediate value 1
MOV CL, 2h ; Load CL with immediate value 2
MOV DL, 3h ; Load DL with immediate value 3
MOV EAX, [EBX] ; Move the 4 bytes in memory at the address contained in EBX into EAX
MOV [ESI+EAX], CL ; Move the contents of CL into the byte at address ESI+EAX
Vì thế, ngôn ngữ này chỉ rành cho chuyên gia cực kỳ am hiểu cấu trúc máy tính và rất khó học.
Ngôn ngữ BASIC