Bài này sẽ giới thiệu về các khái niệm cơ bản trong lập trình như chương trình, lập trình là gì, các ngôn ngữ lập trình. Nắm vững các khái niệm này sẽ là cơ sở để học tốt các môn về lập trình.
1. Khái niệm chương trình (Program)
Một chương trình là một dãy các chỉ thị (instruction) điều khiển sự hoạt động của máy tính nhằm giải quyết một công việc nào đó. Các chỉ thị này được mã hóa dưới dạng dãy các bit 0 hoặc 1. Chúng được lưu vào bộ nhớ giống như các dữ liệu thông thường.
Chương trình cũng là một loại dữ liệu và máy tính đơn giản là đọc và thực thi một cách tuần tự trên những dữ liệu.
2. Lập trình là gì?
Nghệ thuật cài đặt một hoặc nhiều thuật toán trừu tượng có liên quan với nhau bằng một ngôn ngữ lập trình để tạo ra một chương trình máy tính.
3. Ngôn ngữ lập trình
Ngôn ngữ lập trình (programming language) là ngôn ngữ được lập trình viên sử dụng để viết chương trình cho máy tính. Những câu lệnh của mỗi ngôn ngữ lập trình đều có những quy tắc, cú pháp, các luật do ngôn ngữ đó quy định. Giống như tiếng Anh thì có cú pháp, từ vựng của tiếng Anh, tiếng Việt cũng thế.
Chương trình sau khi viết bằng ngôn ngữ lập trình thì ta được mã nguồn (source code). Máy tính không thể chạy mã nguồn này được mà cần được dịch ra mã máy để chạy. Các chương trình dịch sẽ làm việc này:
- Trình hợp dịch (assembler) để dịch các chương trình hợp ngữ
- Trình thông dịch (interpreter) và trình biên dịch (compiler) để dịch các chương trình cấp cao
Lưu ý: Rất nhiều bạn thắc mắc làm thế nào để tạo ra chương trình dịch? Trong thực tế, chúng ta cũng không cần hiểu sâu làm gì trừ khi bạn muốn phát minh ra một ngôn ngữ lập trình. Hãy tin tưởng những trình dịch có sẵn và sử dụng thôi (đừng suy nghĩ nhiều cho nhẹ đầu, còn nhiều thứ khác quan trọng hơn phải học lắm!).
Chi tiết các bước thực thi chương trình:
Có rất nhiều ngôn ngữ lập trình khác nhau, chúng được chia thành hai loại:
– Ngôn ngữ lập trình cấp thấp:
- Đó là hợp ngữ (assembly language).
- Phụ thuộc vào từng dòng máy cụ thể, không tương thích với các máy tính khác.
- Tốc độ thực thi chương trình nhanh.
– Ngôn ngữ lập trình cấp cao
- Có thể là Visual Basic, C/C++, Ruby, Java, PHP, C#,…
- Diễn đạt các ý tưởng lập trình một cách trừu tượng.
- Có tính tương thích cao, chạy được trên các dòng máy tính khác nhau.