Собрали способы бесплатного и платного обучения языку программирования Java, разработали краткий гайд о том, с чего начать изучение. Проанализировали способы изучения Java и нашли среди них наиболее оптимальный.
Почему учить Java — круто и перспективно
Сколько зарабатывает Джава-программист
Как начать учить программировать на Java с нуля
Обучение Джава-разработчика с нуля самостоятельно
Обучение Java-разработчика с нуля с наставником
Почему учить Java — круто и перспективно
Рейтинги популярности говорят о том, что Java, разработанный в 1995 году и получивший популярность, не сдаёт своих позиций. Стабильное второе-третье место по разным методикам оценки говорит о том, что учить Java стоит — без работы джава-программист в ближайшие лет 10 не останется.
Авторитетный индекс TIOBE назвал Java языком 2015 года. Положение дел на сегодня можно увидеть на официальном сайте индекса
Крупнейший хостинг IT-проектов GitHub тоже ведёт статистику использования средств разработки.
Джава (Ява) держится в топе последние 6 лет. Выше только JavaScript — это не одно и то же — и Python.
Что такое язык Java
Придумали и разработали Java в 1995 году в программисты компании Sun Microsystems. Потом всю компанию скупила Oracle, которой принадлежит товарный знак Джава — чашка кофе. Средства разработки можно бесплатно использовать по открытому лицензионному соглашению (GNU) GPL.
Джава — именно на таком произношении настаивает владелец товарного знака — дальнейшее развитие языка C++, очень близкий к C#. Причём эксперты отмечают близость C# к Java, а не С++. Джава реализует концепцию объектно ориентированного программирования. Отличается от других языков тем, что в нём реализован принцип Write Once Run Anywhere — пиши однократно, выполняй всюду. Обычно этот принцип сокращают до WORA.
Чтобы принцип WORA работал, текст транслируется в байт-код — некое промежуточное представление. Оно не зависит от операционной системы. За взаимодействие с ОС отвечает среда выполнения — Java Runtime Environment и/или виртуальные машины Java.
JRE и JVM есть для распространённых ОС: Windows, Unix, Linux, macOS, Android — поэтому и программы на Джава можно выполнять под любой из ОС, не переписывая текст под конкретную платформу.
Промежуточный код передаётся в JRE. Её задача — транслировать код в понятный конкретной операционной системе набор команд.
С одной стороны независимость от платформы — это преимущество. С другой — программа на Джава под интерпретатором работает от 2 до 8 раз медленнее по сравнению со скомпилированным и собранным под конкретную ОС приложением на C++. Но универсальность перевешивает быстродействие — потому Джава и в топе языков разработки.
Кроме того, разработаны программы-компиляторы, которые собирают программу под конкретную ОС — тогда она может выполняться уже не в режиме интерпретации.
Что разрабатывают на Java
Джаву так или иначе используют практически везде. На нём пишут и клиентские, и серверные приложения — front- и back-end. Под Джава разработаны фреймворки, например, Spring, JSF, Struts. Банковские приложения, сайты, интернет магазины, образовательные платформы, игры — тот же Minecraft, мобильные приложения на Android — на Джава можно писать буквально всё. Ещё один пример: Aliexpress использует Java.
Особенно сильны позиции Джава в разработке корпоративных приложений. Системы работы с Big Data традиционно разрабатывают на Java.
Oracle приводила статистику: Java-приложения выполнялись на 3 миллиардах (!) устройств. В это число трудно поверить, масштаб впечатляет. А значит, Java-разработчики обеспечены хорошо оплачиваемой работой.
Сколько зарабатывает Джава-программист
Хабр-Карьера приводит следующую статистику медианной зарплаты разработчиков в зависимости от используемых языков — Зарплаты IT-специалистов во второй половине 2020.
Казалось бы, надо учить Scala, Golang, Ruby и далее по списку. Но спрос на Ruby или Scal не так велик, как на Java. И занять вакансию junior java developer в разы проще. А уже работая программистом, прокачивая скиллы, можно изучать Swift, Kotlin и прочие высокооплачиваемые языки. Джава — база для изучения любого другого языка ООП.
Как начать учить программировать на Java с нуля
Чтобы начать учить Java, не нужно какой-то базы. Главное иметь желание и компьютер с интернетом под рукой.
Есть несколько способов учится на java-программиста с нуля. По соотношению цена/эффективность топ-5 способов выглядит следующим образом:
- Обучение по платным онлайн-видеокурсам.
- Обучение на платных курсах в виде серии писем-уроков.
- Самостоятельное обучение по учебнику и интернет-форумам.
- Обучение по бесплатным онлайн-видеокурсам.
- Обучение с наставником.
Обратите внимание: платные курсы без обратной связи стоят на последних позициях рейтинга. Предложения таких курсов выглядят завлекательно: всего за пару тысяч рублей и 3 месяца — условно — можно научиться программировать на джава. И идти на hh.ru в поисках вакансии junior java developer.
За 2000 рублей обычно дают либо доступ к видеокурсу, либо предлагают онлайн-занятия в группе — толпа в зуме, кто-то камеру включил, кто-то звук забыл выключить, в чате хаос. Хорошие курсы не могут стоить две тысячи.
Но и на хороших курсах проблема занятий в группе остаётся. Кто-то усваивает материал быстрее, кто-то — медленнее. Кто-то успевает задать вопросы, кто-то нет. Об индивидуальном подходе речи не идёт. Все курсанты пишут одну и ту же программу, обратную связь получают оптом.
Самостоятельное обучение по видеокурсам и/или учебнику по соотношению затраты/эффективность в рейтинге выше. Логично — прямых затрат на обучение начинающий java-программист не несёт. Но вот времени самостоятельное обучение займёт порядочно, а результат его будет непредсказуем.
О первом месте рейтинга поговорим ниже. А пока посмотрим, с чего начать самостоятельное обучение разработке программ на Java.
Обучение Джава-разработчика с нуля самостоятельно
Разработчику, начинающему изучение Джава понадобится JDK или Java Development Kit. Скачать еuj можно с официального сайта Oracle. В этом пакете уже есть JRE, скачивать её отдельно не нужно. Версия не важна, можно брать либо последнюю, либо ту, для которой подходит выбранный учебник.
Windows после установки JDK нуждается в лёгкой модификации: в переменную среды окружения PATH необходимо добавить путь к папке bin, где находятся исполняемые файлы.
После этого в любом текстовом редакторе создайте файл MonitorOut.java. Важно набрать все символы в том же регистре. В файле пишем (можно ctrl+c, ctrl+v):
public class MonitorOut {
public static void main(String []args) {
System.out.println(«Я изучаю Java с Solvery!»);
}
}
Чтобы выполнить программу, из командной строки Windows запускаем
java MonitorOut.java
Программа выведет на экран строку «Я изучаю Java с Solvery!».
По тексту видно, что синтаксис Java очень похож на C — те же объявления, те же фигурные скобки для ограничения блоков.
Синтаксис Java. Основный соглашения
Интерпретатор языка воспринимает идентификаторы, написанные в разных регистрах, как разные.
Название класса начинается только с заглавной буквы и каждое слово в любом составном идентификаторе — тоже.
Название метода начинается только со строчной буквы. Далее ограничений нет.
Файл текста на джава имеет то же имя, что и описанный в нём класс, и расширение java.
Любая джава-программа начинается с описания главной процедуры. Все главные процедуры классов называются одинаково — main().
Синтаксис Java. Идентификаторы
Чтобы обращаться к участкам памяти, объектам, их свойствам и методам, всем этим сущностям программист присваивает имена. Как правило, программист пользуется осмысленными идентификаторами, чтобы не гадать потом, что он имел в виду под «abc» или «qwe».
Ограничения на имена: первый символ может быть буквой английского алфавита, символом подчёркивания и символом доллара. Остальные символы — любые.
Ключевые слова языка Java нельзя использовать как идентификаторы — это будет ошибкой.
Синтаксис Java. Переменные и их объявление
Переменной в классическом программировании называют область памяти, которая хранит определённое значение и может использоваться в программе. Для удобства обращения к переменной её называют. В Джава всё так же. Но переменные бывают разные. Локальные видны только в классе, процедуре и методе. Статическая ссылается всегда на одну и ту же ячейку памяти. Динамическая разрешается на этапе выполнения.
Тип данных, которые будет хранить переменная, указывается на этапе объявления. В Java нет значений инициализации переменных по умолчанию, их нужно указывать в явном виде.
Примеры объявления переменных
int i = 1, j = 1, k = 1 //счётчики циклов, тип целочисленный (integer), значение инициализации число 1
boolean sex = false //логическая переменная “пол”. false соответствует женскому
К сожалению, в статью нельзя переписать весь учебник по Java, да и незачем. В интернете каждый найдёт руководство, гайд или библиотеки примеров программ для своих задач и уровня начальной подготовки. Джава, которую изучает программист, может не быть его первым языком.
Обучение java-разработчика с нуля с наставником
Так же есть споспоб освоить Джава с нуля за месяц или даже меньше — индивидуальные занятия с наставником. Мы в Solvery называем таких наставников менторами.
Первый этап в обучении джава — определение области, в которой вы хотели бы в дальнейшем работать. Игры, Data Science, e-commerce, front-end или back-end — на джава пишут практически всё.
Второй этап — формулировка цели. Просто научиться что-то писать с нуля на Java — это не цель. Научиться разрабатывать пользовательский интерфейс в приложениях на Android — вот это цель. Освоить взаимодействие с базой данных Oracle, научиться манипулировать данными, дать пользователю универсальные средства анализа — это цель. Создать работающий презентационный проект, максимально раскрывающий ваши скиллы, как кандидата на позицию джуниор разработчика на Java — тоже цель.
Третий этап — определение подходящего ментора. C Solvery сотрудничают специалисты, занятые в известных на софтверных рынках компаниях, действующие сениоры, тимлиды, архитекторы. Есть даже технические директора.
Наставников по Java на странице https://solvery.io/mentors/java — 35. Уточним запрос: выберем дополнительно один из популярных фреймворков. Пусть это будет Spring. Менторов, которые знают Spring — 14.
У каждого ментора на страничке есть раздел «С чем могу помочь». С информацией стоит внимательно ознакомиться. Например, начинающему java-разработчику советуем обратиться к Владимиру Баулину — он прокачивает как начинающих специалистов, так и помогает с проектирование системы и/или ее элементов, развитием технического мышления, подготовкой к техническому собеседованию и написанию Code-review.
Если есть сомнения — команда Solvery поможет вам подобрать лучшего наставника. На стартовой странице https://solvery.io оформляем заявку через сервис Подобрать ментора. Секрет успеха — в правильной формулировке запроса.
Так же хороший потенциальный наставник для начинающего джава-программиста — Сергей Колесников, разработчик в Tinkoff. Сергей поможет в изучении Java с нуля и обучении основным инструментам и хитростям разработки, а так же в прохождении первого собеседования. Ведь конечная цель изучения любого машинного языка — применение в работе с хорошей зарплатой.
Преимуществ изучения Java с нуля под руководством ментора несколько.
- Программа обучения строится в зависимости от:
- начального уровня подготовки ученика;
- запроса ученика на изучение конкретных применений java, например, для игр;
- запроса ученика на разработку презентационного java-проекта для потенциальных работодателей.
- График занятий, их длительность, формы контроля, качество и количество обратной связи от ментора обсуждаются парой наставник-ученик. Ментор предлагает, а ученик вправе или принять его предложение, или предложить свой вариант. Последнее слово в выборе — за учеником.
- Только ученик определяет, когда ему заканчивать занятия с ментором. Ученик платит за потраченное ментором время, а не вперёд, как на курсах.
- Ученик не выбирает ментора «вслепую». У него есть бесплатное занятие — 15 минут, на котором связка ментор-курсант понимает, будет ли их взаимодействие эффективным.
Инвестируйте в своё будущее. Тратьте деньги с умом.