Как знает каждый Java-разработчик, Oracle купила Sun, и будущее java выглядит довольно неясным, тем более что Oracle хочет монетизировать JVM. Ява как язык в последние несколько лет также устарела, одним из примеров является отсутствие включения замыканий (которое может быть включено в Java 1.8). В то же время используются некоторые новые технологии, такие как Ruby, Scala и Groovy. доставлять сложные сайты.
Мне интересно, есть ли компании или организации, которые говорят, делают спайки или начинают использовать другую технологию, с идеей прекратить использовать java для проектов «зеленых полей» так же, как 15 лет назад компании мигрировали из C ++, perl и другие технологии на Java. Мне также интересно узнать, каковы впечатления от этого, например: планирование перехода на другую технологию через 2 года.
Чтобы было ясно, я не спрашиваю, какая технология лучше. Я спрашиваю, думает ли ваша организация оставить Java для другой технологии.
Ответы:
Вовсе нет - на самом деле я вкладываю большие средства в Java как платформу в моей компании (стартап, разрабатывающий приложения SaaS и инструменты для интеллектуального анализа данных).
Вот причины:
Выбор Java в качестве платформы не означает, что вы должны использовать Java в качестве языка. Мы используем Clojure в качестве основного языка разработки приложений, время от времени обращаясь к Java. Но и другие языки JVM, такие как Scala и Groovy, также хороши.
Я лично не беспокоюсь об Oracle . Основная реализация Java почти наверняка будет по-прежнему с открытым исходным кодом ( OpenJDK ) и свободно доступна. Если Oracle сделал что-то глупое, то другие крупные компании (я думаю, что IBM и Google в частности) слишком много вложили в Java, чтобы позволить себе покончить с этим, и они могли бы легко продолжить разработку Java без помощи Oracle.
JVM является отличной средой выполнения . Кроссплатформенность, очень высокая производительность, чрезвычайно хорошая оптимизация технологии JIT. Он достаточно близок к собственной скорости, поэтому меня не волнует дробная величина, так как он медленнее, чем C / C ++, и эти издержки более чем компенсируются правильной сборкой мусора, управляемой средой выполнения байт-кода и т. Д.
Java обладает великолепной экосистемой библиотек с открытым исходным кодом . На самом деле, я бы сказал, что это лучшая экосистема из всех языков. Это означает, что большая часть «тяжелого подъема» с точки зрения инфраструктуры уже выполнена, с чрезвычайно высоким качеством. А тот факт, что большинство вещей, которые вам нужны, имеют открытый исходный код, означает, что у вас нет затрат (с точки зрения как денег, так и времени управления) на получение лицензий.
Eclipse - отличная среда разработки и предоставляет фантастический набор инструментов для разработки надежных корпоративных приложений. Мы используем интеграцию Maven, JUnit, Git / SVN и множество других инструментов, которые доступны как плагины Eclipse. Все это "просто работает".
Наконец, каковы другие варианты?
.NET - единственная платформа с сопоставимыми возможностями, и мне лично нравится C #, но она привязывает вас к технологиям Microsoft (хуже, чем Oracle / IBM IMHO) и не обладает такой же широтой экосистемы с открытым исходным кодом. Прекрасно для магазинов Microsoft, но не для тех, кто хочет контролировать свою технологическую судьбу. И да, Mono хорош, но я не могу позволить себе ставить свой бизнес на платформу, которая может поддерживать или не поддерживать работоспособный уровень совместимости с .NET.
Кроме того, есть все другие замечательные языки, которые очень хороши в своих действиях (например, Ruby, Python, PHP, Javascript), но не предлагают убедительного, всеобъемлющего эквивалента платформе Java. Риск состоит в том, что вам придется начать склеивать множество вещей в архитектуре чуть менее красивой. Не проблема для создания веб-сайтов, быстрых и грязных приложений, но менее привлекательная для долгосрочной разработки продукта.
C / C ++ отлично подходит для системного программирования и игр, но слишком сложен / дорог / негибок для разработки современных веб-приложений.
И еще есть прекрасные языки, которые я люблю, такие как Haskell, которые фантастичны с академической точки зрения, но просто не имеют промышленного внедрения / экосистемы, необходимых для того, чтобы сделать их надежным выбором платформы. Также я могу получить большинство преимуществ современного функционального программирования, запустив Clojure на JVM .....
Так что да, это сложное решение. Но я принял решение Java выше всех других вариантов после многих значительных исследований и размышлений. Я все еще принял бы такое же решение сегодня.
ОБНОВИТЬ
Несколько слов о выборе Clojure на JVM в качестве выбора языка. Основными мотивами для этого были:
источник
Все зависит от клиента.
У Java всегда будет своя маленькая ниша, где люди будут стремиться к ней по той или иной причине, по тем же причинам, по которым люди тяготеют к .php или .net, но в конечном итоге это зависит от требований и предпочтений клиента.
Если клиент говорит ... Я хочу, чтобы это приложение было в Java ... мы собираемся сказать нет? вероятно нет ... если они скажут, что нам все равно ... мы собираемся написать это на языке Java? вероятно нет, но это только предположение.
У нас есть приложения, написанные на Java, которые имеют давнюю историю, но кажется, что клиент тщательно заменяет ВСЕ на марку Windows .... Oracle на SQL Server ... Unix / Linux с сервером 2008 ... и PHP и Ява с .net.
Если это произойдет, тогда да ... если только новый клиент не придет и не скажет "эй" ... мы хотим, чтобы это было написано на Java ... мы будем использовать .net.
источник
Во-первых, я не работаю в софтверной компании.
Хорошо, мы используем Oracle в качестве основной базы данных, где хранится вся важная информация. Из-за этого мы планируем продолжать использовать Java для всего, что связано с Oracle. Приобретение Oracle компанией Sun является стимулом для нас, чтобы продолжать использовать Java для всего, что связано с Oracle.
Но любые настольные приложения написаны на C #, так как все основано на Windows.
источник
Чтобы ответить на ваш вопрос. Нет.
В компаниях любого значительного размера, как правило, разработчики не решают такие вопросы, как то, должна ли компания перейти от Java к чему-то другому. А для типов, которые принимают эти решения, важны другие факторы, кроме тех, которые вы перечислили.
Наоборот, я думаю, что будущее ясно. Эволюция Java будет продолжаться медленными, но устойчивыми темпами, а основные технологии SE и EE будут по-прежнему бесплатными. Для меня единственная реальная область неопределенности - то, что случится с булл-боем Oracle против Google. Но, так или иначе, я ожидаю, что Android / Davlik будет процветать как альтернатива Java ME ... но только для мобильных платформ.
Это может раздражать разработчиков, но «устаревание» на самом деле является следствием того, что Sun / Oracle обращают внимание на то, что хочет бизнес ... язык / платформа с долгосрочной стабильностью.
Опять же, с точки зрения руководства, жюри определились с тем, насколько эти технологии лучше по всем направлениям.
Решение на уровне компании о переходе на новый язык сопряжено со значительными издержками и рисками, особенно если существует существенный объем существующего кода на «устаревшем» языке.
источник