Кому и для чего нужен 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-разработчик

Освойте с нуля за 14 месяцев программирование, бэкенд-разработку и DevOps на самом востребованном языке. Скидка 5% по промокоду BLOG.

Узнать больше 

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

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

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

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

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

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

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

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

Блог SkillFactory
Добавить комментарий