Máy tính hoạt động được là nhờ các lệnh mà đã được mã hóa ở trong
nó. Lệnh chính là một chỉ thị cho máy tính để theo đó máy tính có thể thực hiện một cách tự động.
Chương trình là một tập hợp các lệnh để thể hiện một thuật toán giải
quyết một bài toán hay một nhiệm vụ nào đó. Hay nói cách khác, chương trình cũng là một cách để thể hiện thuật tốn thơng qua tập hợp các lệnh tương ứng.
Ngôn ngữ lập trình là ngơn ngữ để viết chương trình. Có nhiều loại
ngơn ngữ lập trình khác nhau mà sự liên quan của chúng phụ thuộc vào kiến trúc và hoạt động của máy tính. Có thể phân chia chúng thành các mức:
Ngôn ngữ máy: Là ngôn ngữ chương trình được viết ở dưới dạng nhị
phân hoặc ở dạng hexa, mà máy tính có thể hiểu được một cách trực tiếp và thực hiện được. Tuy nhiên, nó khơng thuận lợi cho con người trong việc
hiểu và viết chương trình.
Hợp ngữ: Là ngơn ngữ cấp thấp mà con người có thể sử dụng được để
viết chương trình. Điểm khơng thuận lợi của ngơn ngữ này là chúng phụ thuộc chặt chẽ vào kiến trúc của máy tính. Ví dụ như Assembly.
Ngơn ngữ lập trình bậc cao: Là ngơn ngữ mà câu lệnh của nó gần gũi
với ngơn ngữ tự nhiên. Chúng có tính độc lập, nghĩa là không phụ thuộc vào một loại máy cụ thể nào.
Lưu ý, ngơn ngữ lập trình phải bao gồm các yếu tố sau đây: Tập các ký tự; Tập hợp từ vựng; Tập hợp các quy tắc ngữ pháp và quy tắc viết các lệnh.
Đối với hợp ngữ và ngơn ngữ lập trình bậc cao thì chúng cần có một
chương trình dịch tương ứng để dịch các ngôn ngữ này sang ngôn ngữ máy. Chương trình dịch cho hợp ngữ gọi là hợp dịch (dịch từ ngôn ngữ cấp thấp ra ngôn ngữ máy). Để dịch ngơn ngữ lập trình bậc cao sang ngơn ngữ máy gồm có trình biên dịch (dịch từ ngôn ngữ bậc cao sang ngôn ngữ cấp thấp)
và hợp dịch (dịch tiếp ra ngơn ngữ máy). Đã có hàng ngàn ngơn ngữ thuật toán ra đời và hai lĩnh vực được ứng dụng nhiều đó là lĩnh vực khoa học kỹ thuật và lĩnh vực quản lý. Trong các bài toán khoa học kỹ thuật dữ liệu đưa vào đơn giản nhưng quá trình xử lý phức tạp. Ngược lại, các bài toán quản lý dữ liệu đưa vào phức tạp nhưng quá trình xử lý lại đơn giản. Ví dụ, trong lĩnh vực khoa học kỹ thuật có các ngơn ngữ lập trình bậc cao như BASIC, FORTRAN, ALGOL, PASCAL, C, C++...; trong lĩnh vực khoa học quản lý kinh tế đã có các ngơn ngữ lập trình bậc cao như COBOL, PL1, DBASE,
FOXBASE, FOXPRO...