Chúng ta đã hiểu rằng lập trình, hay code thật ra là công việc "dạy" và "ra lệnh" cho máy tính làm những công việc cụ thể.
Vì máy tính đơn giản là ...cái máy, nên nó sẽ không hiểu ngôn ngữ thông thường dù là tiếng Việt hay tiếng Anh. Nó chỉ hiểu ngôn ngữ máy, đại khái là nó chỉ hiểu hai số 1 hoặc 0 mà thôi. Việc viết ra hàng triệu những con số 1 hoặc 0 cần đơn giản hơn bằng cách tạo ra ngôn ngữ lập trình. Cũng như ngôn ngữ thông thường, mỗi ngôn ngữ lập trình có "văn phạm", "ngữ pháp" riêng. Việc của chúng ta là dùng một ngôn ngữ lập trình nào đó "dạy" và "ra lệnh" cho máy tính làm những công việc cụ thể, sau đó dùng một công cụ biên dịch ra ngôn ngữ máy và "truyền đạt" lại cho máy tính.Trong cuộc sống hàng ngày, chúng ta cần những người phiên dịch khác nhau khi cần tiếp xúc với những ngôn ngữ khác nhau, ví dụ khi qua Nhật Bản du lịch, ta sẽ cần một phiên dịch tiếng Nhật, nhưng khi qua Trung Quốc, ta lại cần một người phiên dịch tiếng Trung Quốc.
Khi chúng ta sử dụng ngôn ngữ Python để lập trình, chúng ta cần một phiên dịch "tiếng Python", khi sử dụng C để lập trình, chúng ta lại cần "phiên dịch viên tiếng C" để hỗ trợ...
Mỗi ngôn ngữ lập trình có cú pháp, câu lệnh khác nhau...Sẽ thuận tiện hơn nếu trong quá trình "dạy dỗ, ra lệnh" cho máy tính có một cơ chế nhắc về cú pháp, câu lệnh. Nó tương tự như khi bạn soạn tin nhắn cho bạn bè, ví dụ bạn muốn nhắn "Ngày mai gặp nhau" thì ngay khi bạn mới nhập chữ "Ng" thì điện thoại sẽ nhắc bạn một số từ như "Ngày", "Ngay", "Ngáy".....
Ngoài việc "nhắc tuồng" thì cũng cần...nhắc lỗi, kiểu như nếu đang học tiếng Anh, gặp ai đó chào "Hello, bad morning" thì sẽ có người nhắc lỗi "sai rồi, không phải là bad morning..."
Gộp cả cơ chế hỗ trợ cú pháp, câu lệnh, nhắc lỗi và công cụ biên dịch ta có cái gọi là IDE.
Trước khi định nghĩa chính thức IDE là gì ta cần biết rằng ở đây có hai khái niêm là trình biên dịch (Compiler), trình thông dịch (Interpreter). Khi chú tâm vào hai chữ "Biên", "Phiên" chúng ta sẽ rất dễ lẫn lộn, cho nên chúng ta sẽ dùng nguyên bản là Compiler và Interpreter cho dễ.
Phân biệt Compiler và Interpreter sẽ tương tự như trong cuộc sống hàng ngày: Ví dụ, trong một cuộc họp của Liên Hợp Quốc, trên bục một người nào đó phát biểu thì bên dưới mỗi người đại diện của các quốc gia khác nhau sẽ được dịch ngay lập tức, toàn bộ bài phát biểu, thông qua tai nghe, đó tương tự như Compile. Mặt khác, nếu bạn đi du lịch Hàn Quốc, bạn có một người phiên dịch, thông thường bạn và người đối thoại sẽ nói một câu, đợi người phiên dịch dịch câu nói đó, người kia trả lời, người phiên dịch lại dịch lại...đại khái việc dịch sẽ không xuyên suốt mà dịch từng câu ngắn, và đó tương tự như Interprete.
Đại khái có thể tóm tắt sự khác nhau giữa Compiler và Interpreter:
- Interpreter chuyển đổi một đoạn mã lệnh, thực thi nó sau đó mới lặp lại quá trình với đoạn mã lệnh tiếp theo. Trong khi đó, Compiler chuyển đổi toàn bộ mã lệnh một lần, sau đó mới thực thi, nói cách khác kết quả của Compiler chính là một file có phần mở rộng là EXE.
- Compiler khởi tạo báo cáo lỗi sau khi chuyển đổi toàn bộ mã lệnh trong khi Interpreter sẽ dừng thông dịch nếu phát hiện ra lỗi.
- Trong cùng một tiến trình, Compiler sẽ mất một lượng thời gian khi phân tích và xử lý ngôn ngữ bậc cao lớn hơn so với Interpreter.
- Thời gian phân tích và xử lý một đoạn mã lệnh được thực thi tổng thể của compiler thì nhanh hơn so với interpreter (tương đối).
Tới đây ta đã có thể có một định nghĩa về IDE.
IDE (Integrated Development Environment) là môi trường tích hợp dùng để viết code để phát triển ứng dụng. IDE tích hợp các công cụ hỗ trợ Compiler, Interpreter, kiểm tra lỗi (Debugger).
Các môi trường IDE căn bản thường bao gồm:
- Một trình soạn thảo mã nguồn (source code editor): dùng để viết mã.
- Trình biên dịch (compiler) hoặc trình thông dịch (interpreter).
- Trình gỡ lỗi (debugger): hỗ trợ dò tìm lỗi.
Giống như ngoài đời thật, một người có thể chỉ dịch một ngôn ngữ, nhưng cũng có thể dịch đa ngôn ngữ. Phân theo số lượng các ngôn ngữ được hỗ trợ, ta có thể chia các IDE thành hai loại:
- Môi trường phát triển hợp nhất một ngôn ngữ: làm việc với một ngôn ngữ cụ thể, ví dụ: Microsoft Visual Basic 6.0 IDE.
- Môi trường phát triển hợp nhất nhiều ngôn ngữ: có thể làm việc với nhiều ngôn ngữ lập trình, ví dụ: Eclipse IDE, NetBeans, Microsoft Visual Studio.
Cũng cần nói thêm là IDE giúp cho bạn dễ dàng và thuận tiện hơn trong việc phát triển ứng dụng mặc dù không cần IDE bạn vẫn có thể viết code hay mã nguồn được, vì thực chất để mã nguồn của một ngôn ngữ lập trình nào đó chạy được, ta chỉ cần công cụ biên dịch là được.
Ví dụ bạn có thể lập trình C bằng Notepad của Windows, sau đó lưu nó lại thành một file .cpp và biên dịch file đó là xong.
Tới đây chúng ta đã tạm hiểu lập trình là gì? Lập trình tức là sử dụng một ngôn ngữ lập trình nào đó, ví dụ C, Python, Java, để dạy hay chỉ thị cho máy tính làm gì đó, toàn bộ lời dạy hay chỉ thỉ đó gọi là mã nguồn. Để máy tính hiểu lời chỉ dạy, mã nguồn cần được dịch ra mã máy dưới hình thức nhị phân 1-0. Để thuận tiện cho việc lập trình, chúng ta có IDE, một công cụ để viết code, dò lỗi và biên dịch.
Không có nhận xét nào:
Đăng nhận xét