Ba mươi năm sau, JavaScript vẫn là chất keo kết dính toàn bộ mạng internet tương tác, bất chấp mọi khuyết điểm.
→ Một trong những logo ban đầu của trình duyệt web Netscape với hình ảnh sao chổi động.
Cách đây 30 năm, Netscape Communications và Sun Microsystems đã cùng nhau phát hành một thông cáo báo chí công bố JavaScript, một ngôn ngữ lập trình hướng đối tượng được thiết kế để tạo ra các ứng dụng web tương tác. Ngôn ngữ này ra đời từ một cuộc chạy đua nước rút kéo dài 10 ngày tại công ty tiên phong về trình duyệt Netscape, nơi kỹ sư Brendan Eich đã tạo ra một nguyên mẫu nội bộ hoạt động được trong tháng 5 năm 1995.
Mặc dù ngôn ngữ JavaScript không được phát hành rộng rãi cho đến tháng 9 năm đó và không đạt phiên bản 1.0 cho đến tháng 3 năm 1996, nhưng hậu duệ của dự án hackathon 10 ngày ban đầu của Eich hiện đang chạy trên khoảng 98,9% tất cả các trang web có mã phía máy khách, biến JavaScript trở thành ngôn ngữ lập trình thống trị của web. Nó cực kỳ phổ biến; ngoài trình duyệt, JavaScript còn cung cấp sức mạnh cho các máy chủ backend, ứng dụng di động, phần mềm máy tính để bàn và thậm chí cả một số hệ thống nhúng. Theo một số cuộc khảo sát, JavaScript luôn nằm trong số các ngôn ngữ lập trình được sử dụng rộng rãi nhất trên thế giới.
Khi phát triển JavaScript, Netscape muốn một ngôn ngữ kịch bản có thể làm cho các trang web trở nên tương tác, một ngôn ngữ nhẹ nhàng, hấp dẫn đối với các nhà thiết kế web và những người lập trình không chuyên. Eich đã tham khảo nhiều nguồn cảm hứng: Cú pháp trông giống như một ngôn ngữ lập trình mới thịnh hành có tên là Java để đáp ứng yêu cầu của ban quản lý Netscape, nhưng cốt lõi của nó lại vay mượn các khái niệm từ Scheme , một ngôn ngữ mà Eich ngưỡng mộ, và Self , ngôn ngữ đã đóng góp mô hình đối tượng dựa trên nguyên mẫu của JavaScript.
→ Ảnh chụp màn hình giao diện Netscape Navigator 2.0.
Sự hợp tác giữa JavaScript và các công ty khác đã nhận được sự ủng hộ từ 28 công ty công nghệ lớn, nhưng điều thú vị là, thông báo hồi tháng 12 năm 1995 giờ đây lại giống như một lời cáo phó cho ngành công nghệ. Các công ty ủng hộ bao gồm Digital Equipment Corporation (đã bị Compaq mua lại, sau đó là HP), Silicon Graphics (phá sản) và chính Netscape (được AOL mua lại, rồi bị giải thể). Sun Microsystems, đồng sáng tạo ra JavaScript và chủ sở hữu của Java, đã được Oracle mua lại vào năm 2010. JavaScript đã tồn tại lâu hơn tất cả.
Tên gọi có ý nghĩa gì?
Câu chuyện về quá trình tạo ra JavaScript trong 10 ngày đã trở thành giai thoại trong giới lập trình, nhưng ngay cả với phần sự thật cốt lõi mà chúng ta đã đề cập, nó vẫn có xu hướng đơn giản hóa quá trình này. Quá trình phát triển nhanh chóng của Eich đã tạo ra một bản demo hoạt động được, chứ không phải một ngôn ngữ hoàn chỉnh, và trong năm tiếp theo, Netscape tiếp tục tinh chỉnh thiết kế. Việc phát triển vội vã đã khiến JavaScript có những điểm kỳ quặc và không nhất quán mà các nhà phát triển vẫn phàn nàn cho đến ngày nay. Trên thực tế, có quá nhiều thay đổi đến nỗi nó bắt đầu làm phiền một trong những nhân vật nổi bật nhất của ngành công nghiệp vào thời điểm đó.
“Bill Gates liên tục phàn nàn về việc chúng tôi thay đổi JavaScript,” Eich sau này nhớ lại về mùa thu năm 1996. Microsoft đã tạo ra phiên bản riêng của mình có tên JScript cho Internet Explorer, dẫn đến nhiều năm không tương thích trình duyệt, gây khó khăn cho các nhà phát triển web.
Trước khi chính thức chọn tên “JavaScript”, ngôn ngữ này đã trải qua nhiều tên gọi khác nhau. Ban đầu, Eich gọi nguyên mẫu của mình là “Mocha”, sau đó Netscape đổi tên thành LiveScript cho phiên bản beta phát hành tháng 9 năm 1995 của Netscape 2.0 . Tên JavaScript chính thức được sử dụng vào tháng 12 khi Netscape và Sun hoàn tất thỏa thuận hợp tác. “Tất cả diễn ra trong vòng sáu tháng, từ tháng 5 đến tháng 12 (1995), lúc thì là Mocha, lúc thì là LiveScript”, Eich giải thích trong một cuộc phỏng vấn với InfoWorld năm 2008. “Và sau đó vào đầu tháng 12, Netscape và Sun đã ký kết thỏa thuận cấp phép và nó trở thành JavaScript.”
Cái tên đó đã gây nhầm lẫn trong suốt ba thập kỷ. Đó là một quyết định tiếp thị nhằm tận dụng sự chú ý dành cho Java vào thời điểm đó. Thông cáo báo chí năm 1995 đã nhấn mạnh JavaScript là ngôn ngữ bổ trợ cho Java, trong đó JavaScript xử lý các tác vụ nhỏ phía máy khách còn Java cung cấp sức mạnh cho các ứng dụng doanh nghiệp lớn hơn. Bill Joy , đồng sáng lập và phó chủ tịch nghiên cứu của Sun, đã nói vào thời điểm đó: “JavaScript sẽ là phương pháp hiệu quả nhất để kết nối nội dung dựa trên HTML với các applet Java.”
Sự nhầm lẫn về mối quan hệ giữa JavaScript và Java vẫn tiếp diễn: Hai ngôn ngữ này có chung tên gọi, một số quy ước cú pháp, và hầu như không có gì khác. Java được James Gosling phát triển tại Sun Microsystems bằng cách sử dụng kiểu dữ liệu tĩnh và các đối tượng dựa trên lớp. JavaScript sử dụng kiểu dữ liệu động và kế thừa dựa trên nguyên mẫu. Sự khác biệt giữa hai ngôn ngữ, như một người dùng Stack Overflow đã nhận xét vào năm 2010, tương tự như mối quan hệ giữa hai từ "ô tô" và "thảm".
Từ tên gọi cà phê đến tiêu chuẩn ngành
Việc chuẩn hóa JavaScript trong ngành công nghiệp diễn ra vào tháng 6 năm 1997 thông qua ECMA International với tên gọi ECMAScript (ECMA là viết tắt của “European Computer Manufacturers Association” – Hiệp hội các nhà sản xuất máy tính châu Âu). Ngôn ngữ này đã trải qua một giai đoạn khó khăn vào đầu những năm 2000, khi Internet Explorer thống trị thị trường trình duyệt và sự đổi mới có phần chững lại, nhưng sự ra đời của AJAX năm 2005 đã khơi dậy sự quan tâm bằng cách cho phép các ứng dụng web hoạt động mượt mà hơn mà không cần tải lại toàn bộ trang. Node.js xuất hiện vào năm 2009, cho phép các nhà phát triển chạy JavaScript trên máy chủ, và phạm vi ứng dụng của ngôn ngữ này đã mở rộng vượt xa trình duyệt.
Ngày nay, JavaScript xuất hiện ở hầu hết mọi lĩnh vực phát triển web. Khảo sát nhà phát triển Stack Overflow năm 2024 cho thấy 62% nhà phát triển sử dụng JavaScript, biến nó trở thành ngôn ngữ lập trình phổ biến nhất (cho web hay các lĩnh vực khác) trong năm thứ mười hai liên tiếp. Báo cáo Tình trạng Hệ sinh thái Nhà phát triển của JetBrains cho thấy JavaScript được sử dụng ở mức 61% trong số các nhà phát triển được khảo sát, với TypeScript , một tập hợp con của JavaScript bổ sung thêm kiểu dữ liệu tĩnh, tăng từ 12% năm 2017 lên 35% năm 2024.
Ngôn ngữ này hiện không chỉ cung cấp sức mạnh cho các trang web mà còn cho các ứng dụng di động thông qua các framework như React Native, phần mềm máy tính để bàn thông qua Electron và cơ sở hạ tầng máy chủ thông qua Node.js. Có khoảng 2 đến 3 triệu gói tồn tại trên npm , kho lưu trữ gói JavaScript.
Hiện nay, nhiều người muốn giải phóng nhãn hiệu JavaScript để công chúng có thể sử dụng. Oracle đã thừa hưởng nhãn hiệu này khi mua lại Sun Microsystems, nhưng công ty này chưa bao giờ phát triển sản phẩm nào sử dụng tên JavaScript. Một bức thư ngỏ có chữ ký của Eich, người sáng tạo Node.js Ryan Dahl, và hơn 28.000 thành viên cộng đồng JavaScript lập luận rằng Oracle đã từ bỏ nhãn hiệu này thông qua việc không sử dụng và thuật ngữ này đã trở nên chung chung.
Nhóm này đã đệ đơn yêu cầu hủy bỏ lên Văn phòng Sáng chế và Thương hiệu Hoa Kỳ vào tháng 11 năm 2024. Theo bức thư, nếu không muốn đối mặt với thách thức pháp lý về thương hiệu chống lại Oracle, sẽ không thể có "Hội nghị JavaScript" hoặc "Đặc tả JavaScript", buộc các tổ chức cộng đồng phải sử dụng những cách giải quyết khó khăn như "JSConf". Chính Eich đã viết vào năm 2006 rằng "ECMAScript", tên chính thức của tiêu chuẩn ngôn ngữ, "luôn là một tên thương mại không mong muốn, nghe giống như một bệnh ngoài da".
Dù có phải là bệnh ngoài da hay không, ngôn ngữ lập trình cơ bản vẫn tồn tại lâu hơn nhiều so với dự đoán của mọi người. Có lẽ điều trớ trêu lớn nhất là các applet Java hầu như đã biến mất khỏi trình duyệt từ nhiều năm trước, nhưng JavaScript lại thống trị. Cái trò hề kỳ quặc lại trở thành tâm điểm. Chúc mừng sinh nhật, JavaScript.