Будет ли Java иметь такое же значение, какое оно имело в прошлом, или оно будет менее актуальным, чем сейчас?
Будет ли Java иметь такое же значение, какое оно имело в прошлом, или оно будет менее актуальным, чем сейчас?
Ответы:
Java актуальна и будет оставаться актуальной в течение многих лет в мире корпоративных вычислений.
То, будет ли оно по-прежнему актуально в других областях, во многом зависит от того, что делает Oracle. Если они вложат некоторую жизнь (и ресурсы) в ME, настольные приложения и другие области, и если они будут продолжать эволюцию языка Java, то Java преуспеет.
Но если Oracle уйдет на исследования и разработки и / или попытается затоптать других игроков в пространстве Java, есть большая вероятность, что кто-то / какая-то компания разработает лучший (и более открытый) Java-подобный язык. Если Oracle выиграет их иск против Google, я предсказываю, что у следующего поколения платформы Android будет новый язык, как это произошло с C #. Если Google правильно понимает открытость ... значит, игра включена!
I predict that the next generation of the Android platform will have a new language, just like happened with C#.
Не забывайте, что Гослинг теперь работает на Google; nighthacks.com/roller/jag/entry/next_step_on_the_road
Да, Java, безусловно, сохранит свою актуальность и, вероятно, долгое время будет удерживать свою позицию №1 в качестве общей платформы для разработки программного обеспечения.
Во-первых, причины, по которым Java является и останется хорошим выбором:
Java по-прежнему является самым популярным языком - и это означает, что в нем больше всего разработчиков, большинство текущих разработок, самая большая установленная база и т. Д. Никаких признаков резкого спада нет - если вы посмотрите, например, на тенденцию TIOBE, она может легко остаться № 1 на ближайшие 10-15 лет
Java, несмотря на свои недостатки, по-прежнему является отличным языком для разработки корпоративных приложений . Тот факт, что он многословен и имеет тенденцию продвигать довольно стандартизированный стиль разработки ООП, является хорошей вещью, когда приложения должны поддерживаться многими различными разработчиками в течение многих лет довольно стандартизированным способом. Умные ИТ-директора понимают это, поэтому вы не увидите исчезновения Java на предприятии в ближайшее время. Кстати, и явной целью Java при ее создании было то, что она должна быть «простой, объектно-ориентированной и знакомой».
Успех языков заключается не только в самом языке, но и в экосистеме библиотек, доступных для языка. В этом отношении Java не имеет себе равных благодаря огромному массиву открытых и коммерческих библиотек.
Производительность - JIT-скомпилированный код на современных JVM работает очень близко к оптимизированному нативному коду по скорости. На практике это означает, что Java, как правило, является одной из самых быстрых доступных комбинаций язык / реализация (см. Некорректные тесты, если хотите). Любой, кто думает, что Java медленная (или, ради бога, «интерпретируется»), должна обновить свои факты из прошлого века.
Основная корпоративная поддержка - Java является стратегической платформой, поддерживаемой многими крупнейшими и наиболее важными технологическими компаниями и организациями в мире. Мы говорим о Google, Oracle, IBM, Федерации программного обеспечения Apache и т. Д. Java также имеет существенную поддержку со стороны основных пользователей технологий. - банки, медиа-компании и т. д. Ни один другой язык / платформа не имеет такой широкой отраслевой поддержки (даже если у игроков есть случайные размолвки :-))
Android - дает мощный импульс Java в мобильном пространстве. Многие стартапы нацелены на это, и вполне разумно ожидать, что у мобильных стартапов также будет веская причина выбрать Java на стороне сервера.
Переносимость : Java - самая близкая вещь к подлинной среде кроссплатформенного программирования. Это все, от серверов высшего класса до смартфонов, и скомпилированный чистый код Java будет работать без изменений на всех этих платформах. Очень немногие языки могут сказать это с одинаковой степенью достоверности. Также как язык байт-кода, Java обладает неотъемлемым преимуществом в пространстве библиотек, потому что скомпилированные библиотеки по своей природе переносимы между платформами.
Отличные инструменты - большинство из которых бесплатны и / или с открытым исходным кодом. Netbeans и Eclipse - отличные примеры в среде IDE. Разработчики нуждаются в хороших инструментах, чтобы быть полностью продуктивными, поэтому это важный фактор при выборе языка / платформы.
Java с открытым исходным кодом - не буду вдаваться в подробности, почему это хорошо, но достаточно сказать, что а) базовая реализация Java в OpenJDK и б) большинство интересных библиотек и инструментов Java имеют открытый исходный код.
Java - это не просто язык, это платформа : в JVM есть много многообещающих языков, таких как Clojure и Scala, которые представляют будущее платформы в области языков. Мой прогноз состоит в том, что язык Java продолжает получать незначительные улучшения функций (JDK 7, 8 и т. Д.), В то время как на этих новых языках JVM происходят самые современные инновации. Но это все часть платформы Java.
Во-вторых, как заменить Java? Давайте посмотрим на альтернативных претендентов:
Наконец, некоторые выводы / прогнозы:
Общие относительные позиции (с точки зрения доли рынка) основных языков немного изменятся в течение следующих нескольких лет, но не сильно изменятся. Ява останется № 1.
Вы не ошибетесь при выборе платформы Java на ближайшие 10-15 лет. Не беспокойтесь о том, что Java скоро исчезнет.
В ближайшей перспективе Java-язык - безопасная и надежная ставка. В более долгосрочной перспективе, или если вы чувствуете необходимость быть на переднем крае инновационного / языкового дизайна, я бы порекомендовал Clojure или Scala в качестве новых языков JVM
Люди будут продолжать распространять FUD о Java. Просто игнорируй это.
Даже в худшем (лучшем?) Случае я не могу представить, что Java станет неактуальной в течение 5 лет. Java был использован достаточно, чтобы он находился примерно в той же ситуации, что и COBOL, Fortran и т. Д. - даже если бы каждый с существующим кодом решил переписать все существующие системы на другом языке настолько быстро, насколько это разумно, потребовалось бы более 5 лет, чтобы замените все это (и через 5 лет активного использования еще будет достаточно, чтобы по-прежнему происходило достаточное количество технического обслуживания).
На самом деле это вряд ли произойдет - хотя, безусловно, существуют разные мнения об Oracle, я не могу себе представить, чтобы они делали что-то настолько очевидно ужасное, что все крупные игроки, которые вкладывают огромные средства в Java, бросили бы это очень быстро. Честно говоря, вероятно, потребуется около 5 лет явно плохих решений, прежде чем IBM (например) даже подумает о работе над использованием чего-то другого вместо Java. У них достаточно большие инвестиции в Java, и они вряд ли откажутся от них до тех пор, пока не поверят, что у них практически нет альтернативы.
Я бы сказал, что это снижение. Это не ушло, но прошло его пик.
Два ответа:
1) Android
2) Blackberry
Серьезно, хотя, на настольном компьютере, это может быть в упадке, но это приводит двух конкурентов к iPhone.
Кроме того, в прошлом году я помог многим людям с домашним заданием по Java для школы. Суть в том, что ява все еще преподается в колледжах.
Редактировать:
По состоянию на октябрь 2011 года BlackBerry, похоже, находится в упадке. Android по-прежнему крепок.
Это теряло значение на мобильном рынке, но с Android, оно снова восстановило его.
Java будет релевантным в обозримом будущем, даже если вы определите релевантным, чтобы включать только новый код, а не устаревший режим обслуживания. Да, язык отстой и относится к своим программистам как к непослушным детям вместо того, чтобы соглашаться с взрослыми, и с каменного века не имел подтяжки лица. С другой стороны:
У Java есть несколько потрясающих библиотек.
JVM - это потрясающая платформа.
Вам не нужно программировать на Java, чтобы использовать эти библиотеки, теперь, когда появилось множество языков JVM.
ИМХО, как будут развиваться события, так это то, что Java в мире JVM станет тем, чем C является в скомпилированном мире. Люди будут использовать Scala, Jython, Groovy и т. Д. Для повседневного кодирования, но будут вечно вызывать старый, грубый код Java из этих языков. Определенный критичный к производительности код все еще может быть написан на Java, потому что это, вероятно, самый эффективный язык JVM самого низкого уровня. Старые библиотеки будут нуждаться в новых функциях. Таким образом, Java останется очень актуальной, даже если она не используется обычным программистом изо дня в день.
Я так думаю. Я ожидаю, что его популярность увеличится в течение следующих нескольких лет благодаря недавним улучшениям в плагине и синтаксическим улучшениям, появившимся в Java 7. И у него есть преимущество огромного диапазона хороших библиотек с открытым исходным кодом (по сравнению с .NET), который мог бы легко поддерживать его в течение еще 10 лет.
В настоящее время Qt убивает Java в настольных приложениях. Многие переписывают с Java на Qt. В настоящее время я работаю над одним из них. С того дня, как я начал заниматься программированием, всегда ходили слухи, что Something убьет C ++. Например Visual Basic, Java, C #, но в действительности C ++ все еще продолжается. У этого есть много недостатков, но это все еще идет. У всех других конкурентов была печальная смерть .........
Я не думаю, что это потеряет актуальность. Java 7 просто предлагает множество полезных функций, которые помогут разработчикам легче создавать отличные программы.
Также Java используется для создания приложений Blackberry; один из ведущих корпоративных мобильных телефонов. Можно с уверенностью сказать, что это никуда не денется в ближайшее время.
Я в основном разработчик .NET, хотя я работаю с другими языками (включая Java) по мере необходимости, чтобы получить задачу под рукой. Таким образом, основываясь на моем собственном опыте работы с языком, я не думаю, что он скоро исчезнет, вот почему:
Java язык может быть в медленном упадке, но платформа Java (JVM + JDK) определенно процветала в последние пару лет (Scala, Clojure и многие другие языки; платформа Android). Это просто лучшая (только жизнеспособная?) Мультиархитектура, мульти-ОС, многоязычная платформа, масштабируемая от встраиваемых мобильных устройств до мэйнфреймов, и в настоящее время AFAIK не имеет сравнимых конкурентов. Таким образом, я ожидаю, что платформа Java станет актуальной через 5 лет и даже через 15 лет. Это также делает язык Java актуальным в долгосрочной перспективе, даже если его популярность может быть выше пика.
TIOBE оценивает использование языка ... http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Основываясь на их статистике, Java лидирует и, вероятно, будет долгое время - # 1 с 2005 года. Я использовал Java в своей карьере, и везде, где я когда-либо работал, были приложения / разработчики Java - даже в местах, которые считали себя Microsoft Dev Shops. Java - это такой простой язык, который нужно выбирать, когда вам приходится разрабатывать решения на Mac или Linux Server.
Кроме того, хорошие оле C / C ++ по-прежнему сильны на # 2 и # 3 - в то время как C # - язык, который все считают самым популярным (маркетинг MS в лучшем случае) - даже близко не подходит! Сейчас я использую C #, но потребуются годы, чтобы сравниться с количеством кода, написанного на Java и Delphi.
Так что не бойтесь изучать или использовать Java - для них всегда есть вакансии. Так что да, Java будет очень актуальна еще долго.
Это одно из самых больших имен в корпоративном программировании (J2EE). Я почти уверен, что мы не увидим его в ближайшие пару лет.
Это зависит от того, как язык будет развиваться.
В настоящее время состояние Java не так активно, как язык. Он был рожден для поддержки одной (и только одной) парадигмы: ООП. Он находится где-то посередине между языками, которые допускают абстракции более высокого уровня (например, C ++ и его функции метапрограммирования) и языками сценариев с возможностями отражения (например, команды Python «exec» и «dir»), но каким-то образом ему не удается найти свое реальное место. Это в основном устаревает как "язык". Не факт, что это де-факто стандарт для мобильных устройств, я думаю, что он уже мертв.
Что касается того, что это хороший язык обучения для ООП, у меня есть сомнения в том, что я вижу: все Java-программисты везде порождают шаблоны Visitor и Observer, но у меня нет большого опыта работы с Java-программистами.
Все еще много унаследованного кода, и на мобильных устройствах это стандарт. Тем не менее, я бы никогда не выбрал Java для настольного компьютера или веб-приложения. Нет никаких причин, кроме деловых (большинство менеджеров кивают, если вы говорите «Java», и это, я полагаю, причина, по которой это стандарт для мобильных устройств).
ИМХО, Java будет оставаться очень актуальной и расширяться в использовании, даже если она не развивается в своих конструкциях или возможностях.
Вот мое рассуждение: - Существует много кода, и для его обслуживания требуется больше людей, чем для написания нового кода.
Лагерь «Виртуальные языки слишком медленный» медленно проигрывает (тем более, что Java успешно превратила его в торговлю алгоритмами).
Крупные компании по-прежнему используют его во всех секторах, включая Oracle.
Платформа Android растет быстрее, чем iOS, и других конкурентов не видно, и это приводит к тому, что в язык попадает больше людей.
Людям проще пользоваться, чем функциональным языкам. Языковым пуристам и ученым легко оценить функциональные языки и их возможности, но большинство новичков, не имеющих степеней CS, не в полной мере осознают силу лямбды. Поэтому я не думаю, что эти языки взлетят.
Он полностью бесплатный (в отличие от .NET, который все еще ближе к экосистеме Windows, несмотря на альтернативы).
Java не потеряет полностью свою актуальность еще много лет, но она, безусловно, находится в упадке. Если последние события повлияют на это или Oracle сможет измениться, это еще предстоит выяснить. Но я думаю, что однажды я буду похож на COBOL, без новых проектов, но и никогда не умираю.
COBOL, Fortran и C по-прежнему актуальны. Какова вероятность, что Java исчезнет через пять лет? Возможно, через пять лет не будет много новых разработок на Java, но я бы поспорил и с этим, так как есть много людей, которые используют Java, и магазины довольно медленно переключают свои предпочтительные языки.
Я подозреваю, что все языки в конечном итоге проходят через фазу, когда ученые мужи скажут: «[Язык] - это Кобол [вставить десятилетие здесь]».
Java стала стандартным инструментом, исключительно или одним из основных инструментов, в ряде областей разработки программного обеспечения. Его виртуальная машина популярна как платформа для создания новых языков. Это будет слишком долго только из-за его огромной инерции, даже когда новые лучшие языки станут популярными.
В мире Java были некоторые тенденции - в частности, абсолютно блестящее принятие JRuby и Rails или Groovy и Grails - которые указывают на то, что в Java все еще много жизни. Тогда есть ситуация с Android, которая также в пользу Java. Еще в Snow Leopard на Mac произошли определенные изменения - теперь они поддерживают Midi без внешних драйверов - делают это таким образом, чтобы он также расширял возможности настольных компьютеров. И приложения Swing наконец-то выглядят на 99% нативными (или, по крайней мере, есть много психов, которые верят в это сейчас: 10 лет назад их не было).
У Java был удивительный момент в 90-х, когда казалось, что это решение для всего. Теперь ясно, что ничто не является решением для всего. .Net пинает задницу, и Ruby, и Python, и PHP (с глупыми CMS-решениями и целыми средами, на которых люди поженятся на всю жизнь!), И Java (с Groovy JRuby JPython в любом случае), и еще кучу всего. Ответ:
Ожидайте плюралистическую вселенную
Будет ли Java продолжать играть важную роль в этой вселенной? Если вы имеете в виду «языки, которые работают на JVM», ответ будет наиболее определенным. Если ответом является просто Java (язык, JVM и т. Д.), То ответ «возможно, не так важен». Но давай, даже Кобол все еще висит.
Google много пишет на Java, а Google является крупнейшей компанией в Интернете. Я думаю, что Интернет - это будущее - веб-приложение, облачные вычисления - и поэтому я думаю, что Java все еще актуальна в будущем.
И есть Android, который, по моему мнению, является будущим смартфонов. И некоторые люди говорят, что смартфоны - это будущее компьютера, но это не мое мнение :), но это также дало Java большое будущее. Так иди на Яву: D
Если это связано с какой-то отраслью (например, банковским делом, мобильными платформами и т. Д.), Это все равно, что спросить: «Будет ли Internet Explorer актуальным через 5 лет?» Сегодня есть много компаний, которые имеют внутренние веб-сайты для IE, которые нельзя переписать с нуля. Так что это не «актуально», а «неизбежно».
Подходя к вашему вопросу - нет, это не актуально в качестве движущей силы инноваций; но да, это актуально, потому что во многих отраслях промышленности требуется поддержка Java-приложений в течение многих лет.
Вот статья из ReadWriteEnterprise об упадке Java:
http://www.readwriteweb.com/enterprise/2011/02/javas-not-dying-its-mutating.php
То, что мы наблюдаем, - это не смерть Явы, а ее трансформация. Она превращается из простой платформы общего пользования, которая доминировала на предприятии, в кишечник многих разнородных технологий для различных специальных приложений.
Также рассматривается, как конкретные инструменты предоставляют альтернативы технологии Java, но не обязательно заменяют ее:
Хотя базы данных NoSQL предоставляют альтернативу реляционным базам данных, это не означает, что реляционные базы данных исчезнут. Аналогично, Node.js предоставляет специализированную альтернативу Apache, но не убивает Apache.