Top.Mail.Ru

Java: недостатки и корутины

В мире не так много языков программирования, которые могут похвастаться своей
более чем 20-тилетней актуальностью. Одним из таких примеров, несмотря на свои
недостатки, является язык программирования Java. Вот как раз их, недостатки java языка, мы и обсудим в сегодняшней нашей статье. Java — это язык, который постоянно входит в ТОП-10 в различных рейтингах. Довольно долгое время, это был официальный язык для разработке приложений под ОС Андроид, а совсем недавно, ему стал создавать конкуренцию язык программирования Kotlin.

Немного о Java


Java уже больше 20-ти лет. Все это время, этот язык нес свою миссию для
программистов – «Писать код один раз и иметь возможность применять его везде».
Это кроссплатформенный популярный ЯП общего назначения. На нем можно
сделать практически все:

  • написать приложение для смартфона;
  • написать приложение для компьютера;
  • создать игру;
  • использовать для работы с базами данных;
  • в микро устройствах;
  • в автомобилестроении;
  • и др.


Это уже не просто язык программирования, уже можно различать целую экосистему
Java, со своими:

  • JDK — комплект программиста Java;
  • JRE — система исполнения Java4;
  • IDE — среда разработки для программистов.


Язык Java вы встречаете в каждый день, либо в своем смартфоне, либо на
компьютере. Но несмотря на свою популярность, широту применения, и огромное
число достоинств, Java имеет собственные недостатки, как и многие другие языки.


Недостатки Java языка

  1. Плата за коммерческое использование. В 2019-м году компания Оракл
    приняла решение брать плату за коммерческое пользование этим ЯП. Многим
    компаниям пришлось оценивать эффективность использования этого языка в
    собственных целях и искать бесплатные альтернативы. Для простого
    пользования Java остается абсолютно бесплатным языком.
  2. Не высокая производительность. Любой высокоуровневый язык, из-за
    использования виртуальной машины для своей компиляции, обладает более
    низкой производительностью. Java в том числе, но не только это влияет на ее
    «быстроту». Также производительность падает из-за проблем с очисткой
    памяти, плохой настройки кэширования, вероятность блокировки потоков и д.
  3. Отсутствует наивный дизайн. Для создания интерфейса пользователя на
    компьютере для java-приложения, нет ни одного java-инструмента, поэтому
    разработчики используют сторонние инструменты и библиотеки.
  4. Сложность и многословность кода. При написании кода, есть вынужденное
    использование большого количества лишнего текста. Из-за этого
    улетучивается «компактность» языка, но в тоже время это облегчает
    «понимание» кода неспециалистам Java.


С другой стороны, все недостатки Java языка, с лихвой перекрываются его
достоинствами. Именно это и позволяет ему оставаться довольно востребованным
языком долгие годы.


Java и корутины


Корутины — это облегченный поток исполнения кода, который может работать
поверх основных потоков программы. Они полностью подвластны разработчику, так
как переключаются в местах, которые указал сам программист, а не как основные
потоки, переключающиеся в произвольный момент времени самой операционной
системой. То есть корутины управляются пользователем, а основные потоки — ОС.
Они «легковесны» и практически не влияют на производительность, если сравнивать
с основными потоками.

Заключение


В большинстве современных языков программирования есть поддержка
использования корутинов на уровне самого языка. Java, к сожалению, пока не
поддерживает корутины. Так что, этот момент тоже можно отнести в «недостатки
Java». Есть шанс, что в скором будущем, разработчики Java это исправят, потому
что многие современные программисты используют в своей работе корутины. Плюс,
работу с корутинами применяет основной конкурент языка Java — язык Kotlin, это
тоже должно дать толчок разработчикам быстрее внести изменения, чтобы быть
конкурентоспособными.

Возможно вам будет интересно почитать статью “Создание программного продукта: этапы и особенности”


На данный момент есть одна «непрямая» возможность использовать корутины в
Java. Это писать их на языке С++, а потом, при помощи JNI, применять в своем Java-
коде. Получается, что любые недостатки Java, можно «обойти», если в этом есть
необходимость.

Text.ru - 100.00%
Поделись статьей с друзьями!

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *