Back to timeline
Issue #350 Đọc 13 phút

Java tròn 30 tuổi

Tuần trước đánh dấu kỷ niệm 30 năm ngày sinh của ngôn ngữ Java. Ngày 23/5/1995, Sun Microsystems chính thức giới thiệu ngôn ngữ này ra thế giới. Sau ba thập kỷ, liệu Java có bị coi là một ngôn ngữ "già cỗi"?

Java tròn 30 tuổi

Ảnh bìa

Lễ hội Điêu khắc cát Quốc tế Chu San lần thứ 26 đang diễn ra với chủ đề “Thành phố âm nhạc trên biển”. Hơn 50 tác phẩm điêu khắc trên bãi biển tạo thành hình dáng một cây đàn guitar khổng lồ.

Java tròn 30 tuổi

Tuần trước đánh dấu kỷ niệm 30 năm ngày sinh của ngôn ngữ Java. Ngày 23/5/1995, Sun Microsystems chính thức giới thiệu ngôn ngữ này ra thế giới.

Sau ba thập kỷ, liệu Java có bị coi là một ngôn ngữ “già cỗi”?

Thú thực, tôi từng luôn nghĩ Java cùng thời với C++. Nhưng thực tế, Java xuất hiện cùng thời với Python, JavaScript và PHP. Nó thuộc nhóm ngôn ngữ đang ở độ tuổi sung sức và đầy quyền năng.

Trong số hàng ngàn ngôn ngữ máy tính trên thế giới, Java thuộc nhóm cực kỳ, cực kỳ thành công. Nó đã thành công ngay từ ngày đầu ra mắt và duy trì vị thế đó cho đến tận hôm nay.

Sự thành công của Java thể hiện ở hai khía cạnh:

(1) Nó hiện diện ở khắp mọi nơi. Trong cuộc sống hàng ngày, hầu hết các dịch vụ phần mềm chúng ta tiếp xúc, đặc biệt là các hệ thống doanh nghiệp (enterprise), đều sử dụng Java làm ngôn ngữ phát triển backend.

Java thống trị mảng server, có ứng dụng rộng rãi trên desktop, và tất nhiên là cả mobile—hệ điều hành Android vốn được xây dựng dựa trên Java.

(2) Nó có nhiều cơ hội việc làm nhất.

Nếu bạn hỏi tôi nên học ngôn ngữ lập trình nào để dễ tìm việc nhất, tôi sẽ khuyên bạn chọn Java. Lượng tuyển dụng cho Java luôn đứng đầu và cực kỳ dễ tiếp cận.

Dù Python cũng rất hot, nhưng thị trường thường yêu cầu lập trình viên cao cấp. Java thì khác, ngay cả ở mức độ trung bình, bạn vẫn có thể dễ dàng tìm được một vị trí phù hợp. Nhu cầu cho các lập trình viên Java phổ thông là cực lớn.

Trong giới công nghệ có một quy tắc gọi là Hiệu ứng Lindy: tuổi thọ dự kiến của một thứ gì đó tỷ lệ thuận với thời gian nó đã tồn tại. Một thứ đã tồn tại bao lâu, bạn có thể kỳ vọng nó sẽ còn tồn tại bấy lâu nữa.

Java đã phổ biến suốt 30 năm qua, vậy nên khả năng cao là nó sẽ tiếp tục thịnh hành trong ít nhất 30 năm tới.

Lịch sử truyền miệng của Gosling

James Gosling (sinh năm 1955) là cha đẻ của Java. Ông đã phát minh ra nó khi còn làm việc tại Sun Microsystems.

Năm 2019, Bảo tàng Lịch sử Máy tính Hoa Kỳ đã phỏng vấn ông trong hai ngày liên tục. Kết quả là chương trình “Lịch sử truyền miệng của James Gosling”.

Dưới đây là một số đoạn trích thú vị liên quan đến sự ra đời của Java.

Hỏi: Ông bắt đầu nghiên cứu về bytecode từ khi nào?

Đáp: Tôi bắt đầu làm việc với bytecode khi còn là nghiên cứu sinh tại Đại học Carnegie Mellon.

Lúc đó, giáo sư yêu cầu tôi chuyển một số phần mềm từ loại máy tính này sang máy tính khác. Tôi thấy việc này cực kỳ khó khăn. Nhưng rồi tôi nhận ra rằng viết một trình biên dịch từ bytecode sang mã máy (assembly) lại dễ hơn nhiều, và chất lượng mã thậm chí còn tốt hơn trình biên dịch C gốc.

Điều đó giúp tôi rút ra bài học: chỉ cần tạo ra bytecode cho phần mềm, sau đó viết trình biên dịch bytecode cho từng nền tảng cụ thể, bạn có thể chạy phần mềm đó trên bất kỳ kiến trúc máy tính nào.

Hỏi: Cơ duyên nào dẫn đến việc ông phát triển Java tại Sun?

Đáp: Sản phẩm chính của Sun là máy chủ, và chúng tôi đã bỏ lỡ nhiều cơ hội trong mảng điện tử tiêu dùng.

Năm 1991, một nhóm khoảng bốn người chúng tôi muốn khám phá mảng này. CEO đã đồng ý cấp ngân sách. Chúng tôi quyết định tạo ra một thiết bị mẫu gọi là Star7. Nó trông khá kỳ lạ, hơi giống iPad sau này. Thực tế là sau này một vài thành viên trong nhóm chúng tôi đã tham gia vào dự án iPad của Apple.

Chúng tôi không muốn làm một thiết bị đơn năng, mà muốn một thiết bị mạng có thể giao tiếp và điều khiển các thiết bị khác từ xa. Ý tưởng lúc đó là dùng một thiết bị duy nhất để điều khiển từ tivi, đầu video cho đến hệ thống chiếu sáng.

Star7 không thành công về mặt thương mại, nhưng thật kỳ lạ là 30 năm sau, mọi người vẫn đang nỗ lực tạo ra những thiết bị như vậy.

Hỏi: Tại sao ông lại nghĩ đến việc tạo ra một ngôn ngữ lập trình mới cho thiết bị này?

Đáp: Ban đầu mục tiêu không phải là tạo ra ngôn ngữ mới, nhưng chúng tôi nhận ra các công cụ lập trình hiện có gặp quá nhiều vấn đề.

Chúng tôi muốn cải tiến C và C++ để phù hợp hơn với môi trường của mình. Tôi nhận nhiệm vụ này vì là người duy nhất trong nhóm từng viết trình biên dịch. Theo thời gian, những gì tôi thay đổi khiến nó không còn giống C++ nữa mà trở thành một ngôn ngữ độc lập.

Hỏi: Ngôn ngữ này ban đầu có tên là Oak?

Đáp: Đúng vậy. Cái tên Oak (Cây sồi) ra đời vì tôi… lười. Tôi cần đặt tên cho một thư mục để chứa mã nguồn. Tôi ngồi tại bàn làm việc, nhìn ra ngoài cửa sổ thấy một cây sồi, và thế là xong.

Hỏi: Ngay từ đầu, ngôn ngữ này đã được thiết kế để độc lập với nền tảng?

Đáp: Chính xác. Đó là ưu tiên hàng đầu.

Yêu cầu này đến từ chính các công ty điện tử tiêu dùng. Họ không muốn bị ràng buộc bởi bất kỳ nhà cung cấp phần cứng hay CPU nào. Họ muốn có thể thay đổi nhà cung cấp một cách linh hoạt mà không phải viết lại mã nguồn.

Giải pháp chính là bytecode—thứ tôi đã học được từ thời ở Carnegie Mellon. Với bytecode, mã hiện tại có thể chạy an toàn trên cả những cỗ máy… chưa được phát minh ra.

Hỏi: Câu slogan “Viết một lần, chạy mọi nơi” (Write once, run anywhere) ra đời từ đó sao?

Đáp: Tôi thực sự không biết ai đã nghĩ ra câu đó. Đó là sản phẩm của bộ phận marketing. Nó nghe rất hay nhưng thực tế thì có phần đơn giản hóa vấn đề.

Hỏi: Khi nào Java chuyển từ thiết bị điện tử sang Internet?

Đáp: Khoảng năm 1994 hoặc 1995. Chúng tôi nhận ra các công ty truyền thông lớn không thực sự muốn một thiết bị mạnh mẽ cho người dùng, họ chỉ muốn kiểm soát sự chú ý để bán quảng cáo. Vì vậy, chúng tôi quyết định chuyển hướng sang Internet.

Hỏi: Java đã chinh phục giới phát triển phần mềm như thế nào?

Đáp: Đặc tính độc lập với nền tảng của Java cực kỳ hấp dẫn. Nó không quan tâm bạn dùng trình duyệt nào. Nếu bạn viết bằng Java, bạn có thể bán phần mềm cho khách hàng dùng bất kỳ nền tảng nào, từ Windows NT của Microsoft cho đến hệ thống của HP hay Sun.

Hỏi: Các ông chỉ đổi tên sang Java sau khi biết cái tên Oak đã bị đăng ký?

Đáp: Đúng vậy. Khi sắp phát hành, chúng tôi mới biết Oak đã có chủ. Chúng tôi tổ chức một cuộc họp để liệt kê danh sách các cái tên tiềm năng và gửi cho luật sư kiểm tra. Cái tên nào vượt qua kiểm duyệt đầu tiên sẽ được chọn.

Hỏi: Java là lựa chọn thứ tư?

Đáp: Vâng. Lựa chọn yêu thích của tôi là Lyric (đứng thứ ba) nhưng không vượt qua kiểm duyệt. Cái tên được cả nhóm thích nhất là Silk (đứng thứ nhất), nhưng tôi không thích vì nó làm tôi liên tưởng đến nhện. Java đứng thứ tư, và chúng tôi đã dùng nó.

Điểm tin công nghệ

(1) Một mỏ than ở Nội Mông đã triển khai đội hình 100 xe tải không người lái hoạt động đồng thời, chỉ cần 6 nhân viên điều hành. Điều thú vị là vị trí cabin lái giờ đây là nơi đặt pin.

(2) Nhà sáng lập Dyson vừa ra mắt máy hút bụi mỏng nhất thế giới với chiều cao thân máy chỉ 95mm.

(3) Giải đấu robot hình người đối kháng tại Hàng Châu. Các robot được điều khiển từ xa bởi con người.

(4) Đan Mạch trở thành quốc gia thứ hai sau Nhật Bản nâng độ tuổi nghỉ hưu lên 70 tuổi.

(5) UAE là quốc gia đầu tiên trên thế giới cung cấp miễn phí ChatGPT Plus cho toàn bộ công dân và cư dân. Dịch vụ này hiện có giá 20 USD/tháng.

Bài viết

1. CAPTCHA đã hết thời (Tiếng Anh)

Tác giả làm việc cho một trang web bán vé nhận định rằng các cơ chế xác thực robot hiện nay hoặc dễ dàng bị AI vượt qua, hoặc không phù hợp với quy trình đặt vé nhanh. Việc tìm kiếm một giải pháp thay thế hiệu quả đang trở nên vô cùng khó khăn.

2. Giải pháp sao lưu đồng bộ của tôi (Tiếng Anh)

Tác giả chia sẻ cách thay thế Google Drive bằng hai bước: (1) Dùng phần mềm nguồn mở Syncthing để đồng bộ dữ liệu giữa các máy tính, (2) Dùng TrueNAS để đẩy dữ liệu cục bộ lên đám mây.

3. Cách viết script Bash để kiểm tra heartbeat (Tiếng Anh)

Hướng dẫn cách viết script đơn giản để kiểm tra xem server có đang hoạt động bình thường hay không.

4. Cẩm nang bảo mật máy chủ ảo (Tiếng Anh)

Các bước cơ bản cần làm ngay sau khi thuê VPS để tăng cường tính bảo mật.

5. Mã nguồn tự giải thích (Tiếng Anh)

Ví dụ minh họa cách viết code sao cho rõ ràng và dễ hiểu đến mức bản thân nó chính là tài liệu hướng dẫn.

Công cụ

1. Defuddle

Thư viện JS giúp trích xuất nội dung từ trang web HTML chuyển sang dạng văn bản thuần túy.

2. DockFlare

Công cụ quản lý Cloudflare Tunnel nguồn mở cho các Docker container trong mạng nội bộ.

3. f2

Công cụ dòng lệnh mạnh mẽ để đổi tên file hàng loạt.

4. TypeID: Phiên bản cải tiến của UUIDv7, có thêm tiền tố định danh loại dữ liệu.

5. Starlight

Công cụ tạo trang tài liệu dựa trên framework Astro.

6. ntfy.sh

Công cụ đẩy thông báo đến điện thoại và máy tính, hỗ trợ tự host hoặc dùng server của hãng.

7. BillionMail

Nền tảng marketing qua email nguồn mở, hỗ trợ quản lý chiến dịch, gửi newsletter và tin khuyến mãi.

8. Lynx Proxy

Server nguồn mở đại diện cho lưu lượng HTTP/HTTPS và WebSocket, có giao diện quản lý web.

9. Text to SVG

Trang web chuyển đổi font chữ thành định dạng SVG để làm Logo.

10. DualPiP

Extension Chrome hỗ trợ trình phát video Picture-in-Picture mạnh mẽ hơn.

Liên quan đến AI

1. Smart Mermaid

Chuyển văn bản thành sơ đồ Mermaid tự động.

2. Folda-Scan

Ứng dụng web giúp “trò chuyện” với mã nguồn bằng cách quét và lập chỉ mục thư mục cục bộ.

3. Ainee

Công cụ ghi chú AI chuyển đổi âm thanh, văn bản và video YouTube thành ghi chú.

4. OpenDerisk

Trợ lý vận hành (Ops) AI hỗ trợ xử lý các vấn đề hệ thống trực tuyến.

Tài nguyên

1. Trình tóm tắt bản tin bằng AI

Tóm tắt các nội dung chính của từng số báo bằng AI.

2. Trình phân tích câu tiếng Nhật

Website giúp phân tích cấu trúc ngữ pháp câu tiếng Nhật.

Những chiếc PC kỳ lạ tại Computex

Triển lãm Computex 2025 tại Đài Bắc vừa qua đã xuất hiện nhiều mẫu PC với thiết kế vô cùng độc đáo.

1. Chiêu Tài Tiến Bảo

Trông giống một thỏi vàng lớn nhưng thực tế nó là một chiếc máy tính.

Phía sau là thùng máy, còn phần nước chảy bên trên chính là hệ thống tản nhiệt nước tuần hoàn.

2. Robot Gundam

Chú robot này thực chất là một chiếc PC. Phần đầu có thể xoay, mắt đổi màu và thậm chí phát được giọng nói. Nút nguồn nằm ngay vị trí phát sáng ở ngực.

Phần chân là nơi đặt card đồ họa.

3. Thủy cung

Chiếc PC này trông như một thủy cung thực thụ với sứa và cá vàng trang trí bên trong. Hệ thống đèn RGB ở quạt được thiết kế giống như những chiếc đèn lồng.

4. Cá đuối

Thiết kế mô phỏng loài cá đuối nhưng cũng mang dáng dấp của một chiếc phi cơ. Phần vây hai bên có thể điều chỉnh chuyển động thông qua các bánh răng ở mặt trước.

5. Máy pha cà phê

Đây chỉ là sản phẩm ý tưởng về thùng máy, nó không thực sự pha được cà phê.

6. Siêu xe

Thùng máy hình xe đua, card đồ họa đặt ở đuôi xe, còn dưới nắp capo là mainboard và quạt tản nhiệt.

7. Black Myth: Wukong

Thùng máy chủ đề Tề Thiên Đại Thánh với lớp vỏ “Ngưu Vương Giáp” bao bên ngoài.

8. Hà mã

Một thiết kế PC đi theo phong cách dễ thương.

9. Nhà tranh

Chiếc PC này thực sự được phủ một lớp rơm phía trên, trông giống như một chậu cây cảnh đặt trong nhà.

Trích dẫn

1. Tôi chưa bao giờ thích việc thu phí nội dung. Mọi bài viết và kết quả nghiên cứu của tôi đều được phát hành miễn phí, và điều đó mang lại giá trị khổng lồ. Tuy nhiên, tôi đang thử nghiệm một hình thức đăng ký khác: bạn trả tiền cho tôi, và tôi sẽ gửi cho bạn… ít thứ hơn. Tôi sẽ ra mắt một bản tin hàng tháng dành riêng cho người ủng hộ, chắt lọc những nội dung quan trọng nhất để bạn không phải đọc quá nhiều cập nhật hàng ngày của tôi nữa.

Simon Willison, lập trình viên nổi tiếng.

2. AI là một người thầy tốt hơn con người, nhưng trường học trong tương lai vẫn cần giáo viên thật. Trách nhiệm chính của họ sẽ là trông nom và chăm sóc lũ trẻ.

Luis von Ahn, CEO của Duolingo.

3. Hãy coi AI như một công cụ, không phải một chiếc nạng. Những kỹ năng kỹ thuật nền tảng vốn được coi trọng từ năm 2019 vẫn rất xứng đáng để bạn tiếp tục đầu tư.

Đừng để AI thúc đẩy sự kém cỏi của chúng ta

4. Một trong những lời khuyên có hại nhất là “đừng phát minh lại cái bánh xe”. Lời khuyên này vô tình dập tắt trí tò mò và tinh thần khám phá. Nhiều phát minh quan trọng trong cuộc sống hiện đại đến từ những người đã phớt lờ câu nói đó. Phát minh lại cái bánh xe chính là một quá trình học tập, và trong quá trình đó, bạn có thể tạo ra một phiên bản tốt hơn.

Phát minh lại cái bánh xe