Автор: Бычков Валерий. computerra.ru
20 мая 2013
Первый релиз Java состоялся 23 мая 1995 года. Учитывая популярность языка и количество приложений, которое было создано на этой платформе сомневаться в том, что Java доживет до своего 20-летия не приходится. В 18-лет ребеночек вырос, вроде бы и из дома выгонять еще рано, но родителям уже не до него. В долгосрочной перспективе будущее Java довольно туманно. Ранее популярные языки программирования вообще умирают очень долго. Сегодня Java – кандидат №1 на пополнение списка ранее популярных языков программирования.
Популярность Java
Компания TIOBE составляет свой рейтинг популярности языков программирования на основе количества специалистов, указывающих тот или иной язык в резюме, количества курсов, компаний-разработчиков, продуктов и т.п. Для вычисления рейтинга используется количество упоминаний ключевых слов в поисковых машинах Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube и Baidu. Этот рейтинг говорит скорее о популярности или цитируемости языка и хорошо коррелирует с параметром количество строк, написанных на том или ином языке, и ничего не говорит о том, какой язык лучше.
В 2012 году на место лидера вновь спустя 10 лет вернулся С. В 2004-2005 году с выпуском Java 5.0 популярность платформы несколько просела, но потом вернулась к общему тренду, который вполне отчетливо направлен вниз. При сохранении этой тенденции еще 10-15 лет и Java окончательно превратится в узкоспециализированный серверный язык разработки, у которого есть относительно небольшое количество сторонников-энтузиастов, как Perl, Ruby или Python.
Немного истории: в мае 1988 года на 2 и 3 месте в рейтинге TIOBE были Lisp и Ada, которые сегодня занимают 13 и 23 место соответственно. Cobol, Fortran сейчас на 26 и 27 месте, а 20 лет назад тоже были на первых позициях. Сейчас анахронизмами выглядят реально работающие зомби-решения, созданные на Ada, Fortran, Cobol или Delphi/Object Pascal. Многие из ранее популярных языков программирования отлично подходят для изучения в академической среде. Более того, ряд языков просто специально созданы для обучения студентов тем или иным концепциям программирования и никогда не предназначались для реальных разработок больших решений. Больших проектов реализованных на Java немало, но благодаря вполне образцовой реализации ООП, в качестве академического языка Java популярен и сегодня.
Java на стороне пользователей больше не нужна
Большая часть роста популярности Java была связана с пользовательскими приложениями. Однако, сегодня виртуальная машина Java пользователям больше не нужна. Последнее прибежище виртуальной машины Java — унаследованные корпоративные приложения, домашние разработки, и некоторые пользовательские приложения. Например, такая довольно популярная альтернатива Microsoft Office, как Open Office работает с использованием Java Runtime Environment.
Практически все современные сайты отказались от использования Java на стороне пользователей. Java заменяется на Javascript (у которого, кроме названия с Java мало общего), XML, HTML 5, которые не требуют установки особых плагинов в браузере. Сегодня редкий сайт попросит установить Java и выглядит такое требование для многих пользователей очень подозрительно. Эксперты по безопасности почти приучили пользователей не устанавливать малопонятные приложения по первому требованию сайтов.
В 2012 году Лаборатория Касперского обнаружила пять уязвимостей внутри Oracle Java. Однако по статистике 72% пользователей Java никогда не обновляют виртуальные машины. Более того разработчики нередко препятствуют обновлению виртуальных машин, ограничивая работу своих продуктов строго определенными версиями JVM. В результате идея виртуальной машины, которая должна служить защитой от вредоносного кода, сама становится источником опасности.
Экосистема Java
Язык Java придумали и развивали в компании Sun. С тех пор, как Sun стала частью Oracle, значение этой платформы для правообладателей существенно снизилось. На инфографике, подготовленной Forrester Research, показан расклад игроков заинтересованных в развитии Java.
Sun/Oracle
Компания Sun была поглощена Oracle в 2010 году. С тех пор судьба многие продуктов, выпускавшихся Sun, все еще остается под вопросом. Чем-то Oracle удачно дополнила свой портфель решений, что-то продолжает поддерживать. Однако в отношении некоторых продуктов Sun у Oracle никакой синергии не могло возникнуть. Oracle язык Java нужен даже меньше, чем СУБД MySQL. То, что в СУБД Oracle встроена JVM , позволяющая писать хранимые процедуры на Java – отличная функция, но не критическая и не дающая особых конкурентных преимуществ.
То, насколько некритична эта технология для Oracle хорошо видно по «ближнему кругу» партнеров. SAP и IBM – две компании с которыми Oracle во всех остальных сегментах рынка конкурирует.
IBM
Во многом Java именно IBM обязан тем, что популярность языка не пошла на спад. IBM инициировала и поддерживала проект Eclipse, который позволил создать эффективные современные средства разработки.
Для IBM проект Eclipse нужен был, чтобы поддержать продажи сервера приложений Web Spheres (IBM Application Servers) и серверного оборудования. Последнее, в свете отказа компании от «железной» составляющей бизнеса, сегодня уже не актуально.
Сегодня Eclipse IDE – лучшая среда разработки для Java (даже если не учитывать того, что это бесплатный продукт). Огромный плюс Eclipse IDE в наличии всех необходимых современному разработчику средств обеспечения процесса разработки: контроль версий, средства тестирования, профилирования и т.д. Конечно, сегодня Eclipse – многоязыковая среда, однако Java пока остается ключевым продуктом. Учитывая, что Eclipse Foundation – некоммерческая организация, которая только координирует разработку открытого ПО, радикальный отказ от Java, тут вряд ли возможен. Напомню, что Microsoft исключил Java из Visual Studio.
Только один вопрос: почему все же Sun/Oracle не засудили IBM за Eclipse?
Патентные войны Java: Microsoft, Google, Azul
Sun удачно вытеснила Microsoft с рынка Java. Microsoft попыталась предложить пользователям свою версию виртуальной машины, которая была не совместима со стандартами Sun. Однако патентный спор с Sun Microsystems в Microsoft проиграли. В результате Java (J#)исчезла из Visual Studio и из Windows. Пользователям теперь нужно самостоятельно устанавливать JVM, а как говорилось выше делать это не обязательно. Ну, а у Microsoft для .NET вполне достаточно языков программирования, которые своим происхождением не связаны с Java.
Oracle в точности повторила это достижение Sun. В Google, также как ранее в Microsoft, попытались приспособить Java к нуждам своей ОС Android и точно также проиграли патентный иск. Oracle выиграла и даже заработала на патентах небольшую сумму, однако при этом лишилась пользователей Android.
И то и другое для Java – пиррова победа.
Компании поменьше в результате подобных патентных конфликтов вынуждены договариваться и следовать ограничениями правообладателя. Впрочем, после урегулирования патентных вопросов они тоже начинают поиск способов отказаться от Java. Примечателен пример Azul Systems – также известной по бренду Zing. Forrester Research отнесла Azul к числу самых ближних партнеров Oracle по экосистеме Java. Однако, компания также проиграла патентный спор с Sun. Zing это пошло на пользу, а вот Java вряд ли.
Одно из значений всех этих патентных споров для дальнейшего развития Java – Sun/Oracle продемонстрировали, что не намерены мириться с разделением проекта на несколько параллельных ветвей. Никаких множества версий языка, как в случае с С, не будет. Вы или следуете стандартам, или выбираете другой язык (или другую основу для своего языка). Objective C вполне мог бы называться Objective J, только в Apple не стали связываться с держателями патента.
J2EE – единственная надежда Java
По некоторым сведениям технологии Java используются в таких проектах, как Amazon, eBay, LinkedIn, Yahoo!, Yandex и во множестве других высоконагруженных, масштабных веб-проектах. Java превратился в средство разработки серверных приложений благодаря Java Platform, Enterprise Edition (Java EE или J2EE). Эта реализация Java оказалась действительно очень удачной. Вот только подобное позиционирование еще раз подтверждает, что место Java в одном ряду с Perl, Ruby, Python и другими отличными языками для разработки веб-приложений. А сегодняшние 17% по рейтингу TIOBE для Java непропорционально много.
0
Кому нужен Java, тем более на стороне клиента?
Автор
Ramerup
, 13 фев 2015 03:42
В этой теме нет ответов
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных