User is a programmer from Tanzania and loves the Go programming language, but dislikes Java.Привіт, я Тачера Сасі, програміст із Танзанії, і хлопець, який обожнює Go, а от Java? О ні, Java — це моє програмістське негодування. Дозвольте пояснити, чому Java відчувається, як та тітка на кожному весіллі в Танзанії, яка змушує тебе вітатися з 50 незнайомцями, перш ніж ти зможеш сісти та поїсти.
Приклад 1: Привітання на Java
Ось як Java дозволяє вам привітатися з усім світом:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
Чому так серйозно?
Щоб сказати привіт, мені потрібна ціла церемонія — клас, метод, і рівень verbosity, який змушує мене сумніватися у своїх життєвих виборах. Тим часом JavaScript просто каже:
console.log("Hello, World!");
Просто. Чисто. По суті.
JavaScript — це як той розслаблений друг, який просто каже: "Як справи?" Java — це друг, який наполягає на тому, щоб називати тебе "Шановний пане/пані" в чаті WhatsApp.
Приклад 2: Getters та Setters
public class Person {
private String name;
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
Пробачте, що?
Java — це той хлопець на вході, який перевіряє документи і записує твоє ім’я, перш ніж впустити тебе на вечірку. Тим часом у JavaScript:
person.name = "Tachera";
Бум. Готово.
Час розслабитись.
Приклад 3: NullPointerException: Улюблений злочин Java
String str = null;
System.out.println(str.length());
Чому Java мене ненавидить?
NullPointerException — це спосіб Java сказати: "Ти думав, що ти в безпеці? Помиляєшся!" Це як поїздка на бодабоді, коли раптом лопається шина — все йшло добре, і тут починається хаос.
Приклад 4: Я просто хотів поспати
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Що це взагалі таке?
Я просто хотів поспати одну секунду. Чому мені потрібен кандидат наук з обробки виключень? Java — це як той трафік-офіцер в Танзанії, який зупиняє тебе за "киту kidogo", коли все, що ти хочеш — це дістатися на роботу.
Приклад 5: Java — це як TRA для програмування
Дозвольте сказати, що почати проект в Java — це як подати заявку на бізнес-ліцензію в Танзанії.
Є стільки кроків, стільки бюрократії, і коли ти нарешті все зробиш, починаєш задумуватися, чи було це взагалі варто.
Тим часом JavaScript дозволяє мені запустити новий проект за кілька хвилин. З Java мені потрібно:
-
Створити клас.
-
Визначити метод.
-
Імпортувати половину бібліотеки.
-
Помолитися програмістським богам.
Висновок
Слухай, я розумію — Java надійна і все таке, але це просто занадто. Я тут намагаюся створити наступну велику річ з ekilie, а Java відчувається, як тягнути сумку з цеглою, коли я міг би летіти на чомусь легкому, як JavaScript, Go чи Rust.
Але може я і помиляюся. Може ти один з тих програмістів, яким насправді подобається Java.
Якщо це так, я заздрю твоєму терпінню і сподіваюся, що ти ніколи не зустрінеш NullPointerException в темному провулку.
Що думаєш? Java: любити чи ненавидіти? Дай знати — якщо ти не компілятор Java, в такому разі, будь ласка, не зламай мій код.
Кожного разу, коли я відкриваю Java файл, мені здається, що я пливу через море шаблонного коду, щоб дістатися до реальної логіки. Хочеш щось вивести на екран? "System.out.println()" — серйозно? Я ціную структуру, але Java доводить її до такого рівня, що це починає нагадувати написання есе для кожної дрібниці.
Мова також не вийшла з часом. У той час як новіші мови, як Go чи Rust, відчуваються легкими, сучасними та веселими, Java часто здається, як тягнути за собою старомодний підхід у світі, який швидко змінюється. І не змушуй мене починати про те, як повільно відчувається запуск простого проекту в порівнянні з чимось, як JavaScript чи Python.
Я знаю, що це надійно, я знаю, що це всюди, і я, ймовірно, ще буду змушений використовувати її час від часу — але я не буду отримувати від цього задоволення.
Java і я просто не на одній хвилі.
А як у тебе? Любиш? Ненавидиш? Дай знати.
Перекладено з: Why I Hate Java. | Tachera sasi