Что нужно для изучения java
Java: краткое руководство для начинающих. Пишем простое приложение без опыта программирования
консультант по программным продуктам Oracle Центра технической поддержки компании РДТЕХ
Java – один из самых востребованных языков программирования в мире и один из двух официальных языков программирования, используемых в разработке Android (другой – Kotlin). Разработчики, знакомые с Java, весьма востребованы и способны создавать широкий спектр различных приложений, игр и инструментов. С помощью этой краткой статьи по Java для начинающих вы сможете сделать свои первые шаги к тому, чтобы стать одним из таких разработчиков. Мы рассмотрим все, что вам нужно знать, чтобы начать работу, и поможем вам создать свое первое простое приложение.
Что такое Java?
Java-это объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems в 1990-х годах (позже купленной Oracle).
Понятие «объектно-ориентированный» относится к способу написания структурного кода Java, а именно: разделение кода на так называемые «классы», которые запускаются вместе, чтобы обеспечить согласованное порождение объектов. Мы обсудим это позже, но достаточно сказать, что это приводит к универсальному и организованному коду, который легко редактировать и перепрофилировать.
Java находится под влиянием C и C++, поэтому она имеет много общего с этими языками (и C#). Одним из больших преимуществ Java является то, что он «платформенно-независимый». Это означает, что код, который вы пишете на одной платформе, можно легко запустить на другой. Это называется принципом «пишем один раз, запускаем где угодно» (хотя на практике это не всегда так просто, как кажется).
Чтобы запустить и использовать Java, вам нужно три вещи:
Виртуальная машина Java (JVM) гарантирует, что у ваших приложений Java есть доступ к минимальным ресурсам, необходимым для их запуска. Именно благодаря JVM программы Java так легко запускаются на разных платформах.
Среда исполнения Java (JRE) предоставляет собой «контейнер» для всех этих элементов и кода для запуска приложения. JDK – это «компилятор», который интерпретирует сам код и выполняет его. В JDK также есть инструменты разработчика, необходимые для написания кода Java (как и следует из названия).
Хорошая новость заключается в том, что разработчикам нужно только позаботиться о загрузке JDK, поскольку он поставляется вместе с двумя другими компонентами.
Как начать писать на Java
Если вы планируете разрабатывать приложения на Java на своем настольном компьютере, то вам нужно будет загрузить и установить JDK.
Вы можете получить последнюю версию JDK непосредственно с сайта Oracle. Как только вы установите его, ваш компьютер будет иметь возможность понимать и запускать код на Java. Тем не менее, вам все равно понадобится некоторое вспомогательное ПО, чтобы было действительно удобно писать код. Это так называемая «интегрированная среда разработки» или IDE: интерфейс, используемый разработчиками для ввода текста кода и вызова JDK.
При разработке для Android вы будете использовать IDE Android Studio. Она не только послужит интерфейсом для кода на Java (или Kotlin), но и станет мостом для доступа к специфичным для Android вызовам из SDK.
Для целей нашего краткого руководства по Java может быть и проще написать свой код непосредственно в приложении-компиляторе Java. Они могут быть скачаны для Android и iOS, можно даже найти веб-приложения, которые работают в вашем браузере. Эти инструменты предоставляют все необходимое в одном месте и позволяют сразу начать тестирование кода. Например, compilejava.net.
Насколько легко научиться программированию на Java?
Если вы новичок в разработке на Java, то ваши опасения вполне понятны. Так насколько же легко изучить Java?
Этот вопрос имеет несколько субъективную природу, но лично я бы отнес Java к языкам, не самым простым для изучения. Хотя он проще, чем C++, и часто описывается как более удобный для пользователя, но он, безусловно, не столь прост, как такие его конкуренты, как Python или BASIC, которые больше подходят для изучения начинающим программистам.
C# также немного проще по сравнению с Java, хотя они очень похожи.
Конечно, задавшись конкретной целью – стать разработчиком приложений для Android, – проще всего сразу начать с языка, который уже поддерживается этой платформой.
У языка Java есть свои особенности, но его, безусловно, можно изучить, и как только вы его освоите, вам откроется множество возможностей. А поскольку Java имеет много общего с C и C#, вы сможете перейти на эти языки без особых усилий.
Каков синтаксис Java?
Прежде чем мы погрузимся в самую суть этого руководства по Java для начинающих, стоит уделить некоторое время изучению синтаксиса Java.
Синтаксис Java относится к способу написания конкретных алгоритмов. Java очень принципиален в этом вопросе, и, если вы не пишете код определенным образом, то ваша программа не будет работать!
На самом деле я написал целую статью о синтаксисе Java для разработки Android, кратко перечислю особенности синтаксиса:
Если вы нажимаете кнопку «запустить» или «скомпилировать» и получаете ошибку, то есть большая вероятность, что вы где-то пропустили точку с запятой!
Вы никогда не перестанете делать это, и это никогда не перестанет вас раздражать. Расслабьтесь!
С этими знаниями мы сможем глубже погрузиться в руководство по Java!
Основы Java: ваша первая программа
Зайдите на compilejava.net, и вас встретит редактор с кучей готовых примеров.
(Если же вы предпочитаете использовать другую IDE или стороннее приложение, это тоже прекрасно! Скорее всего, ваш новый проект будет состоять из аналогичного кода).
Удалите все, кроме следующего:
Это то, что мы, программисты, мы называем «шаблоном» (этот код скопирован из учебника Java от Фила Данфи). Шаблонный код – так можно назвать любой код, который встречается внутри практически любой программы.
Первая строка здесь определяет «класс», который по сути является модулем кода. Затем нам нужен метод внутри этого класса, который представляет собой небольшой блок кода, выполняющий задачу. В каждой программе Java должен быть метод main, так как он сообщает Java, где начинается программа.
Об остальном поговорим чуть ниже, не беспокойтесь. Все, что нам нужно знать для этого урока Java прямо сейчас, – это то, что код, который мы действительно хотим запустить, должен быть помещен в фигурные скобки под словом «main».
Поместите сюда следующий оператор:
Этот оператор напишет слова: «Hello world!» на вашем экране. Нажмите «Compile & Execute» и вы увидите его в действии.
Поздравляю! Вы только что написали свое первое Java-приложение!
Переменные в Java
Теперь пришло время рассказать о некоторых более важных вещах, лежащих в основе Java. Мало что может быть более фундаментальным в программировании, чем обучение использованию переменных!
Переменная по сути является «контейнером» для некоторых данных. Это означает, что вы выберете слово, которое будет представлять какое-то значение. Нам также необходимо определить переменные, основанные на типе данных, на которые они будут ссылаться.
Вот три основных типа переменных, которые мы собираемся ввести в этом руководстве по Java:
Как только мы определяем переменную, мы можем вставить ее в наш код, чтобы изменить выходные данные. Например:
Теперь мы печатаем на экране, как и раньше, но на этот раз заменяем «Hello world!» на «Hello + имя». Этот код показывает строку «Hello», за которой следует любое значение, содержащееся в следующей строковой переменной!
Условные операторы в Java
Еще одна из самых важных основ Java – это работа с условными операторами.
Условные операторы используют блоки кода, которые выполняются только при определенных условиях. Например, мы можем захотеть предоставить специальные пользовательские права основному пользователю нашего приложения.
Посмотрите на следующий код:
Запустите этот код, и вы увидите, что специальные разрешения предоставлены. Но, если вы измените значение name на что-то другое, то код не будет работать.
Обратите внимание, что при наложении условия на данные мы используем два знака «=». Вы же используете только один, когда присваиваете какие-то данные переменным.
Методы на Java
Еще одна простая концепция, которую мы можем ввести в этом руководстве Java – это использование методов. Это даст вам немного больше понимания того, как структурирован Java-код и что с ним можно сделать.
Все, что мы собираемся сделать, – это взять часть кода, который мы уже написали, а затем поместить его в другой метод вне метода main :
Если бы мы написали вызов grantPermission() несколько раз, то сообщение «Special user priveleges granted» также отобразилось бы несколько раз. Именно это делает методы такими фундаментальными основами Java: они позволяют выполнять повторяющиеся задачи, не записывая код снова и снова.
Передача аргументов в Java
Но самое замечательное в методах то, что они могут принимать переменные и манипулировать ими. Мы сделаем это, передав переменные в наши методы как «строки». Вот для чего и нужны скобки, следующие за названием метода.
Надеюсь, это даст вам представление о том, насколько мощными могут быть методы!
В завершение
Надеюсь, теперь у вас есть хорошее представление о том, как изучать Java. Вы даже можете сами написать какой-нибудь простой код: используя переменные и условные операторы, вы действительно можете заставить Java делать некоторые интересные вещи уже сейчас.
Следующий этап состоит в понимании объектно-ориентированного программирования и классов. Это понимание есть то, что действительно дает Java и подобным языкам их силу, но поначалу может быть немного сложным для осмысления.
Как научиться программировать на Java: почему стоит и где начать
Определитесь со своими карьерными целями и выберите язык. Это пожалуй самый важный совет для тех, кто не имеет опыта программирования и стремится присоединиться к сообществу разработчиков. Но как сделать выбор, не зная, какой язык больше всего подходит для ваших целей?
Было бы проще, если бы среди всех языков программирования был «лидер рынка»? И тогда у всех новичков всегда будет безопасный выбор — выучите этот язык, и вы наверняка будете востребованы. Но это конечно же невозможно. Языки являются «инструментами» для решения многочисленных задач. Один из языков, к которому стоит присмотреться, является Java.
Java — это хорошо структурированный, объектно-ориентированный язык, который может показаться простым для начинающих. Вы можете справиться с ним довольно быстро, так как много различных процессов запускаются автоматически. В первое время не потребуется углубляться глубоко в «как там все работает». Java является кроссплатформенным языком. Это позволяет программисту создать приложение, которое можно развернуть на любом устройстве. Это предпочтительный язык для IoT(интернет вещей), отличный инструмент для создания enterprise приложений, мобильных приложений и т.д.
Что важно для новичка, у Java есть одно из крупнейших сообществ и очень качественная документация. Если у вас есть проблема, с высокой вероятностью ответ есть уже в документации. Еще два преимущества Java — это обширные библиотеки и фреймворки, которые покрывают большинство проблем, с которыми вам придется столкнуться как младшему разработчику.
Наконец, это язык с респектабельным прошлым и выдающимся будущим. Две последние версии, дополненные новыми функциями, были выпущены в течение шести месяцев друг за другом. Это помогает Java стоять на переднем крае и удерживать самые высокие позиции в профессиональных рейтингах.
Но даже когда мы говорим о языке программирования с низкой кривой обучения, есть много скрытых камней для начинающих. Сколько времени нужно учить? Каким источникам доверять? Какие ошибки следует избегать? Давайте проедемся по учебному плану.
Убедитесь, что вы знакомы с частыми ошибками у новичков
Итак, вы новичок в программировании. Поздравляем: так как вы можете использовать опыт других программистов и избежать распространенных ошибок в самообразовании. Вот несколько частых ошибок.
Обучение без постановки конкретной цели
Чтобы оценить масштаб и желаемый уровень знаний по какому-либо языку программирования, прежде всего, вы должны ответить на простой вопрос: зачем вам программирование?
Если вы серьезно относитесь к кодированию и собираетесь стать Java-разработчиком, вам придется учиться каждый день в течение по крайней мере 4–5 часов. Но если вы просто хотите расширить свои знания, вы можете выбрать более спокойный темп. В любом случае, старайтесь не продлевать свое образование на долгие годы, потому что технологии развиваются. Пока вы изучаете какой-либо фреймворк или инструмент разработки, чтобы получить работу, они устаревают.
Чтение всплывающего «чего-нибудь полезного» — не лучшая стратегия обучения. Можно внести коррективы в общий план. Однако, если вы не будете следовать этому, это неизбежно приведет к демотивации.
Попытка изучить слишком много технологий одновременно
Это следующая ошибка, которая ведет к обучению без конца. Не пытайтесь заполнить свой учебный план слишком большим числом технологий и инструментов, чтобы избежать выгорания. Вам нужно время, чтобы обработать информацию и посмотреть, как все работает на практике.
Слишком много исследований и теории без практики
Программирование — это навык, который вы можете получить только через большое число практики. Вам понадобится серьезный теоретический опыт, но пока вы только читаете (или просматриваете) лекции и курсы, вы не сможете писать код. Думайте об этом. Никто не может научиться плавать, не пытаясь это сделать. Вам нужны объяснения, но, прежде всего, вам нужны действия.
Только много практики научит вас, как справляться с повседневными проблемами программистов. Например, у вас появится привычка регулярно проверять код и не допускать накопления проблем. Вы также начнете с самых простых решений. Затем переходите к более изысканным, постоянно работающим над улучшением вашего кода. И самое главное, вы привыкнете к кодированию ежедневно.
Учиться программировать в изоляции
Начинающие часто колеблются, должны ли они присоединиться к сообществам онлайн-программирования или посещать мероприятия, в основном из-за синдрома самозванца. Но помните: никто не хочет вас сбить. Сообщество программистов сотрудничает. Вот как появляются многочисленные открытые источники данных. Они привыкли работать в команде, и, безусловно, все они были новичками в определенный момент жизни.
Подумайте: есть много форумов и веб-источников по программированию. Разработчики охотно делятся своими знаниями и открыты для сотрудничества. Вы можете начать учиться в режиме онлайн, получить полезные советы от более опытных коллег, а затем найти свой первый проект по программированию.
Быть уверенным, что однажды вы полностью поймете все аспекты программирования
Если кто-нибудь найдет таблеткупроглотив которую сразу же приобретет навыки в любом языке программирования, то он станет самым богатым человеком на планете (извините, Джефф Безос). Но до тех пор, если вы решили стать программистом, у вас не будет конца в образовании. Даже когда у вас есть работа, никогда не прекращайте учиться. В мире программирования все быстро меняется.
С другой стороны, когда вы все еще учитесь программировать, постарайтесь принять некоторые факты такими, какие они есть. Не копайтесь в каждой мелочи, поскольку при текущем бекграунде может быть слишком «тяжело».
Сделайте идеальную тренировочную программу
Легче достичь своей цели шаг за шагом. Теперь, когда вы знаете распространенные ошибки, вы можете их избежать. Вот пять шагов, которые вы можете предпринять, чтобы изучить Java.
1. Поставьте цель и выберите язык
Вы можете делать практически все что угодно с Java. Вы можете создавать сервера приложений, настольные и мобильные приложения, корпоративные приложения и много чего еще. Но, конечно, язык программирования — это не все, что вам нужно знать, чтобы стать профессионалом. Попробуйте подумать о конкретных областях деятельности.
Тенденции сегодняшнего дня — это создание облачных приложений (вам также необходимо изучить основы облачных вычислений и специальные инструменты для облачной разработки), работа с интернетом вещей (IoT), выполнение анализа больших данных, создание игр и т.д.
2. Создайте учебный план
Вы готовы сделать программирование на Java своей профессией? Тогда посвятите как минимум 2–3 (в рабочие дни) и 5 часов (в выходные дни) ежедневному обучению. В этом случае вам, скорее всего, потребуется от 3 до 6 месяцев для подготовки к должности младшего разработчика.
В целом, ваш учебный процесс будет разделен на несколько этапов:
Вы можете легко использовать известный принцип Парето (правило 80/20) для изучения Java. «20» будет означать теорию, а «80» — практику. Это не преувеличение: вам понадобится в четыре раза больше времени на программирование, чем чтение, чтобы запомнить то, что вы узнали и закрепить свои навыки написание кода. К сожалению, если вы не напишите свой код сразу, вы забудете все, что прочитали на следующий день. К счастью, вам не нужно изобретать собственную программу обучения, если у вас есть подходящие источники.
3. Выберите правильные инструменты и присоединяйтесь к сообществам программистов
Давайте будем честными: идеального курса Java не существует. Некоторые дадут вам глубокие теоретические знания, другие дадут вам много практики. Выберите несколько платформ для обучения, общения и практики. Выберите один онлайн-курс, который сочетает в себе простое объяснение теории с реальным написание кода.
Присоединяйтесь к сообществам, где вы можете задать любой вопрос об аспектах программирования на Java, поделиться своими мыслями и найти единомышленников. Лучшие сообщества для разработчиков Java перечислены ниже.
Используйте несколько источников для изучения Java
Вам понадобится много инструментов для достижения ваших целей. Вот один из возможных набор «инструментов» для достижения успеха.
1. Строго практика: CodeAcademy
Вероятно, это одна из самых известных онлайн-платформ для изучения многочисленных языков. Конечно, есть раздел для изучающих Java. Здесь вы начинаете кодирование с первого урока. Есть довольно полезные советы, которые вы можете получить, если определенное задание кажется трудным (что нормально, когда вы новичок). Логика проста: прочитайте задачу, напишите код и запустите его, чтобы увидеть, что произойдет в результате, а затем перейдите к следующему шагу. Задачи постепенно усложняются, пока вы не начнете писать свой код с чистого листа. Раздел часто задаваемых вопросов очень полезен, и у вас есть возможность обсудить каждое задание с другими студентами.
Этот курс может быть отличным дополнительным инструментом в изучении Java. Как уже говорилось ранее, вам нужно писать код для освоения программирования на Java.
2. Play and code from the beginning: CodeGym.cc
Это онлайн-курсы для изучающих Java с одной особенностью — геймификацией. В настоящее время в онлайн-курсах принято использовать игровые элементы, поскольку они обеспечивают мгновенную мотивацию, чувство постоянных достижений и облегчают достижение вашей цели.
В CodeGym вы начинаете с уровня 0 в футуристической вселенной с космическими путешествиями, роботами и другими классными вещами. Ваша цель — пройти четыре образовательных квеста, чтобы повысить уровень персонажа — робота. Каждый квест включает в себя 10 уровней, и каждый уровень имеет до 10–12 уроков, которые преподают члены экипажа галактического корабля. Урок состоит из минимальной теории и набора задач с мгновенной проверкой и советами о том, как улучшить ваш код. Вы начинаете кодировать с самого начала, решая очень простые задачи, пока не будете готовы к гораздо более сложным и масштабным проектам кодирования.
Эта история позволяет вам не застрять на определенном предмете или задании, двигаться вперед и вернуться позже к «твистерам». Всего в курсе более 1200 заданий. Во временном эквиваленте это соответствует как минимум 300–500 часам написание кода.
3. Challenge programmers: Codewars
Это еще одна онлайн-платформа с огромным количеством практики. Хотя это больше подходит для учеников с хотя бы небольшим опытом программирования.
Вы можете написать свой код в браузере и использовать контрольные примеры, чтобы проверить его шаг за шагом. Вы также можете сравнить свое решение с другими, чтобы расширить свои знания и обсудить лучшие практики. Каждый «ката» имеет ранг, и каждый «ката» является проблемой для других программистов. Когда вы решаете более сложные задачи, вы можете получить более сложные задачи, чтобы улучшить навыки программирования. Эта платформа отличается от других тем, что она позволяет учиться и практиковаться в группе.
4. Слушайте лекции «профессионального» уровня: EdX
EdX — образовательная платформа, основанная Гарвардским университетом и MIT. Он охватывает многие области исследований, включая программирование на Java и многие смежные вопросы. Есть много проверенных вводных курсов и программ сертификации, предоставляемых университетами.
Каждый курс имеет свой временной интервал и включает в себя видео лекции с текстовой расшифровкой. Легко вернуться к предыдущим урокам и пересмотреть материал. Есть десятки разных курсов, некоторые из них бесплатны. Но все же, это источник строго для изучения теории Java. Обязательно закрепите эти курсы практикой.
Хотите быть в курсе последних новостей, обзоров и обновлений в мире Java? Это правильно. Java постоянно развивается, обновляется и добавляет новые фичи. Убедитесь, что у вас есть пара ресурсов, которые вы можете читать ежедневно. Одними из крупнейших являются:
Быть программистом — значит постоянно совершенствоваться, получать новые знания и применять их на практике. Если вы с самого начала разовьете навык самообразования, вы обязательно добьетесь успеха. Вы готовы попробовать?
Как стать программистом или Выучить Java за 1 год
Здравствуй, дорогой читатель. Давно хотел написать подобную статью, но либо не хватало времени, либо мешала предательская лень. Но, как бы там ни было, все-таки у меня получилось собраться с мыслями, чтобы написать то, что принесет вам, я надеюсь, какую нибудь пользу. С радостью поделюсь своими знаниями и опытом, в ответ с вас причитается время и внимание. По моему мнению, данная публикация хорошо подойдет для тех, кто готов определиться в своих интересах и хочет связать свою жизнь с IT — тем или иным образом. Итак, поехали!
Выбор языка программирования
Публикация начинает выглядеть как многие подобные материалы. По закону жанра я должен буду написать название пары тройки языков программирования, назвать парочку плюсов и минусов и, в итоге, так и не ответив на вопрос, перейти к следующей части. Отчасти в этом есть доля правды, ведь каждый выбирает для себя тот язык, который ему ближе, исходя из того, разработкой какого вида продуктов он хочет заниматься в будущем. Большинство из вас изучали в школе Turbo Pascal и вряд ли для вас будет новостью, что на этом языке сейчас уже практически ничего не пишут. Так и в данном случае, выбирать язык надо грамотно, хотя много знаний никогда не бывает, но если вы хотите за короткий промежуток времени эффективно влиться в ряды программистов, к выбору языка надо подходить с умом. В самом начале запомните: хороший программист никогда не останется голодным, а в большинстве случаев сможет купить себе много икры (это определение подойдет для любой специальности, но ни одна специальность не даст вам такой свободы выбора места работы, как в плане компаний, так и стран — программист он и в Индии программист).
Логично, что чем популярнее язык и востребованность, тем больше шансов будет найти работу в будущем, при этом язык должен быть несложным в освоении. Потому что хотя на C++ и пишут большое количество игр и получают за это хорошие деньги, новичку, тем более не знакомому с ООП (объектно-ориентированное программирование) лучше отложить на некоторое время этот язык куда подальше. Далее по ссылке предоставлен список самых популярный языков программирования 2014 года, и как видно, на первом месте стоит Java, далее идут C языки, затем Phyton, JavaScript, PHP, Ruby и т.д. Если самим поискать подобные статистики, то вы увидите, что в разных источниках места заняты по разному, но в целом первые 10 мест по содержанию везде будут совпадать.
Если же обратиться к другому источнику, в основе которого анализ выложенных в Twitter вакансий, вы увидите очень похожую ситуацию с первым примером. И да, обе статьи на английском, привыкайте к этому, если хотите стать программистом, запомните, что практически вся документации и источники полезной информации написаны на английском, так что если ваши знания в этом языке слабоваты, добавьте себе в список дел на завтра и на ближайшее будущее изучать и практиковать английский. Думаю, я даже напишу отдельную статью, посвященную изучению иностранного языка.
Исходя из этих двух источников мы уже можем себе представить, какие языки программирования сейчас «в моде». Как видно по названию, автор статьи выбрал для себя Java. Хотя я считаю его лучшим для изучения ООП, найдется много людей, которые не согласятся со мной, и это логично — сколько людей, столько и мнений. Тут мы встаем на небольшое перепутье дорог: выбирать Java, С# (очень похож на Java), Phyton, если мы хотим работать с начинками программ и приложений (back-end) или же PHP, JavaScript, HTML, если хотим заниматься веб-разработкой (front-end). В первом случае я бы свой выбор остановил на Java, а во втором — на PHP, хотя опять же, тут больше по вкусу, надо уже самому искать информацию о различных языках и вообще понимать, чем ты хочешь заниматься. Для размышлений вот подборка языков, которые используются в крупнейших интернет компаниях мира.
Есть 2 основных причины, почему бы я выбрал либо Java, либо PHP. Первая — это очень популярные языки и найти соотвествующую работу не составит труда, а вторая — в том, что ни по каким другом языкам вы не найдете столько обучающего материала как по этим двум, причем как на русском, так и на английском.
Обучение
Итак, мы подошли к стадии, до которой большинство доходят без проблем, но этот период по праву является одним из самых сложных в карьере программиста. Хотя программист учится в течение всей своей жизни, то время, когда он начинает делать свои первые шаги, во многом определяет дальнейшую его судьбу. Вообще обучение проверяет человека на прочность, выдержит ли он, не потеряет ли интерес через месяц (как это у некоторых бывает), сможет ли дойти до конца и освоить базовые знания, на которые потом будут наслаиваться уже целые пласты информации.
В данном случае я буду рассматривать язык Java, так как он мне все таки ближе. Благо в интернете полно людей, которые безвозмездно помогают другим в обучение, поэтому найти подходящий для вас материал не составит труда. Здесь выложены более 1000 часов лекций по Java, которые можно с пером и бумагой просматривать в стенах свою уютной квартиры (пока только на русском языке). Для тех, кто привык вчитываться в проходимый материал, опять же интернет предоставляет большие возможности и это только один из всевозможных сайтов с уроками по Java. Теории хоть отбавляй, но не могу сказать про такой обучающий сайт, как Coursera.org, где вы сможете найти обучающие курсы на различных языках и по различным областям, в том числе и программированию — опять же все абсолютно бесплатно. Таких сайтов не один и не два, стоит всего лишь поискать.
Но как бы не была познавательной теория, в программирование без практики не обойтись. Но даже тут за нас уже сделали пол дела и не надо искать различные задачи, чтобы улучшать свои навыки, такой сервис как JavaRush очень в этом поможет. В целом данный сайт дает как теорию, так и практику, начиная просто с дублирования кода с экрана и заканчивая комплексными задачками, а в перерывах даже предлагает расслабиться и посмотреть небезызвестный мультсериал. По заверениям авторов, достигшие 20 уровня в сервисе будут иметь достаточные знания, чтобы уже устраиваться в IT компанию.
Ну и конечно, кто-то спросит, а как же книга? Разве не надо их читать, а если надо — то что? На это я отвечу, что от чтения книг еще никто глупее не становился. Книг тоже очень много, но я перечислю только небольшую часть из них:
Помощь в практике
Как уже упоминалось, практика — это неотъемлемая часть в любом обучение, особенно в программировании. Тут вам придется кодить и кодить, вплоть до мышечной памяти пальцев. Это, конечно, немного утрировано, но на первых порах придется и вправду много бить по клавишам, чтобы запоминать значения различных конструкций, чтобы в будущем использовать практически на автомате.
У многих начинающих программистов на первых порах возникает большое количество вопросов, особенно когда нужно выполнять самостоятельное задание. Это нормально. Но в таких ситуациях надо понимать, что практически на любой возникший у вас вопрос можно найти ответ в интернете. Вряд ли вы первый, кто с ней сталкивается, поэтому не торопитесь сражу же задавать вопросы на различные форумы программистов (о которых я напишу чуть позже). Посидите минутку, правильно сформулируйте проблему у себя в голове и смело ищите её в поисковике. Наверняка большинство будут искать на русском языке, но не забывайте, что язык программистов — это английский, поэтому, если вы не нашли ответ на великом и могучем, стоит поискать на языке, который в школе вроде бы все учили, но так и не выучили. Но если даже и в этом случае оказалось, что на ваш вопрос нигде нет ответа, в бой вступают лучшие форумы интернета:
Форумы — это, конечно, не единственный способ получить ответы на интересующие вопросы. В своей практике программисты повсеместно работают с официальной документацией языка, на котором они пишут. Там описываются, как работают те или иные классы и интерфейсы, порой документация является единственным источником, который может помочь в разрешение вопросов, ведь это только на начальном этапе у всех схожие вопросы и без проблем можно найти готовые решения, но чем дальше вы забираетесь в дебри, тем сложнее и сложнее находить ответы, поэтому приходиться уповать на свою, я надеюсь, уже умную голову.
Компилируем код
Довольно много я уже написал, конечно, сложно охватить такую большую тему в рамках одной статьи, но, думаю, первые шаги уже сделаны и вызвать у вас соответсвующие мысли они должны. Думаю, это только первая статья из серии «Как стать программистом» и, соответственно «зачем?», если вы стоите на перепутье дорог и пока не знаете, какой выбрать путь. В следующий раз я затрону более интересные в материальном плане вещи, ведь не секрет, что программисты люди не бедные, а уж где и сколько они получают, посмотрим в следующий раз.
Наконец, для тех, кто хочет действительно стать программистом, желаю взять быка за рога, собрать всю волю в кулак и делать то, что вам нравится. До меня уже тысячи раз говорили, но я повторюсь, главное — желание и труд. Тогда все у вас получится. Запомните самое главное: воспринимайте изучение языков программирования и различных технологий не как цель, а как СРЕДСТВО. Только представьте, какие возможности перед вами открываются. Может быть, именно вы станете одним из тех, кто меняет мир в режиме реального времени. Так что удачи и спасибо за внимание!