Кому и для чего нужен Java?

Почему в backend-разработке лидирует язык из середины 90-х

Java — как авто бизнес-класса: надежный, быстрый и безопасный. Он входит в пятерку самых популярных и распространенных языков программирования. Мы попросили Java-техлида Альфа-Банка Владислава Мацкевича, Java-разработчика Артура Куприянова и опытного фрилансера Никиту Катышева рассказать об основах Java, его применении, необходимых навыках разработчиков и о том, при чем здесь кофе.

Язык: Java

Год появления: 1995

Популярность (индекс TIOBE 2021): 2-е место

Сложность для изучения: 5/10

Приветствие и возведение двойки в степень от 0 до 16

Кратчайшая история Java

Группа инженеров из компании Sun Microsystems под руководством Джеймса Гослинга разрабатывала Java как язык для программирования бытовых устройств. Он должен был стать альтернативой C/C++ как более простой и кроссплатформенный язык.

Изначально его назвали Oak («Дуб») — в честь дерева, которое росло у Гослинга во дворе, — но такое название, увы, уже было занято другим языком. Поэтому язык назвали Java в честь марки кофе (а кофе, как известно, лучший друг программиста). Поэтому и на официальной эмблеме изображена чашка.

Еще у Java есть свой талисман — Duke, красноносое существо. Его создали для презентации нового контроллера Star7, прародителя интернета вещей, умеющего управлять домашней и офисной техникой.

Duke — талисман Java

А мне нужен Java?

Да, если вы хотите стать востребованным программистом. На этом языке пишут frontend и backend, мобильные приложения для Android, разрабатывают игры. Java особенно популярен в финансовом секторе, так как используется для создания надежных веб-сайтов, серверы которых не должны ложиться от большого числа запросов. Многие банки нуждаются в мобильных приложениях, ЭДО (электронном документообороте) и собственных платформах риск-менеджмента. Java используют для создания серверных приложений, которые получают данные с одного сервера, обрабатывает и отсылают их дальше.

Иногда с помощью фреймворков на Java пишут код и во frontend-разработке, при создании визуального облика сайтов. Также на Java написаны некоторые популярные видеоигры, например Assassin’s Creed и Minecraft.

Язык часто применяют при разработке облачных приложений, например серверной части Pokemon Go и IoT (Internet of Things, интернет вещей) — приложений для работы с разными датчиками и камерами видеонаблюдения.

Hadoop, один из самых популярных в Big Data фреймворков для раздельной обработки больших датасетов, написан именно на Java. Благодаря ему крупные компании имеют надежную файловую систему и могут не беспокоиться за сохранность данных. Кроме того, Java широко применяют корпорации для написания и поддержки своего внутреннего ПО: именно они постоянно ищут разработчиков по всему миру.

На Java создано большинство популярных продуктов:

  • стриминговые сервисы Netflix, Spotify и Okko;
  • серверная часть портала Госуслуг;
  • соцсети Twitter и LinkedIn;
  • архитектура крупных онлайн-магазинов Ebay и Amazon;
  • продукты Яндекса — Яндекс.Маркет и КиноПоиск;
  • приложения для банковского сектора и бирж, например приложения Альфа-Банка;
  • сервисы доставки еды и продуктов.

Язык нужен не только разработчикам, но и:

  • тестировщикам-автоматизатором программного обеспечения;
  • дата-сайентистам. У Java есть мультиплатформа JOONE Neural Engine, на которой можно создавать, обучать и тестировать нейронные сети;
  • генетикам. Например, в библиотеке Jenetics можно создавать генетические и эволюционные алгоритмы;
  • физикам. С помощью Java-апплетов (компьютерных анимаций) можно моделировать физические законы и процессы.

А еще Java — это круто, потому что вы можете:

Плюсы и минусы языка

Существует несколько качеств, которые выделяют Java среди других языков программирования:

  • С-подобный синтаксис — негласный стандарт среди программистов. Синтаксис Java основан на C++, но упрощен, что позволяет новичкам быстрее учиться и эффективнее использовать код.
  • Возможности объектно-ориентированного программирования. ООП позволяет создавать расширяемые системы (extensible systems), которые заставляют работать систему с новыми компонентами без внесения изменений.
  • Статическая типизация — заблаговременное объявление типа переменных, которое не может быть изменено впоследствии. Благодаря ей ошибок можно избежать уже на первых этапах.
  • Java ориентирована на JVM (Java Virtual Machine). Эта программа позволяет запускать написанный на Java код на любом поддерживаемом устройстве или операционной системе. Помогает и обратная совместимость: при переходе на новую версию JVM разработчикам не нужно менять старый код.
  • Большое сообщество. На GitHub свыше 128 тысяч публичных репозиториев с Java-проектами.

У языка есть и качества, которые ограничивают или усложняют работу.

  • Кроссплатформенность. С одной стороны, она позволяет разрабатывать приложения одновременно под различные системы: Windows, Linux, MacOS, — но при этом приходится подстраиваться под ранние версии Java, чтобы сохранить работоспособность на устройствах предыдущих поколений.
  • Строгость языка. Она позволяет четко понимать, что выполняет написанный код, но при этом может стать препятствием в изучении языка новичками.

Сложно ли выучить Java?

Сложно, но вполне реально даже для новичков. По сложности освоения Java находится где-то посередине между Python и C++, считает Владислав Мацкевич: «‎Начать изучение Java, как и любого другого языка программирования, лучше всего с Java Core — фундаментальных основ языка. А лучший способ закрепить навыки — самостоятельно написать какой-нибудь проект»‎.

Артур Куприянов тоже считает, что важно самостоятельно начать писать проект: «‎Джуну, как и любому Java-программисту, следует знать основные принципы ООП — это поможет понять саму философию Java. Также нужно знать синтаксис, основные конструкции, паттерны, управление зависимостями и немного о фреймворке или библиотеке, с которым ему предстоит работать. Практика — лучший способ обучения. Гораздо лучше, если удастся написать небольшой коммерческий проект. Это будет огромным плюсом при рассмотрении вашего резюме»‎.

Все эксперты сходятся во мнении, что лучшей средой разработки на Java является IntelliJ IDEA от JetBrains — у нее есть встроенные фишки, которые значительно упрощают разработку. Хотя она платная, для студентов и новичков есть возможность получить бесплатную лицензию. Более слабой, но популярной бесплатной альтернативой является Eclipse.

Полезные ссылки

Книги для новичков:

Другие ресурсы:

Бонус: мемы о Java-разработчиках

Есть стереотип, что Java-разработчики — «зажатые мужики в свитере с сальными волосами». Но представления уже давно не соответствуют реальности: программисты стали хорошо зарабатывать (в 2020 году их медианная зарплата была 140 тыс. рублей), могут позволить себе нормальную одежду и социализируются в команде.

Большинство мемов и шуток в интернете и рабочей среде — про JavaScript-разработчиков, ведь язык получил свое название просто благодаря тому, что Java было модным словом. На самом деле языки никак не связаны, JavaScript применяют для разработки интерфейсов веб-сайтов. Считается, что это не такой серьезный язык, как Java, его быстро может освоить каждый. Нельзя сказать, что это недостаток, ведь каждый язык выполняет свои задачи. Но мемы никто не отменял.

(рейтинг: 5, голосов: 2)
Добавить комментарий