Lịch sử Java

Chào mừng các bạn đang học lập trình! Hôm nay, chúng ta sẽ cùng đi qua một hành trình thú vị trong lịch sử của Java, một trong những ngôn ngữ lập trình phổ biến nhất trên thế giới. Như một giáo viên khoa học máy tính gần gũi, tôi rất vui mừng được chia sẻ câu chuyện này với các bạn. Vậy, hãy cầm một tách cà phê (Java, ai đó?) và cùng chúng tôi lặn vào!

Java - History

Lịch sử của Java

Sự ra đời của Java

Ngày xửa ngày xưa, vào những năm 1990, một đội ngũ kỹ sư tài ba tại Sun Microsystems, đứng đầu là James Gosling, đã bắt đầu một nhiệm vụ. Mục tiêu của họ là tạo ra một ngôn ngữ có thể điều khiển thế hệ thiết bị thông minh tiếp theo. Họ không biết rằng sáng tạo của họ sẽ cách mạng hóa thế giới lập trình!

Java ra đời vào năm 1995, nhưng ý tưởng ban đầu bắt đầu từ nhiều năm trước đó. Dự án ban đầu được gọi là "Oak" (chúng ta sẽ nói về sự thay đổi tên sau), nhằm tạo ra một ngôn ngữ:

  1. Đơn giản
  2. Hướng đối tượng
  3. Chắc chắn
  4. An toàn
  5. Độc lập với nền tảng

Những nguyên tắc này, được gọi là năm mục tiêu chính của Java, đã hướng dẫn sự phát triển của nó từ đó đến nay.

Triết lý "Viết một lần, chạy mọi nơi"

Một trong những tính năng đột phá nhất của Java là khả năng chạy trên bất kỳ nền tảng nào mà không cần biên dịch lại. Triết lý "Viết một lần, chạy mọi nơi" (WORA) đã cách mạng hóa vào thời điểm đó. Dưới đây là một ví dụ đơn giản để minh họa khái niệm này:

public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}

Chương trình đơn giản này sẽ chạy trên bất kỳ thiết bị nào có Java Virtual Machine (JVM), dù là máy tính Windows, Mac hay thậm chí là tủ lạnh thông minh (đúng vậy, đó là một thứ hiện có!)

Lịch sử tên gọi của Java

Bây giờ, hãy nói về con voi trong phòng - tại sao lại gọi nó là Java? Đúng vậy, không phải vì các nhà phát triển là những người nghiện cà phê (dù có thể điều đó đã đóng một phần).

Tên "Oak" đã bị đăng ký thương hiệu, vì vậy đội ngũ cần tìm một tên mới. Trong một buổiBrainstorming, họ đã nghĩ ra "Java" - lấy cảm hứng từ cà phê Java mà nhiều thành viên trong đội thích uống. Tên này đã stick và như vậy, Java ra đời!

Đ趣事实: Logo chính thức của Java là một tách cà phê đang bốc khói. Thật tuyệt vời khi thấy bạn wear your inspiration on your sleeve!

Lịch sử các phiên bản của Java

Java đã đi một chặng đường dài kể từ lần phát hành đầu tiên. Hãy cùng đi qua một tour nhanh qua các phiên bản chính của nó:

JDK 1.0 (1996)

Lần phát hành công khai đầu tiên của Java. Nó bao gồm Java Applet, AWT và các thư viện cốt lõi.

J2SE 1.2 (1998)

Giới thiệu bộ công cụ GUI Swing và khung công tác Collections.

import java.util.ArrayList;
import java.util.List;

public class CollectionsExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Java");
list.add("is");
list.add("awesome");
System.out.println(list);
}
}

Mã này minh họa việc sử dụng lớp ArrayList, một phần của khung công tác Collections được giới thiệu trong phiên bản này.

J2SE 5.0 (2004)

Phiên bản lớn với việc giới thiệu generics, enums, varargs và vòng lặp được cải tiến.

public class EnhancedForLoop {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
for (int number : numbers) {
System.out.println(number);
}
}
}

Ví dụ này cho thấy vòng lặp được cải tiến, giúp đơn giản hóa việc duyệt qua các bộ sưu tập.

Java SE 8 (2014)

Giới thiệu lambda expressions, API Stream và phương thức mặc định trong giao diện.

import java.util.Arrays;
import java.util.List;

public class LambdaExample {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
numbers.forEach(n -> System.out.println(n * 2));
}
}

Mã này minh họa việc sử dụng lambda expressions, giúp đơn giản hóa lập trình hàm trong Java.

Java SE 11 (2018)

Phiên bản LTS đầu tiên sau Java 8, giới thiệu từ khóa var cho suy luận loại biến cục bộ.

public class VarExample {
public static void main(String[] args) {
var message = "Hello, Java 11!";
System.out.println(message);
}
}

Từ khóa var cho phép trình biên dịch suy luận loại của biến, giúp mã trở nên ngắn gọn hơn.

Java SE 17 (2021)

Phiên bản LTS mới nhất tính đến thời điểm cut-off của tôi, giới thiệu các lớp sealed và khớp mẫu cho biểu thức switch.

public class SwitchPatternMatching {
public static void main(String[] args) {
Object obj = "Hello";
String result = switch (obj) {
case Integer i -> "It's an integer: " + i;
case String s -> "It's a string: " + s;
default -> "It's something else";
};
System.out.println(result);
}
}

Ví dụ này minh họa việc sử dụng khớp mẫu trong biểu thức switch, một tính năng mạnh mẽ cho việc xử lý các loại đối tượng khác nhau.

Kết luận

Và đây bạn đã có, các bạn! Một hành trình qua lịch sử của Java, từ những ngày đầu tiên của "Oak" đến vị trí hiện tại của nó như một trong những ngôn ngữ lập trình được sử dụng rộng rãi nhất trên thế giới.

Sự phát triển của Java là một bằng chứng về sự linh hoạt và sự tận tụy của cộng đồng của nó. Từ việc điều khiển các ứng dụng web đến việc chạy trên hàng tỷ thiết bị trên toàn thế giới, Java đã thực sự sống lên triết lý "Viết một lần, chạy mọi nơi".

Nhớ rằng, mỗi khi bạn viết một dòng mã Java, bạn là một phần của lịch sử này. Vậy, hãy tiếp tục lập trình, tiếp tục học hỏi, và ai biết được? Có lẽ bạn sẽ là người viết nên chương tiếp theo trong câu chuyện của Java!

Chúc các bạn lập trình vui vẻ, các nhà lập trình Java tương lai!

Credits: Image by storyset