JavaScript không phải là Java - Nó an toàn hơn nhiều và hữu ích hơn nhiều
Có lẽ bạn đã nghe tất cả về cách trình cắm trình duyệt Java không an toàn. 91% các thỏa hiệp hệ thống trong năm 2013 đã chống lại trình cắm Java không an toàn đó. Nhưng Java không giống với JavaScript - thực tế, chúng không thực sự liên quan.
Hầu hết độc giả của chúng tôi có thể hiểu sự khác biệt, nhưng không phải ai cũng biết điều đó. Bất kỳ sự nhầm lẫn nào cũng không phải là ngẫu nhiên - JavaScript ban đầu được đặt tên là JavaScript chỉ để liên kết nó với Java trong tâm trí của mọi người.
Khái niệm cơ bản về Java
Java là ngôn ngữ lập trình phổ biến được sử dụng cho mọi thứ, từ phần mềm máy chủ đến ứng dụng máy tính để bàn và thậm chí cả ứng dụng Android. Bạn có thể đã nghe nói về Minecraft, được viết bằng Java. Chạy một ứng dụng Java yêu cầu thời gian chạy Java của Oracle trên máy tính của bạn. Nó trước đây được phát triển bởi Sun, nhưng Oracle đã mua Sun - vì vậy giờ là Oracle Java thay vì Sun Java.
Nhưng Java không chỉ được sử dụng cho các ứng dụng truyền thống. Quay trở lại những năm 90, Sun đã phát triển một trình cắm trình duyệt cho phép bạn chạy các chương trình Java - hay còn gọi là applet Java Java - bên trong các trình duyệt web. Trình cắm Java không còn được sử dụng rộng rãi nữa và nó là nguồn gốc của các vấn đề bảo mật vô tận. Bạn không muốn chạy các applet Java trong trình duyệt của mình nếu có thể. Trình cắm Java - và nội dung Java trong trình duyệt web - đã được chứng minh là không an toàn và xấu.
Chỉ có một trình cắm Java và nó được tạo bởi Oracle và được đóng gói cùng với thời gian chạy Java. Nếu có vấn đề với nó, bạn phải đợi Oracle sửa nó. Không có cạnh tranh để cải thiện nó.
Khái niệm cơ bản về JavaScript
JavaScript là ngôn ngữ lập trình được sử dụng bởi các trang web. HTML là ngôn ngữ bố cục xác định cách đặt trang web và JavaScript là ngôn ngữ cho phép các trang web năng động hơn. JavaScript là thứ cho phép các ứng dụng web như Gmail hoạt động và JavaScript được sử dụng thực tế bởi mọi trang web tại thời điểm này.
JavaScript ban đầu được thiết kế để trở thành một ngôn ngữ kịch bản nhẹ để chạy trong trình duyệt web. Đây không phải là một trình cắm trình duyệt riêng biệt đến từ một công ty - mỗi trình duyệt bao gồm công cụ JavaScript khác nhau. Các trình duyệt thực sự chạy mã JavaScript mà không cần dựa vào trình cắm của bên thứ ba. Đã có nhiều sự cạnh tranh giữa các nhà cung cấp trình duyệt để làm cho JavaScript nhanh hơn và tốt hơn.
Tại sao lại gọi là JavaScript?
JavaScript thực sự không liên quan gì đến Java; nó không chỉ là một tập hợp con đơn giản hóa của Java. JavaScript được phát triển dưới tên gọi là Mocha, và được đặt tên là Live LiveScript, khi nó xuất hiện trong phiên bản beta của trình duyệt web Netscape Navigator vào năm 1995.
Năm 1995, Netscape tuyên bố ngôn ngữ sẽ được đặt tên là JavaScript JavaScript, trong một thông báo chung với Sun. Điều này xảy ra vào khoảng thời gian Netscape thêm hỗ trợ cho các applet Java của Sun. Chúng ta có thể nhìn lại thông báo ngày hôm nay:
Ngôn ngữ JavaScript bổ sung cho Java, ngôn ngữ lập trình đa nền tảng, hướng đối tượng hàng đầu của Sun
JavaScript là một ngôn ngữ kịch bản đối tượng dễ sử dụng được thiết kế để tạo các ứng dụng trực tuyến liên kết với nhau các đối tượng và tài nguyên trên cả máy khách và máy chủ. Trong khi Java được các lập trình viên sử dụng để tạo các đối tượng và tiểu dụng mới, JavaScript được thiết kế để sử dụng bởi các tác giả trang HTML và nhà phát triển ứng dụng doanh nghiệp để kịch bản hóa hành vi của các đối tượng chạy trên máy khách hoặc máy chủ.
Thông báo cứ lặp đi lặp lại như thế này, nói về cả Java và JavaScript. Đây thường được coi là một nỗ lực của Sun và Netscape để liên kết ngôn ngữ mới - JavaScript - với ngôn ngữ Java phổ biến vào thời điểm đó. Cái tên khiến mọi người hơi bối rối và khiến họ liên kết ngôn ngữ mới với Java, khiến JavaScript có sự tôn trọng ngay lập tức. Nếu nó được gọi là JavaScript và được Sun công bố trong một thông báo nói về Java rất nhiều, chắc chắn nó có liên quan đến Java - phải không? Không.
Vào năm 1998, Brendan Eich, người đã phát minh ra JavaScript, đã tuyên bố trong một cuộc phỏng vấn rằng JavaScript có ý định giống như Java, nhưng là một ngôn ngữ kịch bản, dùng để sử dụng nhẹ. Nó có thể trông hơi giống Java, nhưng nó rất khác.
JavaScript là bắt buộc thực tế cho Web hiện đại
Chúng tôi đã chuyển khỏi nội dung Java trong trình duyệt trong những năm qua. Mặc dù Java vẫn được sử dụng rộng rãi, nhưng nó trở thành một cái tên bẩn thỉu khi được liên kết với các trình duyệt web. Java cũng đã trở thành một phần mềm ngày càng không thích của phần mềm tiêu dùng được biết đến với việc đóng gói phần mềm rác với các bản cập nhật bảo mật.
Trường hợp tên Java ban đầu được dự định để thêm độ tin cậy vào JavaScript, hiệp hội Java hiện đang làm mờ tên của nó. Thật dễ dàng để JavaScript xuất hiện khi bạn thấy các tiêu đề ngày tận thế về các lỗ hổng của trình cắm thêm Java. Đó là toàn bộ quan điểm của cái tên - làm cho chúng có vẻ liên quan.
Một số người không thể vô hiệu hóa JavaScript trong trình duyệt web của họ bằng các tiện ích bổ sung như NoScript. Nhưng JavaScript không an toàn như Java có trong trình duyệt. Có, thỉnh thoảng có một lỗ hổng bảo mật trong trình duyệt web có thể bị khai thác thông qua JavaScript, nhưng lỗ hổng đã được vá và chúng tôi tiếp tục. Điều này không phải là duy nhất đối với JavaScript - có thể có một lỗ hổng bảo mật trong trình duyệt web có thể bị khai thác thông qua HTML, CSS hoặc các công nghệ khác. Không có cách nào để bảo vệ bản thân hoàn toàn trước các lỗ hổng trình duyệt có thể xảy ra trong tương lai. Chỉ cần cập nhật trình duyệt và trình cắm của nó.
JavaScript cung cấp năng lượng cho web hiện đại, cho dù bạn đang sử dụng trình duyệt trên máy tính hoặc điện thoại thông minh. Vô hiệu hóa nó sẽ làm cho nhiều trang web không thể sử dụng được.
Mặt khác, trình cắm Java trình duyệt được sử dụng trên rất, rất ít trang web. Nếu bạn tắt trình cắm trình duyệt Java, web sẽ tiếp tục hoạt động bình thường. Có lẽ bạn sẽ không bao giờ nhận thấy bạn không có nó.
Tín dụng hình ảnh: nyuhuhuu trên Flickr, Marcin Doesary trên Flickr