Trình biên dịch là gì?  - 1

"Xin chào, Amigo. Tên tôi là Giáo sư Hans Noodles. Tôi là người đứng đầu Hội đồng Khoa học tại Galactic Rush. Tôi cũng giám sát những nỗ lực của chúng tôi trong việc dạy lập trình Java cho bạn."

"Xin chào, Giáo sư Mì."

"Tôi muốn giải thích cho bạn tại sao Java là một ngôn ngữ lập trình rất thú vị. "

"Bạn sẽ nhiều lần nghe nói rằng lợi thế chưa từng có của Java là tính độc lập với nền tảng của nó . Bạn hỏi nó là gì và dùng để làm gì? Hãy để tôi nói một cách đường vòng."

"Máy tính chỉ có thể thực hiện các lệnh số đơn giản nhất. Khi huấn luyện chó, chúng tôi sử dụng các lệnh như 'Gót', 'Lắc', v.v. để khiến chó làm điều gì đó mà chúng tôi muốn nó làm."

"Đối với máy tính, các con số đóng vai trò của các lệnh như vậy. Mỗi lệnh được biểu thị bằng một số hoặc mã nhất định (đôi khi được gọi là mã máy)."

"Nhưng thực sự rất khó để viết một chương trình chỉ sử dụng các con số, vì vậy người ta đã phát minh ra ngôn ngữ lập trìnhtrình biên dịch . Ngôn ngữ lập trình có thể được hiểu bởi cả con người và trình biên dịch. Trình biên dịch là một chương trình đặc biệt giúp chuyển đổi chương trình được viết bằng ngôn ngữ lập trình thành ngôn ngữ lập trình loạt mã máy."

"Một lập trình viên thường viết chương trình bằng ngôn ngữ lập trình và sau đó chạy trình biên dịch, trình biên dịch này biến các tệp mã chương trình do lập trình viên viết thành một tệp duy nhất có mã máy - chương trình (được biên dịch) cuối cùng."

  • Chương trình trong C++
  • Trình biên dịch
  • Mã máy

"Chương trình kết quả có thể được máy tính thực thi ngay lập tức. Tin xấu là mã của chương trình cuối cùng phụ thuộc rất nhiều vào bộ xử lý và hệ điều hành. Điều này có nghĩa là một chương trình được biên dịch cho Windows sẽ không hoạt động trên điện thoại thông minh Android."

"Vì vậy, nếu tôi viết một chương trình và biên dịch nó cho Android, nó sẽ không hoạt động trên Windows?"

"Chính xác."

"Tôi hiểu rồi."

"Tuy nhiên, Java sử dụng một cách tiếp cận sáng tạo hơn nhiều."

  • Chương trình trong Java
  • trình biên dịch Java
  • Mã độc lập với nền tảng đặc biệt (mã byte)
  • JVM
  • Mã máy

"Trình biên dịch Java không biên dịch tất cả các lớp thành một chương trình mã máy. Thay vào đó, nó biên dịch mọi lớp một cách độc lập và hơn nữa, không phải thành mã máy mà thành một mã trung gian đặc biệt (mã byte). Mã byte được biên dịch thành mã máy khi chương trình được bắt đầu."

"Vậy, ai biên dịch chương trình thành mã máy khi nó đang được thực thi?"

"Có một chương trình đặc biệt được gọi là máy ảo Java (JVM). Nó phải được khởi động trước khi bạn cần chạy một chương trình mã byte. JVM sẽ biên dịch mã byte thành mã máy trước khi chương trình được thực thi."

"Thú vị. Tại sao điều đó lại cần thiết?"

"Đó là một cách tiếp cận rất hiệu quả và là một trong những lý do khiến Java hoàn toàn thống trị."

"Cách tiếp cận này cho phép các chương trình viết bằng Java chạy trên hầu hết mọi thiết bị: máy tính, điện thoại thông minh, máy ATM, lò nướng bánh hoặc thậm chí cả thẻ tín dụng!"

"Mát mẻ!"

"Cách tiếp cận này có nhiều ưu điểm. Đó là lý do tại sao tất cả các chương trình Android cũng được viết bằng Java. Nhờ sự phát triển nhanh chóng của ngành công nghiệp điện thoại di động, Java thống trị các lĩnh vực lập trình sau:

1)doanh nghiệp: các ứng dụng hướng máy chủ hạng nặng dành cho ngân hàng, tập đoàn, quỹ đầu tư, v.v.

2)di động: phát triển di động (điện thoại thông minh, máy tính bảng), nhờ Android.

3)mạng: PHP đang dẫn đầu, nhưng Java đã chiếm được thị phần vững chắc trên thị trường.

4)Dữ liệu lớn: tính toán phân tán theo cụm bao gồm hàng nghìn máy chủ.

5)thiết bị thông minh: chương trình cho nhà thông minh, thiết bị điện tử, tủ lạnh IoT, v.v."

"Java không chỉ là một ngôn ngữ, mà còn là một loại hệ sinh thái: hàng triệu mô-đun được tạo sẵn mà bạn có thể sử dụng trong chương trình của mình; hàng nghìn cộng đồng trực tuyến và bảng tin nơi bạn có thể nhận trợ giúp hoặc lời khuyên."

"Bạn càng viết nhiều chương trình bằng Java, bạn sẽ càng tìm thấy nhiều câu trả lời cho câu hỏi 'Tại sao lại là Java?'. Đó là tất cả cho ngày hôm nay."

"Cảm ơn, Giáo sư. Điều này thực sự thú vị và đầy cảm hứng."