Изучаем Java: зачем это нужно и с чего начать

0
6238
views

Перевод статьи «How to learn to code in Java: why you should and where to start».

Изучение Java

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

Насколько было бы проще, если бы на рынке языков программирования существовал какой-нибудь лидер. Тогда все новички могли бы делать безопасный выбор: изучать именно этот язык, зная, что их навыки будут пользоваться спросом. Конечно, это нереально. Языки это лишь инструменты для решения многочисленных задач. И, тем не менее, есть среди них один, который можно назвать «звездным» выбором, – Java.

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

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

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

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

Постарайтесь не угодить в распространенные ловушки

Ловушки, подстерегающие изучающих Java

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

Учеба без определенных целей

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

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

Чтение «чего-нибудь полезного» по мере его выхода не является лучшей стратегией обучения. План обучения, конечно, можно корректировать. Однако, если вы вовсе не будете следовать этому плану, вы потеряете мотивацию.

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

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

Слишком много теории без практики

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

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

Изучение программирования в одиночестве

Новички часто сомневаются, стоит ли им присоединяться к онлайн-сообществам или посещать какие-то мероприятия для программистов. Основная причина их сомнений – синдром самозванца.

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

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

Уверенность в том, что однажды вы полностью поймете все аспекты программирования

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

С другой стороны, когда вы еще только учитесь программировать, старайтесь принимать некоторые факты как данность. Не нужно слишком углубляться в изучение предмета, поскольку его бэкграунд может оказаться «неподъемным».

Составьте отличную учебную программу

План изучения Java

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

1. Поставьте себе цель и выберите язык

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

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

2. Создание учебного плана

Вы готовы сделать программирование на Java своей профессией? Тогда уделяйте учебе как минимум 2-3 часа в рабочие дни и 5 часов в выходные. В этом случае вам потребуется от 3 до 6 месяцев, чтобы начать претендовать на позицию разработчика-джуниора.

В целом, ваш процесс обучения будет состоять из нескольких этапов, включающих:

  • Установка JDK (Java Development Kit) с сайта Oracle и Java runtime environment (среда выполнения для Java, JRE) – IntelliJ IDEA, Eclipse или NetBeans.
  • Изучение синтаксиса Java.
  • Изучение основ Java.
  • Изучение Java Collections.
  • Изучение популярных библиотек и фреймворков.
  • Знакомство с часто используемыми API (например, servlets, JSP, JDBC, Junit).
  • Овладение Git.

Старайтесь следовать плану и поддерживать баланс между теорией и практикой. Программирование это навык, который нужно тренировать ежедневно. Завершив изучение какого-нибудь раздела, выполните несколько упражнений на программирование (от 3 до 10, в зависимости от сложности).

Изучая Java, можно успешно применять известный принцип Парето (правило 80/20). «20» отводите на теорию, а «80» – на практику. Это не преувеличение: чтобы запомнить изученное и приобрести навык, практики нужно в 4 раза больше, чем чтения. К сожалению, если сразу же не приступить к написанию кода, вы забудете прочитанное уже на следующий день. Но если вы проходите хороший курс, вам не нужно изобретать собственную программу.

3. Выберите подходящие инструменты и вступите в сообщества программистов.

Будем откровенны: безукоризненный курс по Java просто не существует. Какие-то курсы дадут вам теоретические знания, какие-то обеспечат хорошей практикой. Выберите несколько платформ для обучения, общения и практики. А также выберите один онлайн-курс, комбинирующий простые объяснения с реальным написанием кода.

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

Используйте разнообразные ресурсы для изучения Java

Источники для изучения языка

Для достижения ваших целей вам понадобятся многие инструменты. Например, вам могут пригодиться следующие:

1. Чистая практика: CodeAcademy

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

На этой платформе вы с самого первого урока начнете писать код. Если какое-то задание покажется сложным (а это нормально для начинающего), вы сможете воспользоваться весьма полезными подсказками.

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

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

2. Играйте и пишите код с самого начала: CodeGym.cc

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

В CodeGym вы начинаете с нулевого уровня в футуристической вселенной с путешествиями между мирами, роботами и прочими клевыми штуками. Ваша цель – пройти образовательные квесты и прокачать своего персонажа – робота. Каждый квест состоит из 10 уровней, а каждый уровень – из 10-12 уроков. Обучение ведут члены команды галактического корабля.

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

Все это позволяет вам не застревать на отдельных предметах или задачах, продвигаясь вперед и возвращаясь позже к отложенным головоломкам. В целом весь курс содержит больше 1200 задач. Это примерно 300-500 часов кодинга.

3. Программистские задачи: Codewars

Еще одна платформа с обилием практики. Правда, она больше подходит учащимся с хотя бы небольшим бэкграундом в программировании. Codewars позволяет вам отточить свои навыки работы с определенным языком, практикуя каты.

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

Для улучшения навыков вы постоянно будете получать все более сложные задачи. От других эту платформу отличает возможность практиковаться в группе.

4. Слушайте лекции профессионального уровня: EdX

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

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


Хотите быть в курсе последних новостей мира Java? Это правильно. Java постоянно развивается, обновляется и обзаводится новыми фичами. Стоит завести себе пару медиаресурсов для ежедневного чтения. Среди самых крупных можно назвать:

  • Javaworld (новости, полезные руководства и много всего другого, что позволит вам оставаться в курсе событий в Java).
  • Java Code Geeks (ресурс ориентирован на помощь людям, самостоятельно изучающим Java, найти работу).
  • DZone (множество статей и руководств для начинающих и опытных разработчиков).
  • Javarevisited (ежедневно обновляемый блог, охватывающий многие темы, связанные с изучением Java).

Помните совет присоединиться к сообществу, чтобы учиться более эффективно? Вы можете задать любой вопрос в разделах, посвященных Java, на Stack Overflow или Coderanch. Также есть как минимум три больших сообщества на Reddit: learnprogramming, java и learnjava. Там вы найдете полезные советы по изучению Java и по программированию в общем.

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

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here