Материалы для изучения Java


Оглавление (нажмите, чтобы открыть):

Как учить язык программирования Java

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

  1. В чем залог успеха изучения языка программирования?

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

  1. Что лучше: учить самостоятельно, записаться на курсы или найти ментора?

Мое мнение — надо задействовать максимум возможных способов обучения исходя из вашего свободного времени. Можно конечно возразить, дескать, зачем проходить на курсах то, что написано в учебнике или в официальной документации, да еще и денег в десятки раз больше отдать. НО, не забывайте, что повторение — мать учения, кроме того, на курсах вам сто процентов сделают акцент на какой-нибудь важный нюанс, который вы пропустили при самостоятельном обучении. Еще на курсах вы сможете найти себе будущего партнера на реализацию собственного проекта, пусть и в учебных целях, но все же согласитесь — хороший бонус. Ментор (персональный наставник) это вообще самый отличный путь из всех возможных. Еще хотелось бы сказать, что если вы учитесь самостоятельно по книгам, то, в принципе, вы сможете выучить язык на требуемом уровне, а вот ходить на курсы и не читать книги — не получится. Итак, еще раз, учим ВСЕМИ возможными способами:

  • Читаем книги и документацию (обязательно. ).
  • Ходим на курсы/вебинары (если нет денег — качаем в записи).
  • Консультируемся у ментора (дорого, зато эффективно).
  • Пишем свои мини программы (обязательно. ).
  • Участвуем в open source проектах на java.
  • Устанавливаем обучающие программы на свой смартфон.
  • Помогаем отвечать на вопросы других неофитов java.
  • Заводим блокнот, в который записываем все то, что дается вам сложно.
  • Участвуем в онлайн соревнованиях по решению задачек на языке.
  • Смотрим обучающие видео в интернете и подписываемся на тематические группы в социальных сетях.
  • После первых же пройденных занятий начинаем отвечать на вопросы, которые задают на собеседованиях на junior java программиста (в интернете куча вариантов).
  • Окружаем себя всем тем, что поможет вам изучить язык, хоть магнитики на холодильник вешайте, главное, чтобы помогало.

Страшно? Не бойтесь, далее обо всем поподробней.

  1. Столько много литературы по теме, с чего начать, что читать?

Книги это ваш основной источник знаний. О том, что без книг не обойтись я уже сказал. Книги по Java, условно, можно поделить на две группы — для профессионалов и для новичков. Книги для профессионалов обычно содержат в себе информацию по узкоспециализированному вопросу языка, например «Лямбда-выражения в Java 8», или описывают принцип работы (архитектуру) виртуальной машины, где рассказывается почему разработчики языка стали использовать такой подход в решении вопроса, а не иной. Понятно, что они нам не подходят. Наша цель — книги для новичков. Тут лидерами являются 3 книжки:

  • Java 8. Полное руководство. (Java: The Complete Reference, Ninth Edition) / Герберт Шилдт. — 9 издание. — 2020 — 1376 с.
  • Java. Библиотека профессионала. Том 1. Основы. (Core Java Volume I — Fundamentals) / Кей С. Хорстманн. — 2020 — 864 с.
  • Изучаем Java. (Head First Java ) / Кэти Сиерра, Берт Бейтс. — 2020 — 720 с.

Шилд показался более структурированный в части последовательности подачи материала. У Хорстманна часто дается код с комментарием «это вы узнаете в следующей главе», зато примеры более сложные и близкие к реальности. Выбирая между этими двумя книгами я бы сказал так — если вы никогда ничего не слышали про программирование — то ваш выбор Шилд (хотя я советую Head First Java). Если вам не надо читать в википедии что такое «цикл», «переменная», «оперативная память» и вообще у вас математический склад ума и вы всегда интересовались техникой и IT отраслью — то я бы посоветовал Хорстманна (более сжатая и информация, меньше времени потратите на учебу). «Изучаем Java» — книга в первую очередь для визуалов и гуманитариев, хотя я лично планирую обучаться далее по ней. Книга похожа на конспект лекций по программированию от дизайнера. На каждой странице будут смешные запоминающиеся картинки с принципами написания кода. По ходу текста присутствуют вставки с наиболее часто встречающимися вопросами и заблуждениями учащихся по описываемой теме. Кроме того, в конце каждой главы есть тестовое задание и / или кроссворд из терминов пройденного материала.

  1. Где найти книги, на каком языке читать?

Тут все просто — в интернете всего этого полно, но нормальное качество только на английском языке. Смеритесь с тем фактом, что читать техническую литературу (книги, официальную документацию, статьи по актуальным подходам программирования) вам в любом случае, придется на английском языке, поэтому начинайте прямо с учебного процесса! Конечно, если вы в школе изучали немецкий и про английский не слышали, то это — беда и боль. Сначала придется познать азы английского языка и грамматики, после чего попытаться сесть за техническую литературу со словарем. Как вариант — можно приобрести книжное издание на русском языке, но на перевод не пожаловался только ленивый, да и потенциальный работодатель сильно посомневается, прежде чем связаться с вами.

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

  1. В интернете встречал(а) много лекций и пошаговых обучалок, их достаточно для изучения Java?

Нет. Еще раз, полное описание языка есть только в книгах и официальном мануале. На многих ресурсах такие обучалки содержат тонну ошибок, вдобавок они плохо структурированы. Из всего многообразия посоветую https://www.tutorialspoint.com/java/ Хотя, материала по данному языку ежегодно выходит море и все на отследишь. Не могу утверждать, что не появилось что-то более адекватное и стоящее. Если вбить в гугл learn java или java tutorial, то просто глаза разбегаются, все пересмотреть просто невозможно! Вот еще два блога, которые мне понравилсь, правда их уже почти не ведут https://pr0java.blogspot.ru/p/blog-page.html и https://kostin.ws/java/

  1. В смартфонах тоже есть приложения обучающие программированию?

Куда же без смартфонов. У меня Android и я установил для себя с десяток программ, большая часть из них представляет собой какие-то нарезки из официальной документации с ужасным интерфейсом и шрифтом. В целом могу посоветовать вам следующие: SoloLearn, Learn Java, JavaSamples, Enki, Algorithms. Уверен что и на iOS можно будет найти похожий арсенал ПО.

  1. Стоит ли смотреть видеоуроки? И если да — то какие?

Как говорится «лучше один раз увидеть, чем сто раз услышать». Визуальная картинка всегда воспринимается лучше. Кроме того, на видео вы можете подсмотреть различные фишки работы с IDE или с каким-либо уникальным инструментом разработчика. На том же youtube куча каналов и видео посвященных java. Единственное, чего я советую избегать — каналов для профессионалов (в основном видео с конференций для программистов) и каналов, где, обычно, стоит мужик на фоне маркерной или меловой доски и что-то там рассказывает на протяжении нескольких видеороликов подряд, периодически что-то чертя на доске. Обычно в таком виде встречаются видеолекции для студентов (ну и презентации с конференций), они нудные и мало информативны, точнее они обычно про теорию, а нам нужна ПРАКТИКА, на видео должен быть представлен КОД.

  1. Как-то нудно все, есть ли интересные формы обучения java?

Тадам, вам повезло, за окном 21 век и все смотрят в сторону поколения Z, а оно, как известно, без игровой формы вообще мало что переваривает 🙂 Искали? Держите!

Вот вам ещё парочка достаточно известных сайтов с задачками, но уже не в игровой форме:

  1. А почему все ресурсы в интернете ссылаются на какой-то github?

Хотите вы того или нет, а современное программирование не представляет свою жизнь без системы контроля версии. Она позволяет делать ответвления в программном коде (вилки в разработке), облегчает работу в команде, а так же позволяет вернуться к сохранной точке в программном коде (если вы вдруг поняли, что направление которое вы выбрали — тупиковое, и надо вернутся к коду, который был 3 часа назад). Гитхаб — это как раз такой оналйновый сервис. Опять же для смурфпрограммистов как я есть игровой сайт-обучалка:

  1. Вы советовали отвечать на вопросы новичков в программировании на Java, но я же сам только начал учить язык!

Нет лучшего способа что-то запомнить, чем научить этому кого-то другого. Смело топаем на такие форумы и площадки как :

cyberforum.ru
programmersforum.ru
codeby.net
sources.ru
ru.stackoverflow.com

И пытаемся отвечать на вопросы пользователей

  1. Где на просторах интернета можно взглянуть на вопросы на вакансию junior java программиста? С ответами кАнеШнА 🙂

Начните с этой статьи:

  1. Какие материалы и ресурсы в интернете еще можно посмотреть, почитать, изучить?

Их много, все и не перечислишь. Можно порыться на coursera.org плюс udemy.com или посмотреть лекции от MIT.

  1. Что учить после того, как я выучу Java Core?

Java core это приблизительно 30% от того, что надо знать уважающему себя java программисту :))) К тому моменту как вы закончите обучения Java Core, вы уже сами будете знать что учить дальше. А дальше идет развилка технологий — все зависит от того чем вы хотите заниматься. Тут есть несколько основных направлений:

    • работа на корпоративный сектор — изучать стек технологий относящихся к спецификациям JavaEE (Enterprise Edition — почитайте по ссылке абзац с перечнем технологий). Основным инструментом тут является Spring Framework. Понятно, что данное направление ориентировано на написания серверной части проектов — backend.
    • разработка под мобильную платформу android — не секрет, что приложение для данной платформы пишутся именно на java (в данный момент популярность набирает язык Kotlin). При выборе данного направления изучается свой отдельный набор технологий. Самым популярным фреймворком для андройда являеся Dagger.
    • создание игр — а вот тут я вас хочу огорчить, для этого редко используется Java. Практически все игры в наше время пишутся на игровых движках. Самые популярные из бесплатных (платить придется за дополнительные модули) Unity и Unreal Engine, самое смешное, что первый использует для написания кода C# а второй С++ и визуальный скриптовый язык блупринтов. То есть java в игровой индустрии в пролете.

Как вы заметили java не очень популярна в части frontend языка. Кроме вышеперечисленного вам в любом случае придется изучать SQL запросы (какое направления вы бы не выбрали), а так же html/xml/css т.к. без веба в наши дни никуда. Программировать в наши дни без знаний паттернов проектирования тоже сложно. Хорошим подспорьем будет изучение основ javascript, т.к. этот язык находится на буме своей популярности и его пихают во все щели (и сайты на нем пишут, и игры, и приложения для мобилок, и уже на сервер портировали благодаря Node.js), короче быть НЕ КОРПОРАТИВНЫМ программистом и не сталкиваться с javascript в наши дни невозможно.

На этом все. Обещаю постепенно дописывать статью, а вы не стесняйтесь — задавайте вопросы, по возможности отвечу 🙂

Как научиться программировать на Java — полное руководство

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


Что такое язык программирования Java?

В 1991 году « Зелёная команда », подразделение Sun Microsystems , возглавляемое Джеймсом Гослингом , создала язык для программирования бытовых электронных устройств. На тот момент он назывался Oak (« Дуб »). Почему « Дуб »? Просто потому, что за окном рабочего кабинета Гослинга росло это дерево.

« Зелёная команда » продемонстрировала использование Oak в интерактивном телевизоре. Но для цифрового кабельного телевидения тех лет эта технология была слишком передовой. Одновременно с этим набирал популярность интернет, для которого новый язык программирования подходил лучше всего.

Через некоторое время новый язык переименовали в Green , и уже после этого — в Java , в честь кофе с острова Ява. Поэтому на логотипе Java изображена кружка с кофе.

Во время разработки Java были популярны C/С++ , поэтому Гослинг сделал синтаксис языка похожим на C/C++ и реализовал для него принцип « написать один раз — запустить где угодно ». В 1995 году Sun Microsystems выпустили первую официальную версию Java . И одновременно с этим было объявлено, что Java войдёт в состав браузера Netscape Navigator .

В 2010 году компания Sun Microsystems вместе с языком программирования Java была приобретена корпорацией Oracle .

История версий Java

  1. Июнь 1991 – старт проекта разработки языка программирования Java .
  2. JDK 1.0 – Январь 1996 года.
  3. JDK 1.1 – Февраль 1997 года.
  4. J2SE 1.2 – Декабрь 1998 года.
  5. J2SE 1.3 – Май 2000 года.
  6. J2SE 1.4 – Февраль 2002 года.
  7. J2SE 5.0 – Сентябрь 2004 года.
  8. Java SE 6 – Декабрь 2006 года.
  9. Java SE 7 – Июль 2011 года.
  10. Java SE 8 – 18 марта 2014 года.
  11. Java SE 9 – 21 сентября 2020 года.

Функции языка программирования Java

Java — межплатформенный язык

Код Java , написанный на одной платформе ( то есть операционной системе ), можно запустить без изменений на других платформах.

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

Объектно-ориентированный язык программирования

Существуют различные стили программирования, и один из самых популярных — объектно-ориентированное программирование. При таком подходе сложная проблема разбивается на более мелкие путём создания объектов. Благодаря чему код можно использовать повторно.

Объектно-ориентированные функции есть во многих языках программирования, включая Java , Python и C++ . Если вы серьёзно настроены освоить программирование, объектно-ориентированный подход стоит включить в план своего обучения.

Java работает быстро

Ранние версии языка программирования Java часто критиковали за медленную работу. Но сегодня ситуация кардинально поменялась. Новые версии JVM работают значительно быстрее, а интерпретирующие их процессоры становятся всё шустрее.

Сегодня Java — один из самых быстрых языков программирования. Хорошо оптимизированный Java-код работает почти так же быстро как низкоуровневые языки программирования, такие как C/C++ и намного быстрее, чем Python , PHP и т.д.

Java — безопасная платформа

Java представляет собой :

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

Обширная базовая библиотека

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

java.lang – это продвинутые функции для строк, массивов и т.д.

java.util – библиотека для работы со структурами данных, регулярными выражениями, датой и временем и т.д.

kava.io — библиотека для ввода/вывода файлов, обработки исключений и т.д.

Применение платформы Java

Перед обучением Java программированию с нуля , нужно знать, что на это платформе работает более 3 миллиардов устройств по всему миру. Для чего конкретно можно её применить:

  1. Приложения для Android — для разработки Android-приложений язык программирования Java часто используется в сочетании с Android SDK ( от английского software development kit — комплект разработки программного обеспечения ).
  2. Веб-приложения — Java используется для создания сетевых приложений с помощью серверных программ, фреймворка Struts и JSP . Вот некоторые популярные веб-приложения, написанные на Java: Google.com , Facebook.com , eBay.com , LinkedIn.com .

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

  1. Разработка программного обеспечения – на Java написаны такие программы как Eclipse , OpenOffice , Vuze , MATLAB и многие другие.
  2. Обработка Big Data – для обработки « больших данных » можно воспользоваться фреймворком Hadoop , написанным на Java .
  3. Трейдинговые системы – используя платформу Oracle Extreme Java Trading Platform , можно писать программы для трейдинга.
  4. Встраиваемые устройства – на основе технологии Java Embedded от Oracle сегодня работают миллиарды устройств, таких как телевизоры, SIM-карты , проигрыватели Blu-ray и т.д.

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

Терминология Java, которую следует знать

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

Язык программирования Java – межплатформенный объектно-ориентированный язык программирования общего назначения, обладающий широкими возможностями.

Java 9 – последняя на момент написания данной статьи версия Java .

Java EE , Java Me и Java SE – эти названия обозначают Java Enterprise Edition , Micro Edition и Standard Edition , соответственно.

Мастер Йода рекомендует:  Что может РНР

Java EE нацелена на приложения, запускаемые на серверах. Java ME создана для ограниченных по мощности устройств, таких как встраиваемые устройства. Java SE — стандартное издание Java для написания обычных программ.

Если вы новичок в Java-программировании , рекомендуем начать с Java SE .

JVM — Java Virtual Machine (« виртуальная машина Java ») — это программа, позволяющая компьютеру запускать программы, написанные на Java .

JRE – Java Runtime Environment (« среда выполнения Java ») включает в себя JVM , соответствующие библиотеки и другие компоненты, необходимые для запуска программ. Но в JRE нет компилятора, отладчика и других средств разработки.

JDK – Java Development Kit ( комплект Java разработчика ) содержит JRE и другие инструменты разработки, такие как компиляторы, отладчики и т.д.

Как запустить Java на своей операционной системе

Как запустить Java на Mac OS

Вот что нужно сделать для Java программирование с нуля и установки платформы на Mac OS X или macOS :

  1. Скачайте свежую версию Java ( JDK ) со страницы загрузки Java SE .
  2. Дважды кликните по скачанному DMG-файлу и следуйте инструкциям программы-установщика.
  3. Для верификации установки откройте терминал и введите следующую команду:

javac –version


Если Java установлена верно, на экран будет выведена версия программы ( например, javac 1.8.0_60 ).

Следующим шагом будет установка IDE ( интегрированной среды разработки ) для написания и запуска Java-кода . Мы установим бесплатную версию IntelliJ IDEA и запустим на ней Java . Вот что нужно для этого сделать:

  1. Перейдите на страницу загрузки IntelliJ и скачайте бесплатную версию Community Edition .
  1. Откройте скачанный DMG-файл и следуйте инструкциям по установке. Для быстрого доступа можно переместить IntelliJ IDEA в папку « Программы ».
  2. Откройте IntelliJ IDEA . Выберите опцию « Don ’ t import settings » (« Не импортировать настройки ») и нажмите « Ok » . После этого примите политику приватности Jetbrains , нажав на кнопку « Accept » .
  3. Теперь можно настроить интерфейс под себя. Также можно пропустить этот шаг и оставить всё по умолчанию. Если не уверены, просто пропускайте этот шаг, нажав кнопку « Skip All and Set Defaults » (« Пропустить всё и установить настройки по умолчанию »).
  1. Программа покажет вам страницу приветствия. Нажмите на кнопку « Create New Project » (« Создать новый проект »).
  2. В следующем окне выберите « Java » в левой панели и нажмите « New » вверху окна программы для выбора « JDK » . Здесь надо выбрать место, куда установили JDK , после чего нажать Next .
  1. У вас будет вариант создать проект из шаблона (« Create project from template » ). Игнорируем его и нажимаем кнопку « Next » .
  2. На следующем шаге установки языка программирования Java введите имя проекта и нажмите кнопку « Finish » .
  3. В левой панели вы увидите свой проект. Если панели не видно, перейдите в меню Views > Tool Windows > Project .
  4. Зайдите в Hello > New > Java и задайте имя класса. Мы назвали его First .
  1. Напишите Java-код и сохраните проект.
  2. Для запуска только что написанной программы, зайдите в Run > Run… Нажмите на First ( то есть имя созданного нами файла ) — программа скомпилирует файл и запустит его.

Как запустить Java на Linux

Для запуска примеров из уроков программирования с нуля Java на Linux понадобится JAVA SE Development Kit ( JDK ) и IDE для разработки своих проектов. Следуйте инструкции шаг за шагом, чтобы начать работу с Java .

    Откройте терминал и наберите следующую команду для установки Java:

java –version

Если выводится текущая версия, установка прошла успешно. Если же нет, сверьтесь со страничкой помощи Oracle .

Установка IntelliJ >страницу загрузки IntelliJ IDEA .

  1. Скачайте бесплатную версию Community Edition , нажав кнопку « Загрузить ».
  2. После скачивания смените в терминале директорию на директорию загрузок и извлеките tar-файл Java в папку /opt следующей командой:
  1. После распаковки поменяйте директорию на папку bin программы IntelliJ IDEA :
  1. Два раза нажимаем « Next » и создаём проект.
  2. На следующем шаге введите имя проекта и нажмите кнопку « Finish » . Теперь в левой панели вы увидите свой проект. Если этой панели не видно, перейдите в меню Views > Tool Windows > Project .
  3. Добавьте новый класс Java . Выберите src на левой панели правой кнопкой и зайдите в New > Java Class . Задайте имя класса. В имени класса не должно быть пробелов.
  1. Напишите Java-код и сохраните проект.
  2. Для запуска программы, зайдите в Run > Run … Нажмите на HelloWorld ( название проекта ) — программа скомпилирует файл и запустит его.

Как запустить Java на Windows (XP, 7, 8 и 10)

Для освоения Java основ программирования и запуска платформы на Windows потребуется JAVA SE Development Kit (JDK) и IDE для разработки проектов. Следуйте пошаговой инструкции, приведенной ниже:

Установка Java

  • Перейдите на страницу загрузки Java Standard Edition Development Kit .
  1. В разделе Java SE Development Kit вверху таблицы нажмите « Accept License agreement» (« Принять лицензионное соглашение »). Затем кликните по ссылке Windows (x64) , если у вас 64-битная операционная система или Windows (x86) , если у вас 32-битная ОС .
  1. После скачивания запустите установочный файл и следуйте инструкциям, которые будут появляться на экране. Нажмите « Next ». Выберите все функции, нажав « This feature will be installed on local hard drive » и скопируйте место установки ( оно выделено жёлтым ) в « Блокнот », после чего снова нажмите « Next ».
  1. В процессе установки появится запрос об установке JRE . Нажмите « Next » , а затем « Finish » для завершения установки.
  2. Теперь необходимо отредактировать переменную PATH . Перейдите в Панель управления > Система и безопасность > Система . В левой панели выберите « Дополнительные параметры системы».
  1. Нажмите « Переменные среды» . В разделе « Системные переменные» найдите переменную PATH и в следующем окне нажмите « Изменить» .
  1. Выберите весь текст в поле « Значение переменной» и скопируйте его в отдельный текстовый файл. Так будет легче его отредактировать и проверить на наличие ошибок. Посмотрите, есть ли в скопированном тексте строка: C : ProgramData Oracle Java javapath ; . Если да, то можно переходить к следующему шагу. Если нет, то вставьте скопированное ранее место установки в начало переменной и добавьте в конце строки bin вот так: C : Program Files ( x 86) Java jdk 1.8.0_112 bin ; Обратите внимание, что ваша версия JDK ( jdk 1.8.0_112 ) может отличаться. Скопируйте значение переменной и вставьте его в окошко PATH .
  1. Нажмите « ОК », чтобы сохранить внесенные изменения.
  2. Чтобы проверить, правильно ли установлена платформа для введения в программирование Java , откройте командную строку , набрав cmd в строке поиска Windows или через команду « Выполнить… » ( Windows — R ). Введите команду java -version . Если отображается текущая версия Java , значит, установка прошла успешно. Если нет, сверьтесь со страничкой помощи Oracle .

Установка IntelliJ >страницу загрузки IntelliJ IDEA .
  • Скачайте бесплатную версию Community Edition , нажав « Загрузить ».
    1. После загрузки запустите файл установки и следуйте инструкциям, которые будут появляться на экране. Затем создайте ярлык на рабочем столе для 64-битной версии и добавьте ассоциации с расширением .java . Нажмите « Next » и продолжайте установку.
    1. После установки откройте IntelliJ IDEA , нажав на значок на рабочем столе.
    2. Выберите « Don ’ t import settings » (« Не импортировать настройки ») и нажмите « OK ». После этого принимаем политику приватности Jetbrains, нажав « Accept ».
    3. Теперь можно настроить интерфейс под себя. Также можно пропустить этот шаг и оставить всё по умолчанию, нажав кнопку « Skip All and Set Defaults » .
    4. Программа покажет страницу приветствия. Нажмите « Create New Project » (« Создать новый проект »).
    1. В следующем окне выберите « Java » в левой панели и нажмите « New » в верхней части окна программы для выбора JDK . Здесь надо выбрать местоположение, куда установили JDK во время установки Java , после чего нажать « Next ».
    2. IntelliJ IDEA найдёт JDK и распознает его. Никакие другие опции отмечать не нужно, просто нажмите « Next » .
    3. На следующем экране введите имя проекта: HelloWorld и нажмите « Finish ». Если программа скажет, что директории не существует, нажмите « ОК ». Если вы не видите левой панели, перейдите в меню Views > Tool Windows > Project .
    4. Чтобы задать имя класса, выберите в левой панели папку src. Кликните по ней правой кнопкой мыши, зайдите в New > Java и задайте имя класса. В имени класса не должно быть пробелов.
    1. Напишите код и сохраните проект Java урока программирования .
    2. Для запуска программы, зайдите в меню Run > Run … Нажмите на HelloWorld — программа скомпилирует файл и запустит его.

    Ваша первая программа на Java

    Чтобы познакомить пользователей с новым языком программирования, используют программу Hello World (« Привет, мир! »). Это простая программа, которая выводит на экран слова Hello, World ! В этом разделе мы научим вас писать данную программу на Java , используя IntelliJ IDEA .

    1. Откройте IntelliJ IDEA .
    2. Перейдите в File > New > Project… > Java ( в левой панели навигации ).
    3. Задайте имя проекта ( Project Name ) из курса программирования J a va . Мы назовём его Hello World и нажмём « Finish ».
    4. Теперь нужно создать новый класс Java .
    5. Выберите папку src в левой панели, после чего перейдите в меню File > New > Java Class и задайте имя нового класса- HelloWorld .
    6. Скопируйте следующий код в файл HelloWorld.java и сохраните его.


    1. Нажмите кнопку запуска ( Run ). Если всё в порядке, вы увидите на экране надпись Hello, World !

    Как выучить Java?

    Официальная документация Java

    Oracle , компания, владеющая Java , публикует качественные уроки. Официальная документация освещает все функции Java и регулярно обновляется.

    Примечание: единственный минус — официальная документация Java не всегда написана самым простым языком.

    Рекомендуемые книги по Java

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

    Java: Полное руководство (10-е издание)

    Отличная книга для тех, кто только начинает изучать Java . Последнее издание включает все функции релиза Java 8 .

    В книге описано всё, что нужно знать о программировании на Java , включая синтаксис, ключевые слова и фундаментальные основы программирования, а также библиотеку API Java , апплеты Java и многое другое.

    Философия Java (4-е издание)

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

    Java 8. Карманный справочник: Скорая помощь Java-программистам

    Эта книга содержит понятные ответы на вопросы, возникающие при обучении J ava программированию с нуля . Она кратко рассказывает обо всех основных концепциях Java ( включая Java 9 ). Не хотите листать сотни страниц в поисках нужной строчки? Купите эту книгу.

    Вместо заключения

    Если начнёте изучать Java , не ошибётесь — это перспективный язык программирования, полный самых разнообразных возможностей.

    Перед тем, как приступить к изучению Java , воспользуйтесь несколькими советами:

    • Не читайте обучающие статьи и примеры как роман. Единственный способ стать хорошим программистом — писать много кода.
    • Если переходите с другого языка программирования ( скажем , C# ), не надо писать код в стиле C# .
    • Найдите онлайн-сообщества, посвященные Java . Когда научитесь писать простые программы на Java , найдите популярные сайты и форумы, посвященные Java . Пробуйте решать проблемы, возникающие у других программистов. Это отличный способ расширить собственные знания. К тому же, если у вас возникнет загвоздка, вы будете знать, где можно попросить помощи.

    Надеемся, эта статья подтолкнёт вас к изучению Java и поможет начать работу над первыми программами.

    Данная публикация представляет собой перевод статьи « Learn Java Programming. The Definitive Guide » , подготовленной дружной командой проекта Интернет-технологии.ру

    Что сейчас изучать? (языки, фреймворки, порядок изучения)

    Главная » Статьи » Что сейчас изучать? (языки, фреймворки, порядок изучения)

    • «Что сейчас изучать?»
    • «Какие языки/технологии нужны?»
    • «Какая последовательность изучения?»

    Решил собрать все в одном месте.

    Последовательность изучения материалов

    Основы Java

    • ООП, организация кода, объекты, связи
    • Работа с любой реляционной БД, например MySQL (JDBC, SQL)
    • Желательно — понимание и применением основных паттернов проектирования
    • Работа в IDE (например, IntelliJ IDEA) — сокращения, быстрое создание кода, шаблоны
    • Разработка 5-6 Java проектов с нуля (можно консольных, но еще лучше Swing или JavaFX, чтобы вы могли создать минимальный UI (user interface) для десктоп — внешний вид с кнопками, формами)
    • У вас есть опыт разработки любых 5-6 проектов на Java с нуля своими руками
    • Умеете применять ООП: принцип «абстракция-реализация», инкапсуляция, наследование, композиция, объекты
    • Вы можете спроектировать функционал в свободной форме в виде схемы (на бумаге) и перенести ее в код (создать объекты, связи, правильную структуру кода)
    • Вы умеете создавать универсальный код (который можно легко расширять и дорабатывать) с помощью ООП
    • Умеете создавать несложные структуры таблиц и правильно их организовывать (разбивать, упрощать)
    • Умеете отправлять SQL запросы и обрабатывать результаты (с помощью JDBC)

    Веб разработка

    • JavaEE — стандартный/изначальный стек технологий
    • Spring Framework — самый популярный Java фреймворк для веб проектов
    • Hibernate — промежуточный ORM слой для работы с БД (вы работаете с таблицами как с объектами)
    • RESTful сервисы (или другие веб сервисы) — для предоставления своего функционала
    • База данных — возможно NoSQL-решение (например, MongoDB) — можно использовать вместо реляционной БД.
    • И другие доп. технологии, которые облегчают создание серверной части
    • Все современные JavaScript фреймворки (Angular от Google, React от Facebook, Vue.js и пр.) — позволяют создавать красивый UI. Хотя при желании на них можно создавать и backend (сервер Node.js)

    Нужен ли JavaEE/JSP/JSF?


    • Сервлет — одна из первых первых попыток отображения веб страниц на Java сервере (сейчас используется только для небольшого функционала)
    • JSP — Java Server Pages — вместо написание веб страниц в коде Java (сервлеты) тут можно создавать отдельные веб страницы и в них реализовать всю логику отображения
    • JSF — Java Server Faces — пришел на смену JSP и более удобен в использовании. Многие проекты из 2000-х годов до сих пор «сидят» на нем и успешно работают.
    • Spring Framework — самый популярный Java фреймворк для серверных решений (куча возможностей и удобств)
    • Hibernate — для работы с БД как с объектами (принципы ORM, JPA)
    • RESTful сервисы — могут использоваться другими программами и также фронтендом
    • Реляционная БД (MySQL) или NoSQL (MongoDB) — для хранения данных — оба подхода нужно знать и уметь использовать.
    • JavaEE — (необязательно, если того не требует ваша работа или вы не хотите устроиться в гос. структуру) минимально знать как работает JavaEE, из каких компонентов состоит его стек технологий.
    • HTML, CSS — отображение веб страниц со стилями
    • JavaScript фреймворк (Angular, React) — самые трендовые технологии #прямосейчас. Можно начать с Angular, т.к. он более понятен для новиков и много функционала доступно «из коробки».
    • TypeScript — обязателен к изучению, сможете легко выучить, если хорошо знаете Java. Используется во фреймворках
    • JSP/JSF (необязательно, если того не требует ваша работа или вы не хотите устроиться в гос. структуру) — несколько проектов + любая БД

    Мобильные приложения

    • Язык Java/Kotlin для Android. Весь Android потихоньку переходит на Kotlin (по сути — доработанный язык Java, на нем можно создавать и веб приложения)
    • Язык Swift для операционных систем Apple (iOS, macOS, watchOS, tvOS) — похож на Kotlin, пришел на смену языка Objective-C, у которого порог вхождения очень высокий.

    PWA (progressive web applications)

    • Java — обязательно
    • TypeScript — обязательно
    • Дополнение к TypeScript — реактивное программирование (RxJS) — обязательно, хотя бы основные возможности (используется во всех фреймворках для работы с данными)
    • Kotlin — желательно (а через год-два обязательно) — может начать заменять Java
    • Swift — желательно (сможете создавать любые приложения для семейства Apple)

    Фреймворки, технологии:

    • Spring Framework — создание серверного кода
    • Hibernate — работа с БД
    • Базы данных: реляционные (MySQL) или NoSQL (MongoDB)
    • RESTful и JSON — предоставление и получение данных
    • Angular/React — нужно знать оба, тем более, что язык у них один — TypeScript

    Вопросы

    СКАЧАТЬ ВСЕ КУРСЫ JAVA

    Рубрики

    Метки

    Previous Post Что изучать: Angular или React?

    Next Post Изучаем книги по Java (и любой теме), не покупая их

    Author Тимур Батыршинов

    Основатель обучающего центра «JavaBegin». Главный тренер. Обучил более 46000 человек (онлайн и оффлайн), провел более 900 онлайн-вебинаров. Опыт разработки на Java и других языках — более 15 лет. Автор более 50 курсов по разным направлениям Java: основы, веб, Android, Spring, iOS, Angular, React и многие другие. Все курсы автора

    Начал изучать angular и там постоянно используется «реактивное программирование», раньше даже не касался его. Нужно ли знать RxJS или можно обойтись без него?

    да, желательно знать хотя бы основные возможности RxJS (используется повсеместно во всех JS фреймворках)
    Имеет большие возможности по работе с данными, меньше нужно кода, асинхронный режим и пр.
    будет отдельная статья

    А когда у вас выходят курсы по Angular/React/TypeScript?

    Angular примерно через 2-3 недели, React осенью, TypeScript будет внутри них изучаться

    Это по той технологии, которая описана в статье? Фронтенд (Angular/React/TypeScript) + бэкенд (Java/Spring/Hibernate/RESTful)
    И какой будет практический проект?

    да, связка будет такая.
    несколько проектов (простой, посложнее) — чуть позже подробно в письмах напишу

    А как насчет React Native? он когда будет?

    в начале след. года

    спасибо, очень полезно

    зачем мы тогда тратили столько времени на изучение JavaEE, а сейчас он никому не нужен?

    Раньше не было других технологий и приходилось использовать JavaEE, сейчас его вытесняет Spring.
    Но нельзя сказать, что JavaEE полностью умер, его еще много где используют. Особенно там, где в договорах прописано, что можно использовать только стандартные технологии от Oracle, т.к. считается, что они будут иметь хорошую поддержку и пр. (хотя в реальности не совсем так).
    Поэтому, как говорится в статье, желательно основы JavaEE знать.
    Кстати, JavaEE старается внедрять последние фишки Spring, но не всегда удачно (в начале Spring тоже много чего полезного взял из JavaEE).

    Знакомы ли с языком Dart? Видите ли перспективы для него?
    Спасибо за статью!

    Очень давно приходилось использовать Dart (тоже основан на JavaScript), у него сильно развиты асинхронные возможности.
    Но сейчас пришел TypeScript и советую делать упор именно на него.
    Разве что Dart нужно знать, чтобы поддерживать некоторые старые проекты.
    Можно посмотреть по вакансиям в hh, разница в спросе очевидна: dart и typescript

    А как же такие технологии как Spark который в скорее вроде вытеснит спринг только гост структуры … как вы считаете …

    Spring и Spark — это фреймворки разного назначения, они могут не вытеснять, а интегрироваться между собой.
    Spring — фундамент для разработки backend’ов, Spark — работа с большими данными (Big Data). В идеале они должны научиться работать совместно.
    Spark можно начинать изучать, но не в первую очередь, а только когда уже есть фундамент, о котором говорится в статье.

    Какую IDE обычно используете?

    В основном IntelliJ IDEA (кроме iOS разработки, там своя среда XCode)

    просто смотрите вакансии на hh или других сайтах — там можно понять, что сейчас востребовано

    Сейчас изучаю Rust и Go. Про них ни слова не сказали. Как по вашему, они нужны? До этого работал на C#

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

    Мастер Йода рекомендует:  Что делать, если Microsoft заблокирует Windows на территории России

    Материалы для изучения Java

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


    1. Учебник по основам Java

    Учебников по Java много, среди них многие специалисты особо выделяют учебник Thinking in Java. Он позволяет освоить базовые принципы и основные возможности этого языка программирования. Учебник может быть полезен не только начинающим, но и тем, кто с Java уже знаком. Далеко не все возможности языка используются регулярно — с помощью учебника можно освежить те моменты, которые выпали из памяти. Ссылка на учебник >>

    2. Пособия для освоения простого и понятного кода.

    Для этого можно посоветовать книгу «Clean Code: A Handbook of Agile Software Craftsmanship». Ее вполне достаточно, чтобы разобраться в основах хорошего кода. Ссылка >> Для тех же, кто стремится к более глубокому пониманию, есть книга «Code Complete: A Practical Handbook of Software Construction». Разбираясь в тонкостях написания кода, Вы также углубляете свое понимание Java-программирования в целом. Ссылка >>

    3. Самые важные правила Java-программиста

    Отличная книга Effective Java – это сборник из 78 самых важных правил и практических советов, незаменимых для любого программиста. Это издание существует в русском переводе, однако полезнее будет изучать его в оригинале. Ссылка на сборник >>

    4. Шаблоны проектирования

    Многие из возникающих вопросов уже когда-то были заданы, а некоторые из тривиальных задач были решены. Основные шаблоны изложены, например, в книге Design Patterns: Elements of Reusable Object-Oriented Software. К этой книге стоит переходить на том этапе, когда у вас уже есть достаточный опыт и хорошие знания в области Java-программирования. Ссылка на книгу >>

    5. Основы алгоритмов

    Здесь мы рекомендуем книгу «Introduction to Algorithms», в которой описание алгоритмов дополняется псевдокодом. Он позволяет любому имеющему хотя бы начальные знания и опыт программирования реализовать алгоритм на используемом им языке программирования. Ссылка на книгу >>

    6. Онлайн-курсы по Java

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

    7. Где задать вопросы?

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

    Несмотря на то, что перечисленные нами книги признаны одними из лучших пособий по Java, наиболее эффективным по-прежнему остается изучение Java на практике, под руководством профессионалов, которые всегда помогут и дадут обратную связь. Такая возможность открывается перед участниками Java-школы Дойче Банка – уже после четырех недель интенсивного обучения у Вас будет возможность приступить к работе над проектами в Центре Разработки Дойче Банка.

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

    Как выучить Java с нуля: советы новичкам

    Есть множество причин изучать Java (самостоятельно или записавшись на курсы Java) независимо от того, новичок вы в программировании или специалист по другому языку. Самые очевидные из них связаны с тем, что Java — язык универсальный и надёжный. Он работает почти на любом устройстве, от “умного” утюга и телефона до автомобиля Tesla и суперкомпьютера. У Java — отличная обратная совместимость: это значит, что поддерживать старый Java-код относительно легко, как и переходить на новые версии языка.

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

    В этой статье расскажем о том, как подойти к изучению Java с учетом особенностей этого языка и где учиться на практике.

    А теперь — подробнее: почему Java?

    Прежде, чем обсудить подходы к изучению Java, мы должны расставить все точки над i в вопросе, зачем учить Java в принципе.

    Java — отличный выбор для новичков, ориентированных на карьеру. Он занимает первые места в рейтингах популярности (например, TIOBE) и является одним из самых востребованных языков программирования в мире. Только вдумайтесь в это число: три миллиарда устройств используют Java! Это значит, что найти работу или стажировку “джависту” достаточно легко.

    Факты свидетельствуют о том, что 90% компаний из списка Fortune 500 используют Java для создания приложений и серверных систем.

    Кроме того, этот язык — выгоден с финансовой точки зрения: скажем, в США типичный Java-программист зарабатывает 102 514 долларов в год. Для стран постсоветского пространства цифра будет несколько более скромной. И тем не менее, зарплатная планка Java-программистов очень высока даже в России или Украине, особенно по сравнению с оплатой труда других специалистов массовых профессий.

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

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

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

    Наконец, не стоит сбрасывать со счетов мощнейшее сообщество Java, которое может оказать поддержку в процессе обучения:

    • 2-е по величине сообщество StackOverflow
    • 4-е по величине сообщество Meetup (насчитывается более 1400 групп Java Meetup, общее количество участников которых превышает 580 000)
    • 2-й язык с наибольшим количеством тегов на GitHub (более 1,5 миллионов Java-проектов живут на GitHub)

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

    Трудно ли изучать Java?

    И да, и нет. Поначалу вы столкнетесь с простыми “азбучными” понятиями — переменными, методами (функциями), библиотеками. Однако не стоит обольщаться и думать, что и дальше всё будет так же просто. В Java есть и более сложные и абстрактные вещи. Например, новичку не так уж просто сразу осознать объектно-ориентированный стиль программирования, а многопоточность и вовсе способна произвести когнитивный диссонанс в неподготовленном мозгу. Но на самом деле, если правильно подойти к учёбе, освоение Java упрощается на порядок. Тем более, с какого-то момента всё станет проще уже хотя бы потому, что вы обретёте прочный фундамент.

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

    5 главных советов, как изучать Java, чтобы не было мучительно больно

    Если мы вас убедили в том, что изучать Java — отличная идея, постараемся рассказать, как подойти к обучению так, чтобы дорога к освоению языка была наиболее короткой.

    1. Соблюдайте правильный баланс между теорией и практикой

    Теоретические знания, разумеется, нужны. Они помогают понять внутренние процессы, объясняют, почему в программе всё происходит именно так, а не иначе. Однако потреблять теорию нужно умеренно, если речь идёт о столь практической сфере, как программирование. Особенно на первых порах.

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

    Поэтому совет номер один: создавайте базу знаний за счёт теории постепенно, а концентрируйтесь — на практических занятиях. Если всё время учёбы — это 100%, то практике нужно посвящать примерно 75-80% этого времени.

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

    Тем, кто занимается без ментора, довольно сложно соблюдать этот баланс. Начинающему разработчику непонятно, откуда брать задания, какие задания ему подходят, а за какие следует браться позже. Кроме того, кто проверит корректность кода или поможет, если что-то не получается?

    В сети можно найти хорошие видеокурсы или площадки с заданиями по Java. Один из лучших курсов — JavaRush, поскольку в нём соблюден указанный выше баланс: он на 80% ориентирован на практику и только на 20% — на теорию. В курсе Java Core рассматривается полностью (синтаксис Java, ООП, структуры, многопоточность и т. Д.), но при этом вы не увязнете в теории, а будете познавать её постепенно, прежде всего решая множество упражнений.

    После того, как вы решите все 1200+ задач в JavaRush, у вас будет порядка 500 часов реального опыта программирования.

    2. Создайте расписание учёбы и поставьте чёткие цели

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

    Итак, вы хотите изучить Java. Это — ваша самая первая и общая цель. Теперь следует составить программу и разбить вашу цель на более конкретные “подцели”, чтобы сохранить импульс. Работать над избранной учебной программой лучше каждый день. Даже если вы потратите на учёбу всего полчаса в день, если вы будете каждый день писать код, это закрепит привычку и станет частью вашей жизни гораздо быстрее, чем если занятия будут нерегулярными. И постарайтесь себя убедить, что ваши занятия — это не блажь и не развлечения. Они для вас — обязательны.

    Чтобы оставаться сосредоточенным при низкой мотивации, напоминайте себе, почему вы хотите изучать Java в принципе. Хотите стать профессиональным разработчиком и найти классную работу? Возможно, мечтаете создать собственное приложение? Определите свои цели и сделайте из них “маячки”, а затем — ориентируйтесь на них, как только почувствуете потерю мотивации (а это случается чаще, чем хотелось бы, особенно при самостоятельном обучении).

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

    В курсе JavaRush часть этой работы уже проделана за вас. Там есть последовательная программа и уйма задач с автопроверкой правильности решений. А ещё он разбит на небольшие модули, и вы будете чётко видеть прогресс. Так что вам остаётся только задать самому себе темп и — вперёд!

    3. Попробуйте игровой формат в обучении, чтобы успешно учиться, сохраняя мотивацию

    Давайте посмотрим правде в глаза: успешных самоучек в любой отрасли — не очень много. Возможно, один на сотню найдётся. Низкий процент объясняется не чьей-то тупостью или безалаберностью. Чаще всего вполне разумные люди, споткнувшись о неудачи, теряют мотивацию, поскольку не в состоянии оценить свой реальный прогресс. А порой они попросту не понимают, что их усилий было недостаточно для преодоления той или иной трудности.

    Вы наверняка играли в компьютерные игры и сталкивались с ситуацией, когда не могли пройти уровень с первого раза. Тем не менее, если в игре соблюдён разумный баланс сложности, у вас обычно не возникает мысли “я никогда не смогу этого сделать”. Вы просто пытаетесь снова и снова, и в конце-концов уровень поддаётся, вы набираете какое-то количество баллов или получаете нужный предмет для продолжения — чувствуете радость от преодоления и… отправлялись покорять новую вершину!

    Так вот, идея в том, что тот же принцип можно применить в обучении программированию. Если вы вовлечены в игровой процесс, видите результат, получаете поощрение за продвижение от уровня к уровню, вы гораздо охотнее будете садиться за учёбу. Так работает наш мозг — ему нужно поощрение, то есть подтверждение того, что его усилия не тщетны!

    Вот почему JavaRush идеально подходит тем, у кого нет опыта программирования: опыт в играх, хотя бы небольшой, есть практически у всех, а в этом курсе применена геймификация:

    • JavaRush проходится как видеоигра. Когда вы правильно решаете задачу, вы получаете «темную материю» (баллы, которые вам нужны, чтобы открыть следующую лекцию или следующий уровень).
    • Вы играете за антропоморфного робота по имени Амиго, и проходите курс от уровня к уровню, от квеста к квесту, собирая и тратя темную материю.
    • У курса есть сюжет, включающий космические путешествия, инопланетную жизнь и роботов.
    • JavaRush разделен на 40 уровней (4 квеста по 10 уровней), каждый из которых содержит около 15-30 заданий, связанных с написанием кода, 10-20 лекций по Java, а также мотивационные статьи — они помогут вам двигаться вперед, даже когда становится сложно.

    Пройдя эту игру, вы научитесь программировать!…Видеоигры, кстати, написаны программистами, все до единой.

    4. Общайтесь с другими студентами и Java-программистами. Не стесняйтесь задавать вопросы!

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

    Общаясь с другими программистами вы получите не только ответы на вопросы: вы познакомитесь с людьми со схожими интересами, что ускорит ваше обучение и повысит уверенность, что вы всё делаете правильно.

    Когда становится тяжело (а в любом адекватном учебном процессе бывают такие моменты, даже у гениев), заданные вовремя правильные вопросы — это уже половина успешного разрешения проблемы. Не бойтесь спрашивать, даже если вам кажется, что ваш вопрос глупый и вас засмеют. Начинающими были АБСОЛЮТНО все и чего-то не знать или не понимать — естественно. Так что если кто и будет смеяться над вами, это — проблема того, кто будет смеяться, а не ваша.


    Помимо Stack Overflow, задавать вопросы по Java можно в специальном разделе “Помощь” на JavaRush. В этом сообществе студенты просят подсказки, помогают преодолеть препятствия и делятся ответами и советами.

    Кстати, вы тоже можете помогать другим студентам с их вопросами — это очень полезно. Такая взаимопомощь поможет учиться быстрее и запоминать больше информации.

    5. Создайте собственное портфолио

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

    В таком случае, когда вы начнёте рассылать своё резюме на вакансию Java-разработчика или заняться внештатными проектами, у вас уже будет портфолио, которое вы сможете продемонстрировать потенциальным работодателям или заказчикам.

    Сегодня это сделать очень просто. Создайте учетную запись GitHub, прочитайте, как с ним работать (это несложно) и публикуйте там свои проекты.

    Заключение

    Теперь вы вооружены стратегиями и техниками, которые помогут вам правильно изучить Java. Главные ключи к изучению Java — это практика, последовательность шагов, но самое позитивное — ничто вам не мешает сделать своё путешествие увлекательным!

    Начните его с прохождения бесплатных уровней на JavaRush

    Книги и учебные ресурсы по Java

    Собираем подборку качественной литературы по Java.

    Дописывайте, если есть что добавить в общий ответ.

    Заблокирован участником PashaPash 2 янв ’16 в 11:47 .

    Ответы на этот вопрос — результат совместной работы участников. Если вы видите возможность по улучшению, просто отредактируйте ответ! Новые ответы больше невозможно добавить.

    Подробнее о заблокированных сообщениях здесь.

    1 ответ 1

    Core Java

    Начинающим:

    Head First Java (2nd Edition). Kathy Sierra, Bert Bates.

    Русский перевод: Изучаем Java. Кэти Сиерра, Берт Бейтс.

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

    Java: A Beginner’s Guide. Herbert Schildt.

    Русский перевод: Java. Руководство для начинающих. Герберт Шилдт.

    Core Java Volume I: Fundamentals (9th Edition), Core Java Volume II: Advanced Features (9th Edition).

    Русский перевод: Java. Библиотека профессионала. Том 1. Основы; Java. Библиотека профессионала. Том 2. Расширенные средства программирования. Кей С. Хорстманн, Гари Корнелл.

    Книги Хорстманна написаны достаточно сухим языком и вываливают на читателя горы документации по API и километры листингов с полным кодом примеров. Читать их последовательно может быть довольно тяжко, зато книги станут отличным настольным справочником и сборником рецептов.

    Онлайн-документация по стандартным библиотекам JAVA SE.

    Онлайн-курсы, учебники

    • Уроки Java для начинающих на itproger.com
    • Самоучитель по Java с нуля — vertex-academy.com
    • Java Tutorial(англ.) на Javatpoint
    • Курсы на Stepik.org:
      • Java. Базовый курс Computer Science Center (CS центр)
      • Летняя Java школа
      • Adaptive Java(англ.) JetBrains
    • Hyperskill(англ.) — сайт с учебными проектами для обучения программированию на Java, Kotlin, Python

    Средний уровень:

    Thinking in Java (4th Edition). Bruce Eckel.

    Русский перевод: Философия Java. Брюс Эккель.

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

    Java 8: The Complete Reference. Herbert Schildt.

    Русский перевод: Java 8. Полное руководство. Герберт Шилдт.

    Effective Java (2nd Edition). Joshua Bloch.

    Русский перевод: Java. Эффективное программирование. Джошуа Блох.

    Джошуа Блох в некотором смысле продолжает идею книги Thinking in Java: еще сильнее углубляясь в особенности языка и стандартных библиотек, учит писать красивый код.

    The Well-Grounded Java Developer: Vital techniques of Java 7 and polyglot programming. Benjamin J Evans, Martijn Verburg.

    Русский перевод: Java. Новое поколение разработки. Бенджамин Эванс, Мартин Вербург.

    Java Puzzlers: Traps, Pitfalls, and Corner Cases. Joshua Bloch, Neal Gafter.

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

    Java Concurrency in Practice. Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea.

    Подробнейшее пособие по написанию многопоточного кода на Java. Каждая тема рассматривается с разных сторон на нескольких примерах, так что к концу главы будет полное понимание осуждаемого предмета. Немаловажно, что один из соавторов (Doug Lea) является автором стандартной библиотеки concurrent-примитивов ( java.util.concurrent ).

    Java Performance. Charlie Hunt, Binu John.

    Must read по оптимизации java Программ, тюнингу JVM и сборщика мусора, бенчмаркингу и профилированию.

    Core Java for the Impatient. Cay Horstmann.

    Книга для нетерпеливых, как следует из названия. Позволяет погрузиться в мир языка Java, рассказывается всё, что на самом деле может пригодиться Java-разработчику. Отдельное внимание уделено новшествам восьмой версии языка. В конце каждой главы есть задания для более плотного усвоения материала. (Хорстманн не очень любит язык C++ , иногда шутит по этому поводу, вроде того: String[] badWords = <"sex", "drugs", "C++">; , от этого читать становится не так скучно).

    Мастер Йода рекомендует:  Хорошие Округлости Составные Фигуры в CSS

    Java SE 8 for the Really Impatient. Cay Horstmann.

    Русский перевод: Java SE 8. Вводный курс Кей С. Хорстманна

    Является продолжением книги Core Java for the Impatient, однако здесь всё внимание уделяется новшествам восьмой версии языка, покрывает очень многие аспекты, будь то лямбда-выражения, работа со Stream API или многопоточность. После каждой главы также присутствуют задания для усвоения материала.

    Head First Design Patterns.Eric Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra.

    Русский перевод: Паттерны проектирования. Эрик Фримен, Элизабет Фримен

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

    Java 8 Lambdas. Richard Warburton.

    Русский перевод: Лямбда-выражения в Java 8. Ричард Уорбэртон


    Обычно в учебниках по Java мало внимания уделяют или не уделяют вовсе теме использования лямбд и стримов. Учебник Уорбэртона восполняет этот недостаток.

    Экспертный уровень:

    The Java Language Specification. James Gosling, Bill Joy, Guy L. Steele Jr., Gilad Bracha, Alex Buckley.

    Oracle JRockit: The Definitive Guide. Marcus Hirt, Marcus Lagergren.

    Java EE

    Исчерпывающая официальная документация о работе и жизненном цикле сервлетов.

    Beginning Java EE 7. Antonio Gonsalves.

    Русский перевод: Изучаем Java EE 7. Энтони Гонсалвес

    Java EE 7. Основы Арун Гупта

    Head First Servlets and JSP, 2nd Edition. Bryan Basham, Kathy Sierra, Bert Bates

    Java Servlet and JSP Cookbook. Bruce W. Perry

    Русский перевод: Java сервлеты и JSP. Сборник рецептов. Брюс У. Перри

    Spring

    Официальная документация о каждом проекте Spring. Описано подробно, но довольно сложно и много, поэтому для первого обучения рекомендую начать с Spring Guides.

    Spring Guides Очень простые и наглядные пошаговые уроки (на английском) разных возможностей проектов Spring, с возможностью сразу скачать результат и проверить на своем компьютере. Наиболее актуальные туториалы по Spring, которые есть в интернете, так как постоянно обновляются сообществом. Для более детального изучения — смотрите официальную документацию.

    Spring в действии. Крейг Уоллс

    Несмотря на то, что в книге описана уже немолодая 3-я версия Spring, книга стоит ознакомления, так как очень просто и подробно знакомит читателя с фреймворком.

    Spring 5 для профессионалов. Юлиана Козмина, Роб Харроп, Крис Шефер, Кларенс Хо

    Многолетний бестселлер, считающийся наиболее исчерпывающим и авторитетным руководством по Spring.

    Hibernate

    Beginning Hibernate. Joseph B. Ottinger, Dave Minter, Jeff Linwood

    Несмотря на то, что в названии книги стандарт JPA не упоминается, бóльшая часть книги посвящена именно его реализации в Hibernate.

    Java Persistence with Hibernate. C. Bauer, G. King, G. Gregory

    Исчерпывающее описание Hibernate и Java Persistence.

    Swing

    SWING: Эффективные пользовательские интерфейсы. Иван Портянкин.

    Swing. A Beginner’s Guide. Sсhildt H.

    Русский перевод: Swing. Руководство для начинающих. Шилдт Г.

    Swing Hacks. Tips and Tools for Killer GUIs. Joshua Marinacci, Chris Adamson.

    JavaFX

    JavaFX 2.0 Разработка RIA-приложений. Тимур Машнин.

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

    Learn JavaFX 8. Kishori Sharan.

    Учебник на английском, в нем подробно описываются все основные элементы JavaFX, особенности их поведения и взаимодействия, описываются наблюдаемые свойства и связывания (properties and bindings), и другие полезные возможности, как вывод на печать и подробное описание обработки событий.

    Справочники

    Java 8 Pocket Guide. Robert Liguori.

    Русский перевод: Java 8. Карманный справочник. Роберт Лигуори.

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

    7 лучших бесплатных ресурсов для изучения программирования

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

    1. freeCodeCamp

    • Технологии: HTML, CSS, JavaScript, Git, Node.js, React.js и другие.
    • Стоимость: полностью бесплатно.
    • Уровень сложности: все уровни.
    • Язык: английский.

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

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

    Вдобавок freeCodeCamp помогает ученикам собираться в команды и работать совместно над реальными некоммерческими проектами. Это хороший шанс получить ценный опыт разработки и портфолио, необходимые для трудоустройства.

    2. Codecademy

    • Технологии: HTML, CSS, JavaScript, Angular.js, React.js, Python, Ruby и другие.
    • Стоимость: бесплатно или от 20$ в месяц за дополнительный контент.
    • Язык: английский.
    • Уровень сложности: лёгкий-средний уровни.

    Как и предыдущий ресурс, Codecademy делает ставку на обучение веб-программированию. Вы читаете теорию, после чего выполняете задания в интерактивном редакторе кода. К услугам пользователя отдельные курсы, посвящённые разным технологиям. Основная часть каждого из них доступна бесплатно, но проверочные тесты и задания по разработке проектов открываются после оформления подписки.

    В Codecademy также есть комплексные платные программы, которые систематизируют и объединяют материалы разных курсов. К примеру, программа Build Websites from Scratch шаг за шагом обучает разработке простого сайта с нуля с использованием различных технологий.

    3. Coursera

    • Технологии: HTML, CSS, JavaScript, Angular.js, Java, Python, Ruby, Swift и другие.
    • Стоимость: бесплатно или от 49$ в месяц за дополнительный контент.
    • Язык: английский, русский и другие.
    • Уровень сложности: все уровни.

    На Coursera вы найдёте множество курсов по разным языкам программирования от ведущих мировых университетов. Здесь можно обучаться не только веб-разработке, но также созданию мобильных и настольных программ. Некоторые курсы самодостаточны, но большинство объединены в специализации — наборы связанных курсов.

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

    4. edX

    • Технологии: HTML, CSS, JavaScript, Java, Python, Ruby и другие.
    • Стоимость: бесплатно или от 49$ в месяц за сертификат.
    • Язык: английский и другие.
    • Уровень сложности: все уровни.

    На edX вы можете получить доступ к курсам от известных компаний и университетов. Среди них есть, к примеру, знаменитый вводный курс для начинающих программистов Introduction to Computer Science от Гарвардского университета. Образовательный контент представлен в основном видеолекциями и текстами. Некоторые курсы содержат тесты и другие интерактивные задания.

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

    5. ИНТУИТ

    • Технологии: HTML, CSS, JavaScript, алгоритмы и базы данных, C#, Java, Python, Ruby, и другие.
    • Стоимость: бесплатно или от 500 рублей в месяц за услуги тьютора.
    • Язык: русский.
    • Уровень сложности: все уровни.

    В каталоге образовательной платформы «ИНТУИТ» есть текстовые и видеокурсы от российских учебных заведений и международных IT-компаний. Контент площадки охватывает все основные сферы программирования от разработки сайтов до создания настольных программ. Самостоятельное обучение бесплатно, но есть платная услуга, в рамках которой пользователю помогает персональный тьютор.

    6. Stepic

    • Технологии: JavaScript, C#, нейронные сети, C++ и другие.
    • Стоимость: полностью бесплатно.
    • Язык: русский, английский.
    • Уровень сложности: легкий-средний.

    Ещё одна некоммерческая площадка, курсы для которой создают российские компании и вузы. Хотя на Stepic не так много материала о конкретных языках программирования, здесь можно почерпнуть фундаментальные знания из области математики и теории алгоритмов, которые пригодятся каждому разработчику.

    7. Современный учебник Javascript

    • Технологии: JavaScript и другие.
    • Стоимость: бесплатно или от 6 500 рублей за дополнительный курс.
    • Язык: русский.
    • Уровень сложности: все уровни.

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

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

    Как новичку изучить Java?

    Приветствую! Я — frontend-разработчик. На данный момент интерес к этому направлению пропал, уже нет того рвения, как раньше. Решил попробовать себя в другом направлении. Давненько присматриваюсь к мобильной разработке. А это, насколько я знаю, язык Java. Но некоторые говорят, что C#. Мне интересно мнение опытных людей, поэтому хочу спросить следующее:

    1. Что в основном разрабатывают на Java?
    2. Насколько сложно выучить Java по сравнению с JavaScript?
    3. Насколько язык Java имеет важное значение в мобильной разработке? Очень многие твердят, что в мобильной разработке используется в основном C#.
    4. Может, посоветуете какие-нибудь материалы (видеоуроки, литературу и т.д.), с которых лучше начать обучение? Да, это можно найти в интернете, но всё-таки хочется услышать совет знающих и опытных в этом деле людей)

    • Вопрос задан 08 дек. 2020
    • 2492 просмотра
    1. Всё, кроме драйверов.
    2. Это от вас зависит. Есть люди, для которых JS сложнее, чем Java.
    3. На данный момент 88% мобильных устройств в мире используют Android, а Java — основной язык для разработки android-приложений.
    4. Для старта в Java хорошо подойдёт Кэти Сиерра, Берт Бейтс — Изучаем Java. Для старта в Android Дон и Дэвида Гриффитс — Программирование для Android.

    Видимо, я не я один такой, кто «сторонится» JS )))

    все сторонятся простых языков в которых ничего нет, на его разработку было отведено дней десять, но это не значит что он плох как инструмент, ведь на нём куча всего написано, просто берёте и копипастите из SO.

    Также как и Си в котором ничего для комфортного написания кода изначально нету, но на нём работает любая микроволновка, стиральная машина, драйвер и т.п. C and JS are everywhere.

    Если вы выбираете языки только для мобильной разработки, то это конечно-же Java и Swift На каком языке пишут приложения для IOS и Android?

    Нельзя сравнивать Java и JS, это полностью разные языки, их абсолютно ничего не объединяет, разве что слово «джава» которое на то время когда создавали JS было крутым, и его попросту пытались употребить везде где попало.

    Случайно, не приходилось сталкиваться с такими библиотеками? какой-нибудь фреймворк — vue.js например или ангулярку.

    никак нет, но судя на тостере по взвешенным отзывам и комментариям других пользователей, то я бы лучше выбирал сегодня React, смотря для чего

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

    В начале Vanilla JS а как жеш, и только потом фреймворки (но для начала нужно хорошо знать html, css, git и en)

    P.S. Java крутая штука, но не для соло. И за её знания платят куда больше, чем за то о чём мы говорим. Большие корпорации её используют, сертификация имеет вес, и всё такое. Это очень дорогой стек.

    тогда почему не Си, если отрыв всего навсего примерно в 1%?

    могу сказать с уверенностью, что Pure C догонит Java в том рейтинге, и перегонит его. Опираясь на динамика роста

    х2 по сравнению с Java.

    И на Си тоже можно создать что угодно, как и на Java.

    Си набирает популярность, потому что он скорострельный, и в нём ничего нет, чтобы тормозило работу. Поэтому его проще учить, кстати. Это тоже одна из причин его популярности.

    azerphoenix, Olek1, Си — простой язык, который сложно использовать. У меня есть один и тот же код, написанный на Java и C. В первом случае около 400 строк кода, во второй около 12 000. Причём Сишный код я прогнал через статический анализатор и санитизер, но до сих пор боюсь, что рано или поздно на проде вылезут утечки памяти, переполнение стека, ошибки сегментации или ещё какая дрянь в принципе невозможна в Java.

    А в производительности на прикладных задачах Java не сильно отстаёт.

    у вас возникают сложности, будучи экспертом, то я наверное буду регулярно спотыкаться

    Возможно, что изучение Си приведет к лучшему пониманию того же Java.

    Здравствуйте!
    Я и сам сейчас изучаю Java. И по своему опыту могу сказать следующее:

    — Java универсальный язык. В основном применяется в enterprise. А так можете создавать, что угодно: мобильные приложения, веб-приложения, игры, десктопные программы и многое другое. Имхо, мне лично больше понравилась веб-разработка в java, в частности работа с фреймворком Spring.
    — Сравнивать Java & JS не совсем корректно. Оба языка имеют свои преимущества и недостатки.
    — В мобильной разработке на мой взгляд Java & Kotlin имеет преимущество, по сравнению с C#. Например, для разработки на c# обычно используют фреймворк xamarin.
    — Что касается материалов:
    Книги
    Сьерра К., Бейтс Б. Изучаем Java (2-е издание, 2012)
    Г. Шильдт — Java для начинающих
    Видео
    https://www.youtube.com/watch?v=uXMTq81jG7Y&list=P.
    https://www.youtube.com/watch?v=9Yz3unV4NDw&list=P.
    Онлайн уроки
    https://stepik.org/course/187/syllabus
    Платные курсы javarush.ru || udemy.com

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

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

    Что касается остального, то чаще всего всего это android-разработка и автоматизация тестов (QA-Automation). Тут можно осилить самостоятельно, но тут же другая сфера и другие условия работы.

    1. Курс на торренте ITVDN Java + Шилдт «Полное руководство для начинающих» + “Изучаем Java” O’Reilly
    2. Stepic
    3. Курс на торренте Петра Арсеньева + Задачник Златопольский + Седжвик Алгоритмы

    Дополнительно, но будешь прогать как боженька: getjavajob. Или job4j/OTUS.

    > Что в основном разрабатывают на Java?
    Всё практически. Серверное ПО (в т.ч. нагруженное), десктопное ПО, мобильные приложения под Андроид, даже менюшка оператора на симкарте.

    > Насколько сложно выучить Java по сравнению с JavaScript?
    Не знаю, по мне так Java намного легче, логичнее и приятнее. Я когда вижу современный ES6 код, с кучей стрелочек, скобок и мапредьюсов, нет нормальных человеческих классов, не поищешь по переменной с помощью IDE, непонятно какой тип переменной и откуда она пришла. Брр. Ну, на вкус и цвет. Я к тому, что не легче и не труднее, зависит от вашего бекграунда и предпочтений.

    > Насколько язык Java имеет важное значение в мобильной разработке? Очень многие твердят, что в мобильной разработке используется в основном C#
    C# это только Xamarin. У меня нет статистики, т.к. особо не слежу за мобильной разработкой, но кажется что он не набрал такой уж популярности. Тогда уже учитывайте ещё React Native и Kotlin, у них тоже значительная ниша. Ну и разумеется Swift для айфонов. С Java вы всегда найдёте работу в разработке под Android.

    > Может, посоветуете какие-нибудь материалы (видеоуроки, литературу и т.д.), с которых лучше начать обучение?
    Мне понравился курс от Технопарка и ещё есть очень много курсов на Udemy с разными под-специализациями из мира Java.

    Ресурсы по Java для начинающих

    Книги по Java

    Java 9

    Java. Полное руководство. 10-е издание» Шилдт Г.В книге Герберта Шилдта «Java. Полное руководство», полностью обновленной с учетом версии Java SE 9, поясняется, как разрабатывать, компилировать, отлаживать и выполнять программы на языке программирования Java. Это обширное справочное пособие составлено Гербертом Шилдтом, автором популярных во всем мире книг по языкам программирования, таким образом, чтобы охватить все языковые средства Java, включая синтаксис, ключевые слова, основные принципы объектно-ориентированного программирования, значительную часть прикладного программного интерфейса Java API, библиотеки классов, аплеты и сервлеты, компоненты JavaBeans, библиотеки AWT и Swing, а также продемонстрировать их применение на простых и наглядных примерах.

    Java 8

    Джеймс Гослинг. Язык программирования Java SE 8. Как думаете насколько полезна книга о Java, автором которой является один из разработчиков этого языка программирования? Книга может быть учебников и справочником по Java, в зависимости от того как ее читать. В работе собраны упражнения для практики, которые позволят быстро понять специфику программирования. Текст книги написан понятным языком, поэтому обучение программированию на Java легко можно начинать с этой книги.

  • Патрик Нимейер и Дэниэл Леук. Программирование на Java. Исчерпывающее руководство по Java в подробностях для студентов, начинающих программистов и финских хакеров. Одно только содержание в этой книге занимает несколько страниц. Для новичка книга будет помощником в изучение Java, а программисту со стажем она поможет разобраться в тонкостях программирования на Java.
  • Java 7

    Яков Файн. Программирование на Java для детей, родителей, дедушек и бабушек. Эта книга написана самым простым языком для младшего сына Java-чемпиона Дейва. Однажды ребенок попросил отца научить его программированию, чтобы он смог сам создавать компьютерные игры. Книга предназначалась для детей старше 11 лет, их родителей и абсолютных новичков в программировании. Чтобы получить максимум от книги, читайте ее от начала и до конца, тем более, что автор обещает, что в ходе обучения вместе с читателями создаст программу-калькулятор, игру в крестики-нолики и пинг-понг.

    Java 6

    Брюс Эккель. Философия Java. Отличное руководство по программированию на Java, между прочим, считающееся одним из лучших. С этой книги, по мнению многочисленного сообщества, и следует начинать изучение Java. Книга одинаково полезна новичкам, так и тем, кто уже пишет код на Java. К книге обращаются за уточнениями во время написания кода. Автор отвечает на вопросы о Java: как, что и почему (почему Java создан именно таким, почему Java работает так, а не иначе и т.д.). По этой книге желающие даже готовятся к экзамену SCJP (Sun Certified Java Programmer), Java-экзамен начального уровня. Программисты утверждают, что читать книгу лучше в оригинале.

  • Джошуа Блох. Эффективное программирование. Невероятно полезная книга, которая написана программистом и получила признание в профессиональной среде. Джошуа научит каждого читателя писать код на Java лучше и поделится своими советами. Его книга является доступной практической инструкцией для создания программ, которые невозможно или трудно написать на других языках.
  • SCJP Sun Certified Programmer for Java 6 Exam 310-065 — бестселлер для подготовки к OCJP 6.
  • Java 5

    Head First Java, 2nd Edition нестандартная, но легко читаемая.

    Подскажите хорошие русскоязычные ресурсы для изучения Java

    08.05.2020, 18:34

    Подскажите хорошие курсы в Киеве по Java
    Подскажите пожалуйста хорошие курсы в Киеве по Java, с толковыми преподавателями.

    Инструменты для изучения java
    Только-только начинаю изучать java и незнаю какое програмное обеспечение выбрать. Посоветуйте.

    Выбор книги для изучения Java
    Приветствую! Намерен изучить Java. В первую очередь для создания приложений и игр для Android, но.

    Посоветуйте книги для изучения Java
    учил C++ по Р.Лафоре очень понравилась эта книга. Сейчас хочу учить Java и хочу что бы литература.

    Предлагаю создать группу для изучения Java SE
    Доброго времени суток. Видел подобные топики на данном форуме по разным ЯП. Насколько понимаю.

    Добавить комментарий