Nhiều người có suy nghĩ rằng Java và JavaScript có tên gần như nhau, có thể có nhiều điểm tương đồng hoặc JavaScript là một thư viện của Java. Tuy nhiên, trong thực tế, Java và JavaScript là các ngôn ngữ lập trình chủ yếu được sử dụng cho các mục đích khác nhau và  có một sự khác biệt lớn giữa Java và JavaScript. .. Bài viết sau đây sẽ chia sẻ sự khác biệt giữa java và java script

Java là gì ?

Java là ngôn ngữ lập trình hướng đối tượng có mục đích chung được thiết kế với mục đích tạo ra một mã trong đó cùng một mã có thể được sử dụng ở bất cứ đâu. James Gosling của Sun microsystems đã hướng dẫn sự phát triển của Java vào cuối những năm 1990. Ngôn ngữ lập trình này là dựa trên lớp, hướng đối tượng và con người có thể đọc được. Java được biên dịch cũng như diễn giải. Trình biên dịch Java chuyển đổi mã nguồn thành mã byte, sau đó trình thông dịch java tạo mã máy được thực thi thẳng bởi máy đang chạy chương trình java. Nó là đáng tin cậy, phân phối, di động. Nó có thể được sử dụng để phát triển các ứng dụng độc lập hoặc ứng dụng dựa trên web.

JavaScript là gì?

JavaScript là ngôn ngữ văn bản nhẹ nhàng, dễ học mà các nhà phát triển có thể chèn vào các trang HTML và CSS để thêm tính tương tác, hình động và xác thực mẫu cho các trang web. Khi Flash ngừng hoạt động, JavaScript đã chiếm lĩnh vì nó mạnh mẽ, linh hoạt và có thể tái sử dụng. JavaScript chủ yếu là một ứng dụng phía máy khách, nghĩa là nó chạy ngay trong trình duyệt web mà không phải lấy bất kỳ mã nào từ máy chủ từ xa. Tuy nhiên, việc phát minh ra Node.js đã mở ra các tùy chọn cho các ứng dụng phía máy chủ. Các nhà phát triển JavaScript chia sẻ các đoạn mã, thư viện, lớp và khung tùy chỉnh để cho phép bạn mã hóa các ứng dụng phức tạp một cách nhanh chóng.

Sự khác biệt chính giữa Java và JavaScript

  • Về cơ chế: Java run bởi cơ chế biên dịch (compile), JavaScript (JS) run bởi cơ chế thông dịch (interpreted). Cụ thể là để run một chương trình Java, ta phải build các file java thành file class (byte code), khi method có thay đổi, ta cần build lại file. Đối với JS, viết rồi run thôi chứ không cần phải build.
  • Thiết kế: Java là OOP (ngôn ngữ hướng đối tượng), mọi thứ đều là đối tượng (object), để sử dụng một variable hoặc method của Java, trước hết phải tạo class, sau đó truy cập variable, method đó thông qua object được tạo từ class đó.
  • Còn đối với JS, chủ yếu là support functional programming language (tạm dịch là ngôn ngữ lập trình chức năng – mà thấy nó chuối chuối thế nào ấy -.-) ta chỉ việc define variable, mehthod và gọi. Lưu ý là đến phiên bản Java 8, Java đã support functional programming

  • Run và debug: Để execute Java ta cần Java compiler và ta phải cần IDE như Eclipse, Netbeans, Intelij… để debug Java code. Trong HTML, JS được execute bởi web browser, ta có thể debug JS trực tiếp trên browser bằng cách mở chế độ deverloper tool, xem log JS trên browser ở chế độ console của browser.
  • Variable: dữ liệu Java là static type, JS là dynamic type. Cụ thể là trong Java, để định nghĩa một variable, ta phải định nghĩa cụ thể kiểu dữ liệu cho variable đó:
    • Ví dụ: int a = 50; boolean a = true;

        Đối với JS thì ta có thể dùng kiểu var để định nghĩa chung cho tất cả các kiểu dữ liệu. Khi ta gán giá trị cho variable thì mặc định chương trình sẽ gán kiểu dữ liệu cho variable đó.

    • Ví dụ: var a = 50; // sử dụng a như int;     var a = true; //sử dụng a boolean…
  • Method
    • Định nghĩa method trong Java: access modifier returntype methodname(params)
    • Định nghĩa method trong JS: function methodname(params)
  • Object
    • Tạo object trong Java ta cần class và contructor
    • Tạo object trong JS ta có thể tạo trực tiếp mà không cần định nghĩa cụ thể kiểu dữ liệu cho từng thuộc tính như sau:
      • var person = {firstName:“Dung”, lastName:“Chau”}
    • Trong Java ta truy cập property của object thông qua phương thức get(), set()… Đối với JS thì mặc định các property là public và ta có thể truy cập trực tiếp bằng cú pháp person.firstName hoặc person[“firstName”].
  • Compare: trong Java ta sử dụng = = để so sánh dữ liệu theo value, và phương thức equal() để so sánh dữ liệu theo reference. Trong JS, = = dùng để so sánh dữ liệu theo value data type.

Nên sử dụng ngôn ngữ nào ?

Sử dụng Java hoặc JavaScript phụ thuộc vào một số yếu tố và nó có thể tùy thuộc vào sở thích cá nhân. Nếu ứng dụng của bạn sẽ chạy trên máy tính để bàn hoặc thiết bị di động hoặc dựa trên web, thì Java có ý nghĩa nhất. Nếu bạn đang tìm cách thêm tương tác động vào một trang web bằng jQuery để có kết quả tìm kiếm ngay lập tức, thì JavaScript là một lựa chọn tốt hơn.

Nguồn sưu tầm