Tại sao không ai muốn học Java vào năm 2022?
Java là một nền tảng phần mềm và ngôn ngữ lập trình hướng đối tượng được sử dụng rộng rãi. Nó chạy trên hàng tỷ thiết bị bao gồm máy tính xách tay, thiết bị di động, bảng điều khiển trò chơi và nhiều thiết bị khác.
Có những khả năng như vậy đi kèm với một cái giá. Java có thể khó học, với một cú pháp phức tạp dài dòng. Nó được nhập tĩnh, có thể kém thuận tiện hơn. Và trong khi nó độc lập với nền tảng, sự nổi lên của nền tảng điện toán đám mây khiến cho sự độc lập trở nên ít chiến thắng hơn.
Đây chỉ là một vài lý do khiến Java có thể không được ưa chuộng.
Mục Lục
1. Java ngày càng ít phổ biến
Đầu tiên và quan trọng nhất, Java dường như đang dần dần trở nên phổ biến. Trong nhiều năm, nó là một trong những ngôn ngữ lập trình tốt nhất để học, nhưng giờ nó không còn là xu hướng nữa. Điều này có nghĩa là, theo thời gian, các nhà phát triển sẽ ngày càng viết ít ứng dụng mới hơn bằng Java.
Xu hướng này ngụ ý rằng Java cuối cùng sẽ biến mất. Các doanh nghiệp trên toàn thế giới sẽ tiếp tục thuê các lập trình viên Java để duy trì các cơ sở mã kế thừa, nhưng điều đó sẽ không kéo dài mãi mãi.
Tuy nhiên, nếu bạn muốn tập trung sự nghiệp của mình vào việc xây dựng những thứ mới, thay vì duy trì các chương trình hiện có, Java có thể không phải là lựa chọn tốt nhất cho bạn.
Ngôn ngữ lập trình | Tháng 5 năm 2022 |
---|---|
Python | 1 |
C | 2 |
JavaScipt | 3 |
C ++ | 4 |
C# | 5 |
Ngôn ngữ lập trình | 6 |
Java | 7 |
Hợp ngữ | số 8 |
SQL | 9 |
PHP | 10 |
2. Java không đơn giản
Java có thể dễ học, nhưng nó không đơn giản. Ngôn ngữ này rất dễ học vì mã Java dễ viết, sắp xếp và biên dịch. Nhưng nó không đơn giản vì mã viết bằng Java có xu hướng dài dòng hơn và viết tẻ nhạt hơn.
Bạn cũng phải biên dịch nó, điều này làm cho Java kém tiện lợi hơn nhiều so với các ngôn ngữ như Python. Vì vậy, nếu bạn là người mới học viết mã lần đầu tiên, thì Java không phải là một ngôn ngữ tốt để bắt đầu.
Nếu bạn là một người chuyên nghiệp muốn tạo ra mã đơn giản, thanh lịch và triển khai nó một cách nhanh chóng, thì Java cũng không phải là lựa chọn lý tưởng.
3. Người nhận và người định cư
Getters và setters gần như là một phần bắt buộc của việc sử dụng một ngôn ngữ và nhiều khuôn khổ khuyến khích việc sử dụng chúng. Mặc dù vậy, getters và setters của Java có thể dài dòng một cách không cần thiết.
Quản lý mã được trang trí bằng bộ cài và bộ cài đặt Java là một địa ngục và phức tạp. Việc thiếu một giải pháp có ý nghĩa cho vấn đề của người đi lại và người định cư chỉ là phần nổi của tảng băng chìm.
public class Vehicle {
private String color;
public String getColor() {
return color;
}
public void setColor(String c) {
this.color = c;
}
}
4. Không đóng băng cú pháp
Bạn đang vận hành trên một bộ sưu tập. Bạn muốn mục đầu tiên. Bạn đang làm gì đấy? Tất nhiên, bạn gọi phương thức thay vì sử dụng [] nhà điều hành. Tất cả bởi vì bạn không thể quá tải các toán tử.
Đối với hầu như mọi thao tác, bạn phải sử dụng một tên phương thức dài dòng ngay cả khi một toán tử có một ký tự sẽ làm được.
Java hỗ trợ khái niệm; ngôn ngữ cho phép bạn nối các chuỗi với + chẳng hạn như toán tử. Nó chỉ không cho phép bạn, lập trình viên, làm điều tương tự.
5. Khai báo các ngoại lệ mà một phương pháp có thể ném
Java yêu cầu bạn khai báo các ngoại lệ mà một phương thức có thể ném ra. Nó có vẻ hữu ích, phải không? Bằng cách sử dụng một phương pháp nhất định, bạn biết điều gì sẽ xảy ra.
Vấn đề là mã là một sinh vật sống, và nó xảy ra rằng phương pháp bạn đang sử dụng bắt đầu tạo ra nhiều ngoại lệ hơn. Điều gì sẽ xảy ra sau đó? Chà, mã của bạn vừa ngừng biên dịch.
Bạn phải xử lý tình huống hoặc thêm một ngoại lệ vào danh sách ném. Giả sử rằng API bạn đang sử dụng không thay đổi. Có một thứ như RuntimeException trong Java. Nếu phương thức của bạn có thể ném ngoại lệ này hoặc một trong những con cháu của nó, bạn cần phải khai báo nó.
Các ngoại lệ của Java có thể mang lại rất nhiều vấn đề về bảo trì mã.
class ThrowExcep
{
static void fun()
{
try
{
throw new NullPointerException("demo");
}
catch (NullPointerException e)
{
System.out.println("Caught inside fun().");
throw e;
}
}public static void main(String args[])
{
try
{
fun();
}
catch (NullPointerException e)
{
System.out.println("Caught in main.");
}
}
}
6. IDE phức tạp
Các lập trình viên Java thường sử dụng một IDE như Eclipse hoặc IntelliJ. Những IDE này rất mạnh mẽ, nhưng chúng phức tạp để tương tác, đặc biệt là đối với người mới bắt đầu hoặc nhà phát triển trung gian. Bạn sẽ cần phải nỗ lực rất nhiều để học IDE từ trong ra ngoài để nó hoạt động hiệu quả hơn và ít gây đau đớn hơn cho bạn.
7. Tính độc lập của nền tảng ít quan trọng hơn vào năm 2022
Thực tế là Java rất độc lập với nền tảng ngày nay ít quan trọng hơn so với 10 hoặc 20 năm trước.
Lý do tại sao là chúng ta đang sống trong một thế giới do phần mềm xác định. Ngày nay, máy ảo, vùng chứa và dịch vụ đám mây giúp bạn dễ dàng chạy ứng dụng ở bất cứ đâu bạn muốn mà không cần lo lắng về môi trường bên dưới.
Nói cách khác, bạn không cần phải thay đổi mã của mình để làm cho ứng dụng của bạn hoạt động ở nơi bạn cần. Thay vào đó, bạn có thể thay đổi môi trường lưu trữ.
Điều này không có nghĩa là tính di động của ứng dụng không còn quan trọng nữa. Nó không còn quan trọng như trước nữa và điều đó làm cho Java ít quan trọng hơn một chút bởi tiện ích mở rộng.
8. Nhập tĩnh
Java thực hiện kiểm tra kiểu trong thời gian biên dịch. Điều này có nghĩa là bạn phải khai báo kiểu của mỗi biến tại thời điểm biên dịch. Nó giống với các ngôn ngữ như C và C ++, nhưng các ngôn ngữ khác, chẳng hạn như Scala và Haskell, cung cấp một số dạng suy luận kiểu.
Với kiểu nhập tĩnh, các biến thường không được phép thay đổi kiểu. Điều này làm cho cú pháp Java trở nên phức tạp một chút, đặc biệt là khi viết mã cho một dự án lớn.
Nhiều lập trình viên thích lập trình động trong đó kiểm tra kiểu xảy ra trong thời gian chạy. Điều này có nghĩa là kiểu của một biến có thể thay đổi trong suốt thời gian tồn tại của nó.
Học ngôn ngữ lập trình mới
Không phải là Java không tốt cho bất cứ thứ gì, nhưng cú pháp của nó khó hiểu và không có lợi cho việc đọc mã. Quản lý sự phụ thuộc của Java cho phép lạm dụng và dẫn đến các lỗi khó phát hiện.
Công nghệ không ngừng thay đổi và với tư cách là một nhà phát triển, việc cập nhật các ngôn ngữ lập trình mới nổi luôn hữu ích. Những gì trong thời trang ngày hôm nay có thể sớm là tin tức của ngày hôm qua.