Реальные достоинства Java [закрыт]

168
31 января 2020, 20:40
Закрыт. На этот вопрос невозможно дать объективный ответ. Ответы на него в данный момент не принимаются.

Хотите улучшить этот вопрос? Переформулируйте вопрос, чтобы на него можно было дать ответ, основанный на фактах и цитатах, отредактировав его.

Закрыт 10 месяцев назад.

Почему Java получила такое распространение (в частности для преподавания в универтетах США)?

Помимо очевидного (топ-маркетинга и т.п.). Все таки если ее кто то продвигал, значит это делалось для чего то, значит есть какие-то достоинства. Если это делали какие то анонимные гении из MIT и Стенфорда, значит они увидели в этом какую то пользу для себя.

Какие у Java есть реальные достоинства? Все дело в JVM?

Поддержка ООП вряд ли является отличительным признаком, так как есть в куче других языков, кроме того ООП можно использовать даже на языках без его явной поддержки.

Upd: Я корректно задал вопрос и на него можно дать корректный ответ. Если вы не можете перечислить преимущества и ограничиваетесь общими словами, стоит вспомнить, что "нет" - тоже ответ.

Upd2: Не надо прений, перечислите достоинства и все. Если вы достоинств не видите - не пишите ничего. Прошу обойтись без общих фраз и рассуждений, быть максимально конкретным.

Например:
- кроссплатформенность в результате применения JVM
- безопасность вследствие отсутствия указателей и выполнения в управляемой среде.

Answer 1

Java отличный язык. Делать очень большие и долгосрочные проекты на нем намного проще - все таки статическая типизация, сборка мусора, возможность заменить почти любую часть системы не обрушив остальное, большая работа по стандартизации библиотек, платформонезависимость, время на обучение программистов и т.д. Т.е. по сумме характеристик язык не имеет себе равных во-многих сферах. Java - это, так сказать компромисс, между бизнесом, программистами и разработчиками языков. Идеальное решение для систем управления крупными компаниями. В java-мире можно заменить любую часть на альтернативу - и это посильная задача. Это очень ценят крупные компании. А что требуется бизнесу - передается с той или иной скоростью в учебные заведения.

Но! Есть сферы в крупном бизнесе где доминируют решения на других языках. Возьмем как пример Паскаль. Даже если говорить о крупном бизнесе, есть ниши, где потомки первого Pascal успешно применяются и даже доминируют. Вспомните Ada - его используют крупнейшие компании мира для очень сложных задач реального времени. Там особо даже альтернатив нет из-за высоких требований к безопасности. А еще есть ветка, которую сам Никлаус Вирт разрабатывал - Обероны, Компонентный Паскаль, Модула-2 и т.д. И они все применяются - поэтому странно говорить что они не имеют шансов. Они успешны в своей сфере. Бывают жесткие требования заказчика, когда система не должна иметь под собой другой операционной системы- должна ставится сразу на голое железо. И там языки Никлауса Вирта очень даже ничего - и бизнес это тоже знает и применяет. Бизнес - это не одни банки и учетные системы. Бизнес очень разный и потребности у него разные. Что же касается обучения - наверное Java все же преподается не как первый язык программирования. Детей нужно обучать точно не на Java.

Answer 2

Чтобы получить всестороний и полноценный ответ на ваш вопрос, нужно вам же поучаствовать в каком то большом проекте с командой, сначала, например, используя С++ (или другой язык того времени, когда появилась Java), другой проект с использованием Java, и подобных вопросов у вас ее останется. Особенно после лет пяти поддержки такого проекта.

Что качается многих других языков, составляющих Java конкуренцию, как например С#, то здесь стоит учитывать время появления этих языков. Когда появился С# (который так же во всем хорош и даже во многом лучше Java), Java уже имела огромное количество типового кода, специалистов, доверие клиентов, большие проекты для влиятельных корпораций, сообщество и вот это вот все, так что поезд шарпа во многих нишах ушел и перетянуть это "одеяло" на себя теперь практически нереальная задача в некоторых нишах.

Что касается языков "третьего эшелона", как любимый вами Delphi, то у них изначально нет никаких шансов для использования в бизнесе, не тот уровень - чисто прикладное использование. Если у вас есть в этом сомнения, то можете попытаться повторить рекомендацию из начала ответа - поучаствовать с командой в большом проекте для бизнеса, например банковского сектора, затем организовать многолетнюю поддержку - сомнения вас оставят, если конечно вы здравомыслящий человек, а не фанатик такого языка.

В общем, Java была первой из того, что, условно говоря, все ждали от языка программирования и за счет этого получила преимущество, которое использует до сих пор

Так же немаловажна кросплатформенность, Java- код может выполнятся и в чайнике и в космическом корабле без изменений в исходниках (не будем отвлекаться на специфические фреймворки, речь о Java core)

READ ALSO
Как запросить и обработать таблицу

Как запросить и обработать таблицу

Начал изучать http только и хочется разобраться, можно ли своё расписание запилить с запросами к базе данных универаЕсть сайт университета,...

163
Could not find a driver for automationName 'Appium' and platformName 'Android'

Could not find a driver for automationName 'Appium' and platformName 'Android'

Я - новичок в автоматизации мобильных приложенийПомогите, пожалуйста, разобраться с возникшей ошибкой:

155
Как в Java работает объявление кода в классе?

Как в Java работает объявление кода в классе?

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

161
Не правильно читает информацию из базы данных

Не правильно читает информацию из базы данных

Когда хочу вывести информацию из базы данных school_db (в нем есть таблица студенты с фио) вот хочу их вывести но почему то выводит пустоту

167