- Ngôn ngữ lập trình bậc cao là ngôn ngữ lập trình gần với ngôn ngữ tự nhiên hơn, thuận tiện cho đông đảo người lập trình (không chỉ cho những người lập trình chuyên nghiệp).
- Lập trình là sử dụng cấu trúc dữ liệu và các câu lệnh của ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán, là tạo ra các chương trình giải được các bài toán trên máy tính.
- Chương trình viết bằng ngôn ngữ lập trình bậc cao nói chung không phụ thuộc
vào máy, nghĩa là một chương trình có thể thực hiện trên nhiều loại máy. Chương trình viết bằng ngôn ngữ máy có thể được nạp trực tiếp vào bộ nhớ và thực hiện ngay còn chương trình viết bằng ngôn ngữ lập trình bậc cao phải được chuyển đổi thành chương trình trên ngôn ngữ máy mới có thể thực hiện được.
- Chương trình đặc biệt có chức năng chuyển đổi chương trình được viết bằng
ngôn ngữ lập trình bậc cao thành chương trình thực hiện trên máy tính cụ thể được gọi là chương trình dịch.
- Chương trình dịch nhận đầu vào là chương trình viết bằng ngôn ngừ lập trình bậc cao (chương trình nguồn) và thực hiện chuyến đổi sang ngôn ngữ máy (chương trình đích):
Ngôn ngữ máy là ngôn ngữ duy nhất máy tính điện tử có thể trực tiếp hiểu và thực hiện các câu lệnh.
- Chương trình dịch có 2 loại: thông dịch và biên dịch.
a) Thông dịch (Interpret) được thực hiện bằng cách lặp lại dãy các bước sau:
1. Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn:
2.Chuyển đổi câu lệnh đó thành một hay nhiều câu lệnh tương ứng trong ngôn ngữ máy;
3. Thực hiện các câu lệnh vừa chuyển đổi được.
Như vậy, quá trình dịch và thực hiện các câu lệnh là luân phiên. Các chương trình thông dịch lần lượt dịch và thực hiện từng câu lệnh. Nó thích hợp cho môi trường 'đối thoại giữa người và hệ thống, được ứng dụng cho các ngôn ngữ khai thác hệ quản trị cơ sở dữ liệu, ngôn ngữ đối thoại với hệ điều hành,..
b) Biên dịch (compile) được thực hiện qua hai bước:
1. Duyệt, kiểm tra, phát hiện lỗi, kiểm tra tính đúng đắn của các câu lệnh trong chương trình nguồn;
2. Dịch toàn bộ chương trình nguồn thành một chương trình đích có thể thực hiện trên máy và có thể lưu trữ để sử dụng lại khi cần thiết.
Như vậy, trong thông dịch, không có chương trình đích để lưu trữ, trong biên dịch cả chương trình nguồn và chương trình đích đều có thể lưu trữ lại để sử dụng về sau. Nó được ứng dụng vào việc biên soạn, lưu trữ, tìm kiếm, cho biết các kết qủa trung gian,.. Toàn bộ các dịch vụ trên tạo thành một môi trường làm việc trên một ngôn ngữ lập trình cụ thể. Ví dụ, Turbo Pascal 7.0, Free Pascal 1.2, Visual Pascal 2.1.... trên ngôn ngữ Pascal, Turbo C++, Visual C++,...