Средство программирования Java – это язык высокого уровня, который не зависит от платформы (Windows, Mac или Linux), является объектно-ориентированным и одним из самых популярных в мире.
Изначально был разработан корпорацией Sun Microsystems, которая затем стала частью американской девелоперской компанией Oracle.
Краткая история
Проект Java был основан канадским программистом Джеймсом Гослингом, первоначально назывался «Дуб» (по-английски - Oak), а затем был переименован в честь всемирно известной марки кофе. Цель создания – написание программ для бытовых приборов. Например, команда планировала написание софта для обычных видеомагнитофонов и кухонных тостеров.
Но к середине 90-х годов XX века приоритеты сместились – начали бурно развиваться сетевые технологии, поэтому руководство компании Sun решило переориентировать Java на создание интернет-приложений. И правильно сделало – популяризация Всемирной паутины превратило этот язык программирования в самый распространенный на всем земном шаре.
Создатели технологии Java усовершенствовали графические (ранее это было одним из проблемных мест) и другие возможности платформы. Главная особенность Java - открытый исходный код. Это значит, что пользователи, применяющие разработку, получают абсолютно полный доступ ко всему функционалу своих проектов.
Сейчас Java применяется для написания множества серверных приложений и клиентского софта.
Особенности Java
Сама технология Явы опирается на синтаксис языка C, а объектно-ориентированные функции – на C++.
Как сейчас используется Java:
- Разработчик пишет приложение. Тип его системы не имеет значения.
- Продукт выкладывается в сети.
- Пользователь скачивает софт.
- Запуск программы (или версии) производится в любой ОС – Windows, Mac, Linux и любых других. Единственное требование – установка соответствующих библиотек, которые находятся в свободном доступе.
Во время разработки исходный программный код преобразуется в набор инструкций, который представлен последовательностью байтов. Один байт равен одной операции.
Полученная программа способна запускаться на любом компьютере при помощи виртуальной машины Java.
Для изучения Java не требуется много времени. Даже начинающий программист способен в кратчайшие сроки приступить к созданию приложений.
Еще одна особенность Java – автоматическая работа с памятью (утилизатор памяти). Разработчик не должен заботиться о ее освобождении - сама платформа оптимизирует код так, что не используемые объекты выгружаются из ячеек автоматически.
Что требуется для разработки и запуска программ
Компания Sun Microsystems распространяет программный продукт для разработчиков - Java Development Kit.
Потребителям продукции предоставляется возможность скачать исполняющий комплекс, основа которого – виртуальная машина Java (JVM).
Существуют как решения от компании Sun, так и сторонние:
- Microsoft VM – разработка «Майкрософт» только для систем Windows. После конфликта в суде с компанией Sun для конкурирующей виртуальной машины установили ограничения;
- Eclipse – отпочковавшийся от IBM некоммерческий проект. Кроме Java поддерживает другие языки. Отношения с компанией Sun также весьма натянутые.
На данный момент в мире несколько десятков виртуальных машин, поддерживающих Java – и коммерческие, и бесплатные.
Как сейчас применяют Java
Большинство пользователей слышали о таких языках как Basic, Pascal, C и C++. Половина из них используется для обучения, остальные – для написания операционных систем и драйверов.
А как используется Java:
- софт, работающий под управлением мобильных операционных систем – Андроид или iОS, пишется именно не этом языке. Упомянутые корпорации являются крупнейшими заказчиками приложений на Java. Один только рынок мобильных ява-игр оценивается в 70 млрд. долларов США;
- серверные и веб-приложения. Особенно часто можно встретить программы для специалистов финансового сектора. Заказчиками ПО становятся крупные банки и корпорации, которым требуются решения для обработки информации на серверах. Не отстают от них и государственные структуры – они заказывают прикладные приложения для внедрения в страховые, социальные и даже военные проекты;
- программы для финансовых бирж и букмекеров – этот софт скачивается прямо с официальных сайтов трейдерами на бирже или азартными игроками. Отличительная особенность – в дальнейшем клиенту не нужно посещать сайт – он осуществляет вход в личный кабинет из Java-приложения. Это существенно снижает нагрузку на сервера;
- научные программы – благодаря кроссплатформенности и открытости, Java завоевывает любовь интернационального ученого сообщества. Среду используют не только специалисты IT, но и астрофизики, генетики, лингвисты.
Причины, по которым платформа Java так популярна:
- Универсальность, отсутствие привязки к операционной системе.
- Открытый код.
- Простота. Тогда как написание сложного софта на C или C++ потребует поиска программиста высокого уровня (а их не так много), людей, имеющих опыт работы с Java, найти намного проще, да и скорость обучения таких спецов – много выше.
Последняя выпущенная в 2018 году версия - Java SE 11. Ее особенности:
- появилось множество новых API – интерфейсов прикладного программирования. Это стало возможным благодаря включению в стандарт Java модуля HTTP Client и Flight Recorder;
- убраны два модуля: Java EE и CORBA;
- Java FX удален из ядра, он будет поставляться отдельно;
- добавили поддержку TLS 1.3, что позволит ускорить загрузку веб-страниц на мобильных устройствах. Старые криптосистемы будут заменены на более современные алгоритмы;
- служба сборки мусора Epsilon запущена в тестовом режиме.
Это только часть новшеств, для изучения подробностей придется заглянуть в официальную документацию.
Важно: последнюю версию будут поддерживать вплоть до 2026 года.
Известные примеры использования
Несколько проектов, о которых слышали все:
- Amazon – мировой гипермаркет. Основан на платформе Java;
- приложение Uber – одноименная транснациональная компания использует эту программу для Android, чтобы быть на связи со своими клиентами;
- сетевая игра Minecraft – не обошлось без Java и здесь. Кстати, шведский программист Перссон, создавший игру, только в 2012 году заработал около 100 млн.$.
Это лишь три из многих тысяч крупных проектов, которые делались на платформе Java.
Недостатки платформы. Java vs. C(C++)
Часто технологию Java упрекают в низкой скорости работы приложений. В то же время семейство «C» считается чемпионом по быстроте исполнения кода – ведь именно на этом языке компилируются драйвера практически для всех устройств, а также ядра операционных систем.
Бывает, программисты (особенно начинающие) затевают споры, выясняя, какой язык «круче», но следует признать, что далеко не все приложения пишутся на одном языке. Часто делаются вставки (в том числе и на низкоуровневом Ассемблере) для ускорения или оптимизации кода.
Тогда следует определить – в каких ситуациях лучше использовать Java, а в каких – C. И в чем они различаются.
Java | С++ | |
Универсальность | Оба языка универсальны, у Java это свойство проще реализуется. | |
Простота изучения | Яву можно порекомендовать для новичка. | Язык очень требователен к программисту. Любая небрежность может стать фатальной. Лучше изучать тем, кто уже имеет опыт написания кода. |
Особенности применения | Приложения, ориентированные на веб – например, программки для онлайн-чатов, сетевых кинотеатров, мессенджеров, игры. | Для обеспечения работы «железа» - драйверы, системные утилиты для ОС, а также ПО для криптозащиты и антивирусные программы. |
Совместное использование | Использование C++ возможно – есть специальный инструмент JNI. | Допускается, с применением JNI. |
Еще одним недостатком платформы является ее популярность. Начинающему программисту придется выдержать жесткую конкуренцию, прежде чем он сможет заработать на создании Java-приложений.