Рубрики
Без рубрики

Переход От “Привет, Мир” к многопоточности: Сколько времени требуется для изучения Java?

Короче говоря, это занимает от 6 месяцев до десятилетий от относительного до абсолютного владения Java. Почему существует такая разница? Давайте подробнее рассмотрим, на что похоже свободное владение Java. С тегами для начинающих, java, кодирование, обучение.

Java считается одним из наиболее удобных для начинающих языков для изучения благодаря своей “объектно-ориентированности”, безопасности типов и общей простоте. По сравнению с C или C++, где понимания указателей достаточно, чтобы свести разработчиков с ума, “получение” Java кажется прогулкой в парке.

Сказав это, когда именно вы можете быть уверены в знании Java? В чем смысл “выучить” язык и как туда попасть? Поскольку эти вопросы чрезвычайно распространены среди начинающих программистов, я решил поближе взглянуть на путь к овладению Java.

Короче говоря, это занимает от 6 месяцев до десятилетий от относительного до абсолютного владения Java. Почему существует такая разница? Давайте подробнее рассмотрим, на что похоже свободное владение Java.

Что означает “освоение Java”?

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

Я оцениваю свои навыки в любом языке программирования следующим образом:

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

Есть еще один способ оценить ваше владение Java — то есть позволяет ли ваш уровень владения языком выполнять повседневные задачи по программированию. Вот примеры того, как “изучение Java” может варьироваться среди программистов:

  • Возможность написать базовое решение производственного уровня;
  • Выполнение заданий колледжа без необходимости обращаться за справками к API;
  • Прохождение собеседования для младшего разработчика Java;
  • Мышление на языке и видение алгоритмов, а не используемых элементов;
  • Замечать недостатки языка и искать пути его улучшения.

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

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

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

Каков наилучший способ изучения Java?

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

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

Интерактивные платформы

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

Плюсы:

  • Сделайте процесс обучения более увлекательным.
  • Вы можете применять концепции Java в реальных ситуациях.
  • Сосредоточен на практических проблемах, а не на теоретических концепциях.

Аферы:

  • Требуется теоретическое понимание принципов Java.
  • Не давайте такого твердого представления о теории, как это делают книги.
  • На выполнение потребуется больше времени, чем на другие инструменты обучения.

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

Лучшие Платформы Для Обучения Java

  • Codegym.cc — углубленная платформа для изучающих Java начального уровня. Созданная как увлекательная многоуровневая игра, она использует шутки и игровых персонажей, чтобы сделать обучение программированию увлекательным. Внимательно изучив игривую обложку платформы, вы поймете, что Code Gym – это один из самых передовых инструментов обучения, охватывающий все, от Java Core до SQL, Hibernate и JSP.
  • CodinGame — эта платформа представляет собой набор практических проблем и задач, которые вам необходимо решить с помощью кодирования. CodinGame поддерживает более 25 языков, включая Java. Креативное повествование и современная графика – вот что выделяет CodinGame среди других интерактивных платформ.
  • Поиск кода . Хотя этот не предлагает плана обучения, это определенно надежный инструмент для отработки навыков Java. В процессе поиска кода учащиеся должны сравнить два фрагмента кода и выбрать рабочий. Существует таблица лидеров, которая поддерживает вашу мотивацию и желание совершенствоваться.

Книги

Плюсы:

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

Аферы:

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

Хотя программисты 21 века часто пренебрегают книгами по кодированию, на мой взгляд, им не следует этого делать. Я считаю, что чтение книги по основам нового языка дает представление о технологии с высоты птичьего полета – ее приложениях, плюсах и минусах и основных концепциях.

Лучшие книги для изучающих Java:

  • Java: Руководство для начинающих — это руководство в стиле учебника по ядру Java. Помимо использования привлекательных нетехнических метафор, которые помогут вам понять концепции программирования, Герберт Шильдт добавляет в каждый раздел тесты и практические задачи. Обязательно заполните их, чтобы улучшить сохранение знаний.
  • Эффективная Java . Эта книга обязательна к прочтению для программистов, обладающих знаниями Java на уровне pre-intermediate”. Эффективная Java” – это список из 78 практик, которые изменят ваш подход к решению проблем, добавят элегантности и гладкости вашему коду и сделают конечный продукт более нативным.
  • Параллелизм Java на практике . Будучи довольно устаревшей (книга охватывает Java 5.0), эта книга представляет собой отличное краткое изложение концепций параллелизма и многопоточности. Параллелизм Java на практике — это нелегкое чтение, но, как только вы пройдете через него, решение любой проблемы, связанной с параллелизмом, на рабочем месте будет проще простого.
  • Производительность Java: Окончательное руководство . Это отличное чтение для вас, если вы не разбираетесь в JVM, настройке производительности или сборке мусора. Книга охватывает широкий спектр тем производительности Java — от настройки приложений баз данных до API JAVA SE и EE.

Онлайн-Курсы

Плюсы:

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

Аферы:

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

Лучшие Курсы По Изучению Java

  • LinkedIn Изучает Учебные пособия по Java — это краткий и приятный курс по основам Java. После завершения всей серии учебных пособий вы получите четкое представление о методах, синтаксисе и потоках, которые Java-программисты обычно используют в реальном мире.
  • Полный мастер—класс Java на Udemy – это один из самых известных онлайн-курсов Java, на котором обучается более 207 000 студентов. Конечно, если вы решите придерживаться мастер—класса, вам нужно взять на себя обязательство по изучению Java – есть 72 часа учебного контента, а также викторины и практические задачи. Курс охватывает Java 8 и 9, многопоточность, модульное тестирование, базы данных, сети и многие другие концепции. Этот курс Udemy стоит изучить.
  • Углубленный анализ Java . Это еще один углубленный онлайн-курс, который редко можно найти в программировании на Java. Мне понравилось количество деталей и относительная легкость, с которой инструктор излагает концепции программирования на Java. Конечно, существует не так много примеров или практических проблем — однако, как краткое изложение основных концепций языка, Java In-Depth отлично справляется с этой задачей.
  • Программа Java Для начинающих за 250 Шагов . Несмотря на то, что курс хорошо структурирован и углублен, он также бесплатный. Весь учебный контент структурирован в виде модулей — текстовые учебные пособия и слайды помогают начинающим программистам ознакомиться с концепциями Java.

С чего начать изучение Java?

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

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

Уровень 1. Изучение Ядра Java

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

Вот что означает изучение ядра Java:

  • Обращенный к синтаксису . Сначала разработчику необходимо изучить, что такое объекты, классы и методы, знать, как работать с операторами if-else, использовать циклы, массивы и простейшие операторы.
  • Понимание объектно-ориентированного программирования . Поскольку ООП используется на нескольких языках, вам следует уделить этому большое внимание. Абстракция и инкапсуляция данных, представление классов, наследование и полиморфизм – вот некоторые из понятий, которые вам необходимо четко понимать.
  • Обработка коллекций Java и исключений Java — разработчик должен быть уверенным пользователем как коллекций Java, так и интерфейсов карт. Кроме этого, каждый студент CS должен изучать java.lang. Исключение и уметь определять классы исключений.
  • Алгоритмы Java — знание того, как выбрать и применить правильный алгоритм для решения данной проблемы, сэкономит вам много времени при работе с рабочими проектами.
  • Многопоточность Java — это одна из самых сложных тем Java, которая знаменует ваш переход от начинающего разработчика Java к среднему уровню.
  • Модульное тестирование — как разработчик, ты

Оригинал: “https://dev.to/selawsky/going-from-hello-world-to-multithreading-how-much-time-does-it-take-to-learn-java-2k6b”