Java е широко използван обектно-ориентиран език за програмиране и софтуерна платформа. Той работи на милиарди устройства, включително преносими компютри, мобилни устройства, конзоли за игри и много други.

Притежаването на такива възможности си има цена. Java може да бъде трудна за научаване, с дълъг и сложен синтаксис. Той е статично въведен, което може да бъде по-малко удобно. И въпреки че е независима от платформата, възходът на платформата за облачни изчисления прави независимостта по-малко победа.

Това са само някои от причините, поради които Java може да изпадне в немилост.

1. Java става все по-малко популярна

Първо и най-важно, Java изглежда бавно намалява популярността си. Години наред беше така един от най-добрите програмни езици за изучаване, но вече не е в тенденция. Това означава, че с течение на времето разработчиците ще пишат все по-малко нови приложения в Java.

Тази тенденция предполага, че Java в крайна сметка ще изчезне. Бизнесите по целия свят ще продължат да наемат Java програмисти, за да поддържат наследени кодови бази, но това няма да продължи вечно.

instagram viewer

И все пак, ако искате да съсредоточите кариерата си върху изграждането на нови неща, вместо да поддържате съществуващи програми, Java може да не е най-добрият избор за вас.

Програмен език май 2022 г
Python 1
° С 2
JavaScipt 3
C++ 4
° С# 5
Visual Basic 6
Java 7
Асемблер език 8
SQL 9
PHP 10

2. Java не е проста

Java може да е лесна за научаване, но не е проста. Езикът е лесен за научаване, защото Java кодът е лесен за писане, организиране и компилиране. Но това не е просто, защото кодът, написан на Java, обикновено е по-подробен и по-досаден за писане.

Вие също трябва да го компилирате, което прави Java много по-малко удобна от езици като Python. Така че, ако сте начинаещ и се учите да кодирате за първи път, Java не е добър език за начало.

Ако сте професионалист, който иска да създаде прост, елегантен код и да го внедри бързо, Java също не е идеалният избор.

3. Геттери и сетери

Getters и setters са почти задължителна част от използването на език и много рамки насърчават използването им. Въпреки това инструментите за получаване и настройка на Java могат да бъдат ненужно многословни.

Управлението на код, украсен с Java getters и setters, е адски сложно. Липсата на смислено решение на проблема с гетерите и сетерите е само върхът на айсберга.

публиченкласПревозно средство{
частен низ цвят;

// Получател
публичен низ getColor(){
връщане цвят;
}

// Сетер
публиченневалиденsetColor(Низ c){
това.цвят = c;
}
}

4. Без синтактично заледяване

Вие работите с колекция. Искате първия артикул. Какво правиш? Разбира се, вие извиквате метода, вместо да използвате общия [] оператор. Всичко, защото не можете да претоварвате операторите.

На практика за всяка операция трябва да използвате многословно име на метод, дори ако оператор с един знак би свършил работа.

Java поддържа концепцията; езикът ви позволява да свързвате низове с + оператор, например. Просто не позволява на вас, програмиста, да направите същото.

5. Декларирането на изключенията като метод може да предизвика

Java изисква да декларирате изключенията, които даден метод може да хвърли. Изглежда полезно, нали? Използвайки даден метод, вие знаете какво да очаквате.

Проблемът е, че кодът е жив организъм и се случва методът, който използвате, да започне да хвърля повече изключения. Какво ще стане тогава? Е, вашият код просто спря да се компилира.

Трябва да се справите със ситуацията или да добавите изключение към списъка с хвърляния. Да приемем, че API, който използвате, не се променя. В Java има такова нещо като RuntimeException. Ако вашият метод може да хвърли това изключение или някой от неговите наследници, трябва да го декларирате.

Изключенията на Java могат да доведат до много проблеми с поддръжката на кода.

// Java програма, която демонстрира използването на throw
класThrowExcep
{
статиченневалиден забавление()
{
опитвам
{
хвърлямнов NullPointerException("демо");
}
улов (NullPointerException e)
{
System.out.println("Caught inside fun().");
хвърлям e; // повторно хвърляне на изключението
}
}

публичен статиченневалиден основен(низ аргументи [])
{
опитвам
{
забавление();
}
улов (NullPointerException e)
{
System.out.println("Уловени в основния.");
}
}
}

6. Сложни IDE

Java програмистите често използват IDE като Eclipse или IntelliJ. Тези IDE са мощни, но са сложни за взаимодействие, особено за начинаещи или средно напреднали програмисти. Ще трябва да положите много усилия, за да научите вашата IDE отвътре и отвън, за да бъде по-продуктивна и по-малко болезнена за вас.

7. Независимостта на платформата е по-малко важна през 2022 г

Фактът, че Java е много независима от платформата, вероятно има по-малко значение днес, отколкото преди 10 или 20 години.

Причината е, че живеем в софтуерно дефиниран свят. Днес виртуалните машини, контейнерите и облачните услуги улесняват стартирането на приложение, където пожелаете, без да се притеснявате за основната среда.

С други думи, не е нужно да променяте кода си, за да накарате приложението си да работи там, където трябва да работи. Вместо това можете да промените хостинг средата.

Това не означава, че преносимостта на приложението вече няма значение. Просто не е толкова критично, колкото беше преди, и това прави Java малко по-малко важна като разширение.

8. Статично въвеждане

Java извършва проверка на типа по време на компилиране. Това означава, че трябва да декларирате типа на всяка променлива по време на компилиране. Същото е и с езици като C и C++, но други езици, като Scala и Haskell, предлагат някаква форма на извеждане на типа.

При статичното въвеждане променливите обикновено не могат да променят типовете. Това прави синтаксиса на Java малко сложен, особено когато пишете код за голям проект.

Много програмисти предпочитат динамично програмиране където проверката на типа се извършва по време на изпълнение. Това означава, че типът на променливата може да се променя през целия живот.

Научете нови езици за програмиране

Не че Java не е добра за нищо, но нейният синтаксис е тромав и не благоприятства четенето на код. Управлението на зависимостите на Java позволява злоупотреба и води до трудни за откриване грешки.

Технологиите продължават да се променят и като разработчик винаги е полезно да сте в крак с нововъзникващите езици за програмиране. Това, което е на мода днес, скоро може да се окаже новината от вчера.