Зачем нужна Java на компьютере или ноутбуке. Что собой представляет Java

Зачем нужна программа Java на компьютере?

Мне приходил мастер настраивать компьютер. Windows 7 поставил, кучу драйверов и с десяток программ типовых, очевидно. Вот смотрю я на список программ, вроде бы все понимаю, зачем нужны. А вот зачем нужна программа Java на компе не знаю. Это что-то системное, типа драйвера? Спасибо за ответ.


асуна | 23 декабря 2015, 18:56
Существует множество приложений и веб-сайтов, которые не работают при отсутствии установленной Java.

Женя Вайдберг | 19 февраля 2015, 11:00
Java - это такой язык программирования (объектно-ориентированный, если это о чем-то говорит). Прелесть его заключается в том, что приложения Java могут работать на любой платформе и компьютерной архитектуре при наличии так называемой виртуальной Java-машины. Собственно, скачивая Java , вы скачиваете себе на компьютер именно эту виртуальную машину, которая может интерпретировать код.

Без установки этого дистрибутива у вас попросту не будут работать многие из программ, например, OpenOffice, Minecraft и т.п. Даже программная оболочка для драйверов nVidia использует его. Поэтому ставить ее обязательно.

Евгений | 16 февраля 2015, 09:52
Java - это специальный язык написания программ. Чтобы эти программы работали, на компьютер нужно установить Java (одну на все программы Java).

Этот дистрибутив бывает для установки в систему, что лучше (мороки меньше) и портативный. На языке Java есть программы практически всех категорий. Если не ошибаюсь, они могут работать на компьютере с любой ОС (не только с Windows). И даже на мобильных устройствах.

Что такое Java и зачем она нужна?

Java - это язык программирования и вычислительная платформа, выпущенная компанией Sun Microsystems в 1995 году. В настоящее время разработка Java ведется компанией Oracle .
Есть множество приложений и веб-сайтов (см Java-апплет , Java Web Start), которые будут работать, только если у вас установлена Java.

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

Приложения Java обычно компилируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине (JVM) вне зависимости от компьютерной архитектуры.

Уязвимости Java

Наличие в системе устаревшей версии Java приводит к тому, что начинают активно эксплуатироваться злоумышленниками для проведения атак на целевую систему.

Так в 2010 году значительно увеличилось число попыток взлома системы безопасности JVM , в результате чего Java стала более атакуемой, чем Acrobat и Flash . Рост числа атак вызван увеличением количества компьютеров с установленными Java -программами и с высоким процентом компьютеров, на которые не были установлены обновления JVM, устраняющие уязвимости системы безопасности.

Критики полагают, что обновлённые версии JVM не используются, поскольку многие пользователи просто не знают о том, что у них на компьютере установлена JVM (некоторые сборщики компьютерных систем предустанавливают помимо ОС еще и прикладной софт), и поскольку многие пользователи не знают, как обновить JVM . Что же касается корпоративных компьютеров, то многие компании ограничивают права пользователей на установку программного обеспечения и слишком медленно устанавливают обновления.

Среди предложений, выдвинутых критиками, есть такое, что , учитывая угрозу безопасности, и небольшое количество веб-сайтов, которые требуют, чтобы надстройка с JVM была установлена в браузере.

Заражения большинством видов троянов-блокировщиков , троянов семейств Carberp и Mayachok.1 происходят при помощи так называемых drive-by атак (см. Blackhole exploit kit ) в том числе и по причинам наличия в системе пользователя установленной устаревшей версии Java . Так же следует вспомнить недавнюю эпидемию, вызванную троянской программой BackDoor.Flashback , инфицировавшей более 650 000 компьютеров, работающих под управлением операционной системы Mac OS X, которая произошла по причине эксплуатации уязвимости Java.

Обновление Java

Обновление Java - это функция, которая позволяет гарантировать наличие на компьютере последних версий Java. Функция обновления Java подключается к серверам обновлений в запланированное время и проверяет наличие доступных обновлений.
Можно настроить частоту проверки наличия обновлений, а также возможность обновления вручную в любой момент.

Спойлер: Инструкция по автоматическому обновлению Java

Если функция автоматического обновления включена, система периодически проверяет наличие новых версий Java. При обнаружении новой версии отображается запрос на обновление установленной версии. В случае подтверждения запроса ранее установленная версия будет заменена новой.

Изменить настройки обновления Java на панели управления Java.

  1. Найдите панель управления Java
    Windows XP Щелкните Пуск > Настройки > Панель управления
    Windows 7, Windows Vista Щелкните Пуск> Панель управления
  2. Запустите панель управления Java, дважды щелкнув на значке Java . Откроется панель управления Java.
  3. Для получения доступа к настройкам перейдите на вкладку Обновить .
    Примечание.
    • Вкладка Обновить может быть недоступна, если сетевой администратор отключил функцию обновления Java при установке.
    • Если вход в систему выполнен не с помощью учетной записи администратора, то параметры уведомлений об обновлениях Java будут недоступны и пользователь не сможет изменить их.
  4. Чтобы настроить автоматическую проверку наличия обновлений для функции обновления Java, установите флажок .
  5. Чтобы отключить функцию обновления Java, снимите флажок Автоматически проверять наличие обновлений .

Изменить параметры уведомлений

Существует два параметра уведомлений:

  • До установки Этот параметр используется для включения автоматической загрузки и настройки получения уведомлений до установки обновления Java.
  • До загрузки и до установки Это параметр по умолчанию. Этот параметр используется для настройки получения уведомлений до загрузки и установки обновления Java.

Изменить расписание обновлений

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

Наличие обновлений можно проверить вручную нажатием кнопки Обновить сейчас в нижней части вкладки "Обновить" на панели управления Java.


Установить новое обновление
Последние версии установочных пакетов Java RE доступны на сайте Oracle

Деинсталляция Java

Всегда рекомендуется использовать последнюю версию Java , так как в ней содержатся обновления и улучшения предыдущих версий. Можно проверить наличие на компьютере последней версии Java , посетив веб-страницу Java Verification (Проверка Java) .

Настоятельно рекомендуется удалить из своей системы все предыдущие версии Java .
Сохранение в системе старых и неподдерживаемых версий Java представляет серьезный риск нарушения безопасности .
Удаление из системы предыдущих версий Java гарантирует выполнение приложений Java в системе с самыми последними усовершенствованиями безопасности и производительности.

Спойлер: Инструкция по удалению Java

Удаление старых версий Java производится так же, как удаление любого другого программного обеспечения из системы Windows.

Windows 7 и Vista

  1. Выберите Start (Пуск) .
  2. Выберите .
  3. Выберите Programs (Программы) .
  4. Выберите Programs and Features (Программы и компоненты) .
  5. Выделите программу, которую требуется удалить, и нажмите кнопку Remove (Удалить)
Для удаления программ могут потребоваться права администратора.

Windows XP

  1. Выберите Start (Пуск) .
  2. Выберите Control Panel (Панель управления) .
  3. На панели управления щелкните значок Add/Remove Programs (Установка и удаление программ) .
  4. В окне "Add/Remove Programs" (Установка и удаление программ) отображается список всех программных продуктов, установленных в системе, включая программное обеспечение Java. Выделите программный продукт, который требуется удалить, и нажмите кнопку Remove (Удалить) .

При написании инструкции использовалась информация с сайтов Java.com и Википедия

Если вы новичок и только начинаете учить Java, вы наверняка задумывались, где именно используют Java? Вы не наблюдаете множество игр, написанных на Java, за исключением Minecraft, такие настольные утилиты, как Adobe Acrobat, Microsoft Office не написаны на Java, так же, как и ваша операционная система, будь то Linux или Windows, так где же всё-таки применяют Java? Имеет ли она какое-либо реальное применение вообще? Что ж, вы не одиноки, многие программисты, только вступившие на IT путь или уже уверенные специалисты, задаются этим вопросом. Между тем, вы можете узнать, где используется Java, просто установив Java на ваш компьютер, Oracle утверждает, что более 3 миллиардов устройств работают на Java, довольно большое число, не так ли? Большинство крупных компаний так или иначе используют Java. Многие серверные приложения, обрабатывающие десятки миллионов запросов в день, написаны на Java, высокочастотные трейдинговые приложения также написаны на Java, например трейдинговые приложения LMAX, использующие их новаторский многопоточный параллельный фреймворк Disruptor . В этой статье мы более подробно рассмотрим, в каких проектах используется Java, в каких областях она доминирует и где вообще применима в реальном мире?

Этот универсальный язык программирования используют компании разного масштаба в своем корпоративном серверном ПО. Написанные на Java приложения можно найти везде: в «умном» чайнике, твоем Android-смартфоне, компьютере или автомобиле Tesla. И поскольку Java есть везде, найти работу, зная этот язык, довольно просто.
Зачем нужно учить Java?
Всё просто: Java - универсальный язык, который используют сотни тысяч компаний. Так что если вы знаете Java, довольно легко найти интересную работу. Java достаточно несложен в освоении, поэтому он подходит тем, кто впервые подошёл к изучению программирования. Этот язык работает на всех платформах, и хотя он постоянно обновляется и модернизируется, старый Java-код совместим с новым.

Реальные Java приложения

Существует множество областей применения Java, от сайтов электронной коммерции до Android приложений, от научных до финансовых приложений, таких как трейдинговые системы, от игр, типа Minecraft, до настольных программных средств, таких как Eclipse, Netbeans и IntelliJ, от open source фреймворков до J2ME приложений и т.д. Давайте детальнее рассмотрим каждое из них.

Android приложения

Если хотите увидеть, где используется Java, не нужно далеко идти. Просто возьмите свой телефон на Android, абсолютно все приложения написаны на Java, с использованием Google и Android API, которые схожи с JDK. Пару лет назад Android предоставил необходимые возможности, благодаря чему сегодня многие Java программисты – Android разработчики. Кстати, Android использует другую JVM и другой и другой способ компановки, но код всё ещё написан на Java.

Серверные приложения в сфере финансовых услуг

Java очень обширно применяется в финансовой сфере. Многие мировые инвестиционные банки, типа Goldman Sachs, Citigroup, Barclays, Standard Charted и другие используют Java для написания фронт-энд и бэк-энд офисных электронных систем, систем регулирования и конфирмации, проектов обработки данных и некоторых других. Преимущественно Java используется при написании серверных приложений, в большинстве своём без какого-либо пользовательского интерфейса, которые получают данные с одного сервера, обрабатывают их и отправляют дальше. Java Swing был также популярен для создания «толстоклиентных» интерфейсоф, но сейчас C# быстро захватывает рынок в этой области, а Swing уже выдыхается.

Вэб-приложения

Также Java широко используется в электронной коммерции и в области вэб-приложений. Огромное количество RESTful сервисов было создано с использованием Spring MVC, Struts 2.0 и похожих фреймворков. Даже простейшие приложения, основанные на Servlet, JSP и Struts, достаточно популярны в различных государственных проектах. Многие вэб-приложения государственных, оздоровительных, страховых, образовательных, оборонительных и некоторых других отделений написаны на Java.

Программные средства

Многие полезные програмные средства и средства разработки написаны и разработаны на Java, например Eclipse, IntelliJ Idea и Netbeans IDE. Мне кажется это, к тому же, наиболее используемые приложения, написанные на Java. Было время, когда Swing был очень популярен при создании «толстых клиентов», преимущественно в финансовой сфере. Сегодня Java FX набирает всё большую популярность, но это всё ещё не замена Swing, к тому же C# практически полностью вытеснил Swing из финансовой области.

Трейдинговые приложения

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

J2ME приложения

Несмотря на то, что появление iOS и Android практически уничтожило J2ME рынок, в мире ещё огромное количество дешёвых телефонов от Nokia и Samsung, использующих J2ME. Было время, когда практически все игры и приложения, доступные на Android, были написаны с использованием MIDP и CLDC, которые являются частью платформы J2ME. J2ME всё ещё популярен в таких средствах, как Blu-ray, карточки и телевизионные приставки. Одна из причин такой популярности WhatsApp – он также доступен на J2ME.

Встраиваемые системы

Обширна Java и в области встраиваемых систем. Можно увидеть на что способна платформа, вам нужно всего 130 KB для использования Java (на смарт-картах и сенсорах). Изначально Java разрабатывалась для встраиваемых систем. В действительности эта область была частью начальной кампании Java «пиши один раз, запускай где-угодно» и похоже, что она приносит свои плоды.

Большие данные

Hadoop и другие технологии обработки больших данных так или иначе используют Java, например Hbase и Accumulo от Apache, или ElasticSearch. Хоть Java и не доминирует в этой области, поскольку существуют такие технологии, как MongoDB, которые написаны на С++. У Java есть потенциал получить большую долю этой растущей области, если Hadoop или ElasticSearch расширятся.

Высокочастотные трейдинговые пространства

Java улучшила свои эксплуатационные показатели и с современными JIT-ами она способна предоставить производительность на уровне С++. По этой причине Java популярна и при написании высокопроизводительных систем, потому что хоть производительность проигрывает в сравнении с родным языком, но вы можете пожертвовать безопасностью, мобильностью и надёжностью ради большей скорости и требуется всего один неопытный С++ программист, чтобы сделать приложение медленным и ненадёжным.

Научные приложения

В наши дни часто Java – выбор по-умолчанию для научных приложений, включая обработку естественного языка. Основная причина в том, что Java более безопасна, мобильна и надёжна и имеет лучшие инструменты параллелизации, чем С++ и другие языки. В девяностые Java была достаточно популярна в интернете, благодаря апплетам, но спустя годы, апплеты утратили свою популярность, преимущественно из-за различных проблем безопасности. В наши дни настольная Java и апплеты практически мертвы. Java по-умолчанию любимец в индустрии программного обеспечения, и широко используется в финансовой сфере, инвестиционных банках и в области электронной коммерции. Каждый, изучающий Java, имеет яркое будущее. Java 8 только укрепила веру в то, что Java продолжит доминировать в области разработки ещё долгие годы. В комментариях к статье поставили под вопрос реальное применение Java, из-за обилия финансовых примеров в самой статье и задались вопросом, есть ли у Java будущее в настольной разработке, и не лучше ли учить C#? Вот некоторые контраргументы: There is no point for a Java developer to learn C# as they are similar language but just for different technical stack, instead you should learn Python, Ruby or Perl. Scripting language are very good for small tasks. Нет никакого смысла для Java разработчика учить C#, поскольку это похожие языки, но для разных областей. Вместо этого лучше учить Python, Ruby или Perl. Скриптовые языки хороши для небольших заданий. Java is actually used EVERYWHERE, it"s in your phone, it"s in your cable"s settop box, it"s in your credit card, it"s on the server which you are currently connected to, it"s on the browser you are currently using it. Java is the most ubiquitous language ever created. Java фактически используется повсюду, она в вашем телефоне, в вашей телеприставке, в вашей кредитке, на сервере, к которому вы сейчас подключены, в браузере, который вы сейчас используете. Java - наиболее вездесущий язык, который когда-либо создавали. Также в коментариях даются ссылки на пару статей, а именно: Второе пришествие Java и Работодатели хотят знаний Java как ничто другое . Если изъявят желания, то можно перевести и их. P.S.: прошу оценить перевод, сделать замечания, указать на ошибки, потому что появилось желание переводить и хочется, чтобы всё было на подобающем уровне. Перевод и доработка статьи
  • Перевод

Легко забыть значимость технологии, как только она пронесется кометой через коллективное сознание и погаснет огненной смертью за горизонтом. К примеру, Cobol - когда-то этот язык был культовым для целой эпохи, а сейчас его можно сравнить разве что с протухшей рыбой. В наши дни любой хипстер-программист вам отчеканит, что Cobol – это полный отстой, старый и бесполезный язык. Java может стать следующей жертвой «актуальных» суждений.

Пик продаж книг по Java – далеко в прошлом. Матерые Java-утилиты уже не достаточно сексуальны для обложек журналов. Java уже 19 лет, а прогрессивные разработчики увлечены такими моднейшими и актуальнейшими технологиями как Node.js, Objective-C, Dart, Go и т.д., удивляясь: «Java? Этот артефакт эпохи Web 1.0 еще жив?»

Беглый поиск на Dice.com показывает, что работы на Java - навалом. Если для iOS около - 2500 предложений, для Java - более 17000. Конечно, нельзя всецело полагаться на эти цифры. Но тот факт, что на Dice.com рынок работы на Java потенциально в семь раз больше, чем для моднейшей iOS, говорит о том, «старина Java» чувствует себя довольно таки неплохо.

Может быть, это потому, что Java предлагает бизнес-план более привлекательный, чем отдать 30 процентов доходов Apple и скрестить пальцы в надежде, что ваше приложение попадет в список Top-25. В большинстве случаев, Java решает задачи, более полезные, чем помочь злым птицам отомстить не менее злым свиньям. Java является основой ряда платформ, предназначенных для разработки программного обеспечения и обеспечивающих эффективную работу на системах с разной чип-архитектурой. Java помогает решать задачи разработчикам серверных, клиентских и встраиваемых систем.

Прежде, чем мы забудем огромный вклад Java в IT-отрасль и его роль в наши дни, хотелось бы озвучить 12 веских причин, почему Java не просто выживает, но и активно процветает наши дни.

Не называйте это возвращением; Java никуда не уходила, она тут и повсеместно доминирует.

Причина № 1: Непотопляемость в мире политики (зачастую грязной)

Мир технологий никогда не давал Java ни дня продыха, ее враги были многочисленны и хорошо вооружены. Несмотря на это, язык процветал. Многие из ее недоброжелателей, удивлены, что Java до сих пор в добром здравии. Они слишком часто прислушивались к мнению Java-хейтеров и не старались понять причины ее успеха.

Первым большим врагом Java была Microsoft. Эта компания увидела в Java наиболее достойного преемника тому единству, которое на то время предлагал только MS-DOS. Редмонд критиковал и боролся с Java с самого начала. Java не пользовалась успехом для разработки десктоп-приложений, отчасти потому, что магическая виртуальная машина Java запускалась слишком медленно. Несмотря на небольшие притормаживания, в целом, Java приложения в Windows достаточно юзабельны.

По какой-то необъяснимой причине, Стив Джобс никогда не любил Java. Даже когда Mac в значительной степени проигнорировали все, кроме Adobe, Java не дали шанс. Java-совместимость могла бы активизировать разработку для Mac-а, но для Apple – Java всегда была актером второго плана. (В общем-то, смартфоны на iOS работают более плавно, чем мой Android, так что, возможно Стив был прав)

Java также пострадала от многочисленных внутренних разборок. В IBM любили этот язык, но всегда сражались с Sun. Решение IBM о том, чтоб назвать свою замечательную IDE «Eclipse» (Затмение), было довольно холодно принято людьми из Sun (парни из Sun никогда не понимал в бизнесе настолько хорошо, как IBM).

Не смотря на все оплошности создателей, Java стремительно укрепляла позиции на серверах и становилась пригодной для эксплуатации в десктоп-сегменте. Каждая технология должна плыть против политических течений, и в случае Java, она упорно плыла дальше, доказывая, что является отличным инструментом для решения задач.

Причина № 2: Магия потоков

Одна из сильных сторон виртуальной машины Java, всегда была ее способность с легкостью жонглировать несколькими потоками. JVM оптимизирована для больших многоядерных машин, и она без проблем может управлять сотнями потоков. Благодаря этой способности, на JVM появились и другие языки - создаются кросс-компиляторы и эмуляторы, работающие поверх JVM.

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

Ruby является одним из современных конкурентов Java. У него более чистый, напоминающий живой английский язык, синтаксис. Но все же, когда любителям Ruby нужна высокая производительность, они обращаются к JRuby. Это версия Ruby, которая бежит поверх JVM, обеспечивая гораздо более высокую производительность при больших нагрузках с множеством потоков. Вложив кучу усилий для надежной работы с потоками, инженеры из Sun не прогадали.

Причина №3: Java, как первый язык программирования

Java является основным языком для Advanced Placement Computer Science (Advanced Placement (AP) - учебная программа и экзамены для учащихся средней школы в США). Это означает, что зачастую, для студентов Java является первым языком программирования. Таким образом, Java дальше с ними «и в горе и в радости». Когда в дальнейшем студенты изучают новые языки программирования, они сравнивают с тем, что есть в Java. Если они даже меняют Java на что-то другое, их мнение все равно базируется на том, что они узнали «в первом классе».

У Java множество преимуществ для изучения информатики. Некоторые программисты ненавидят указывать типы данных, часто называя это «подушкой безопасности» в программировании. Это может звучать странно, но это отличный способ для новичков понять, как устроен компьютер. Требование указывать типы данных заставляет их думать о внутреннем устройстве системы.

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

Кто-то пытается продвинуть собственный язык, и в большинстве случаев создает язык с менее строгим синтаксисом, чем у Java. Это отлично, но вот более простой и чистый синтаксис таит свои опасности, которые проявляются позже. Кто-то считает, что «подушки безопасности» ограничивают их свободу в программировании, но Java прививает хорошие привычки с самого начала. В дальнейшем, накопив опыт, бывшие «новички» смогут приручить более изящные и опасные конструкции.

Причина №4: (Почти) кроссплатформенная совместимость

Язык Java не был первым языком для написания кроссплатформенных приложений, но он стал самым популярным. Это не означает полную совместимость на разных платформах - отсутствующие библиотеки или несовместимые версии библиотек запросто похоронят ваш код. Вы не можете взять код десктоп приложения, скомпилированный под JRE 1.7 и запустить его на телефоне в Java ME. Чуда не произойдет.

Sun, а сейчас и Oracle, выжимают по максимуму для кроссплатформенности. Когда код не работает, как правило, понятно, в чем проблема. Если вы используете правильные версии Java и у вас достаточно памяти, ваш код будет работать. Java разработчики могут разрабатывать приложение на своем компьютере, а затем развернуть его на целевой платформе, будь то телефон или сервер. Если для компилятора доступны нужные библиотеки, код будет работать. Это бесценно.

Причина № 5: Устойчивый успех Java на микрочипах

Java никогда не была популярным инструментом для разработки десктоп-приложений, но она расцвела в мобильном сегменте рынка, который, в последнее время рванул вверх. Платформа Android построена на Java от и до, и в настоящее время Android устройства продаются лучше, чем iPhone.

Это господство не в новинку. Урезанная версии языка и виртуальной машины, известные как Java ME широко использовались во многих так называемых недосмартфонах (feature phone), которые исчисляются миллионами во всем мире.

Если все это слить вместе, доминирование Java - ошеломляющее.

Причина № 6: Blu-Ray

Язык Java когда-то назывался «Oak» предназначался для ТВ-ресиверов, где компания Sun хотела доминировать. Точно придерживаться плана не получилось, но Java все равно удалось найти уютное место в гостиной. Blu-Ray стандарт построен вокруг Java, и тому, кто хочет добавить дополнительный контент на Blu-Ray нужно будет воспользоваться Javac компилятором.

Blu-Ray диски – это не просто сырое видео. С помощью Java-кода можно изменить/добавить дополнительные функции и интерактивность. Blu-Ray диски – это смесь сжатого видео и Java байт-кода.

Причина № 7: Фигурные скобки просто работают

Любители таких модных языков, как Ruby, Python, или CoffeeScript снисходительно наблюдают за тем, как Java (и C) принуждают программистов вставлять фигурные скобки, явно обозначая начало и конец каждого блока кода. Круглые, фигурные, и даже квадратные скобки - все это проклятие для этих прогрессивных разработчиков. (Я сам не люблю скобки, и до сих пор ностальгирует по тому, как в некоторых версиях Lisp-а можно закрыть все открытые скобки одной квадратной скобкой)

Но изменение пунктуации не устраняет сложности, а скрывает их. Использование пустого пространства для обозначения вложений заставляет вас интуитивно видеть то, что вы не можете видеть. Обозначение вложенности пробелами отлично работает, если ваше выражение помещается на одну строку, но становится ужасным, если у вас несколько уровней вложенности. Когда я пишу на Python-е, я замечаю за собой, что считаю и пересчитываю отступы. Если код выглядит как английский язык, не означает, что его также легко понять, как и предложение на английском.

Причина № 8: Groovy

Если Java программистам нужен более чистый и простой синтаксис, динамическая типизация, это не повод сбежать к новомодным языкам. Они могут использовать Groovy, аккуратный хак Java с препроцессором, который производит JVM байт-код. Язык полностью интегрирован с Java - вы можете смело вызывать Java библиотеки из Groovy кода. Это как Java с плюшками.

Такая гибкость позволяет программистам самостоятельно конструировать решение своих проблем. Когда Groovy медленнее (такое часто бывает при использовании динамического вызова методов), программист всегда может переписать куски кода критичные для производительности на core Java.

Причина № 9: JVM

JVM была построена и оптимизирована под типизированный код со статическим контекстом, генерируемый javac компилятором, но со временем разработчики языков поняли, что JVM может запускать код написанный не только на языке Java. Если компилятор создает корректный Java байт код, JVM не волнует на каком языке он был написан. Разработчики Haskell, Scala, Clojure и вскочили на подножку «мощного электровоза Java» создав свои компиляторы.

Привлекательность очевидна. Sun/Oracle делает свою часть работы по созданию кросс-платформенной среды, а все остальные пользуются этим. Инженеры Sun/Oracle причесывают платформу и беспокоятся о совместимости, а мы пишем код на том языке, который нам по душе.

Microsoft позаимствовала эту идею (а также многое другое), создав C# и свой подход к созданию компиляторов для языков, работающих на C# VM (CLR). C # программисты говорят, что могут писать на разных языках – правда, только на VM под Windows. Удивительная гибкость!

Причина № 10: Революция NoSQL, построенная во многом на Java

Давным-давно, база данных была непостижимым черным ящиком, который хранит информацию и быстро и эффективно отвечает на запросы. Потом пришла революция NoSQL, - программисты поняли, что могут писать свои собственные базы данных и адаптировать код к своим потребностям. Большая часть из основных игроков на рынке NoSQL была написана на Java. Cassandra, Lucene, ElasticSearch, HBase и neo4j – это лишь некоторые примеры. Кроме того, есть некоторые ACID-совместимые базы, написанные на Haskell и работающие на JVM.

Эти базы, как правило, с открытым исходным кодом и легко встраиваемы. Кто-то запускает их как независимые сервисы, кто-то встраивает их код (в виде библиотек) в свой собственный стек. В любом случае, статус Java в качестве рабочего языка на уровне базы данных гарантирует, что разработчикам на Java разобраться и работать с этими базами будет легче. Кодировки или разделители строк не будут волновать Java-разработчиков.

Причина № 11: в этом веке рулит Minecraft

Пока Ruby продолжает собирать свою долю поклонников, следующее за ними поколение влюбляется в Java. Почему? Одно слово: Minecraft. Он написан на Java. Юные геймеры, желающие расширить Minecraft, должны знать Java, чтобы писать плагины под Minecraft. Это гарантирует, что повзрослевшие «детки» будут непременно писать на Java.

Причина № 12: Открытый исходный код

Компания Sun всегда была одним из лидеров в Open Source сообществе, но она так и не решилась полностью освободить Java. Это не помешало Java программистам написать кучу отличных библиотек и проектов под свободными открытыми лицензиями. Проект Apache продолжает поставлять множество проектов на Java под лицензией, которая не требует многого взамен.

Sun закончила выпускать большую часть кода под лицензией GPL в 2007 году. С тех пор, компания Sun и ее новый владелец, Oracle, старались быть хорошими менеджерами для языка Java. Несомненно, Oracle подмочил свою репутацию исками к Google, но в остальном, платформу можно в значительной степени считать открытой и свободной.

Ненавистников предостаточно, но Java двигается вперед

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

Однако ни одна из конкурирующих технологий не смогла настолько широко и глубоко высадиться на берега IT-индустрии. Хотя некоторые из проблем Java довольно легко исправить, исправления обычно вносят свои собственные проблемы.

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

В 1995 году софтверный гигант Sun Microsystems выпустил в свет новую платформу под названием Java. В ее составе оказался язык программирования и так называемая Java Runtime Environment или среда исполнения для приложений, написанных с использованием Java. В свою очередь в состав JRE вошли базовая система типов языка Java, виртуальная машина, чаще называемая машиной Java, и целая библиотека вспомогательных классов.



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

Подробней о работе Java

В отличие от приложений, созданных, например, на Си, JRE по-другому собирает файлы исходного кода приложения, созданного с помощью языка Java. В результате компиляции приложение на Си проходит этап создания так называемого объектного кода или машинного кода (этап ассемблирования), из которого линковщиком собирается исполнимый файл, зависимый от установленной на ПК платформы. Приложение же, написанное с использованием Java, в результате процесса компиляции создает так называемый байт-код, независимый от операционной среды, в которой собирается. Однако для того, чтобы этот байт-код мог быть собран на заданной платформе в исполнимый файл, необходимо чтобы на данной платформе была установлена среда исполнения JRE. Это и есть вот тот инструмент, о котором часто пользователи задаются вопросом: «Зачем нужна Java на компьютере?».


Немного о популярности Java-программ

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


Существует ли альтернатива Java?

Примером альтернативы для Java может стать платформа.Net от другого софтверного гиганта под названием Microsoft. Она также в своем назначении имеет компоненту кроссплатформенности, благодаря наличию MSIL-кода, который является аналогом байт-кода Java. Однако в отличие от Java платформа от Майкрософт инсталлируется только под операционные среды Windows, а поэтому остается платформозависимой, хотя и есть попытка переноса этой платформы под другие операционные системы в виде проекта Моно. Важным преимуществом этой платформы является возможность разработки под нее на множестве.Net-совместимых языках.



Просмотров