Друзья, изучая и обучая программированию, я пересмотрел сотни материалов и различных курсов. Меня часто спрашивают, с чего лучше начать, какой волшебный курс поможет при освоить программирование с нуля или со школьными знаниями.
Лучший бесплатный курс, который я могу порекомендовать сегодня — это CS50’s Web Programming with Python and JavaScript. Если вы знаете английский — смело начинайте. Он не такой долгий, как CS50 Computer Science, без воды, и при этом всё объясняется достаточно подробно, чтобы любой мог начать.
И теперь вы можете поддержать создание этого курса на вашем языке! Подробности по ссылке, а дальше — по прежнему актуальная инструкция по изучению программирования с нуля со ссылками на ресурсы.
Содержание [hide]
- С чего начать учится программированию с нуля «чайнику»?
- С чего начать изучение программирования
- Каким программистом стать?
- Как самостоятельно стать программистом с нуля
- Как начать зарабатывать программистом
- Быстрый путь в веб-разработчики
- Бесплатный онлайн-курс для изучения программирования
- Книги по программированию для начинающих
- Как изучать программирование дальше
- Поддержать автора
- PS
С чего начать учится программированию с нуля «чайнику»?
В этой статье я постарался подробно разобрать, можно ли стать программистом с нуля самостоятельно и какие варианты есть для того, чтобы самому изучить программирование начать зарабатывать на этом.
На дворе 2020 год, и я решил обновить одну из лучших отзывам читателей статью для тех, кто изучает программирование самостоятельно. Теперь в ней есть как советы для стартующих совсем с нуля, так и обновлённая информация. И всё бесплатно :)
Постарался дать самый лучший — на мой взгляд — путь. Предупреждаю — он не из легких! Дальнейшее прочтение может стоить вам многих часов интересных занятий — ведь стать можно только через программирование! :)
Скажу сразу — если вы решите изучать программирование только самостоятельно, не вкладывая денег — придется потратить больше времени. Много времени. Чтобы помочь его сэкономить, и написана эта статья.
Рассчитывайте на освоение новой специальности минимум через год, если изучаете программирование параллельно с другой работой.
С чего начать изучение программирования
В этой статье собраны лучше практики, исходя из моего опыта, если вы хотите самостоятельно освоить программирование.
Но с чего начать самым-самым начинающим?
Чем сложнее будет логика программы, тем лучше для вас. Сейчас важно познакомиться с такими вещами как переменные, циклы и инструкции. Но получившаяся программа должна быть рабочей.
Вы можете использовать последнюю версию Scratch 3, или https://scratch.mit.edu/download/scratch2 — не имеет значения.
Не бойтесь использовать Google & Youtube, чтобы разобраться, что к чему.
Затем двигайтесь далее.
Каким программистом стать?
Первоначально нужно решить, какое направление программирования вас интересует. Если речь идет о изучении разработки с нуля и вы хотите начать скоро зарабатывать на этом, то на мой взгляд варианта два: разработка для мобильных устройств или веб-разработка.
Лучший выбор в такой ситуации — на мой взгляд — начать изучать веб-разработку. Здесь ниже порог входа для новичков и есть возможность раньше начать выполнять несложные заказы.
Поэтому дальше я буду рассказывать о том, как самостоятельно изучить веб-разработку и начать программировать под веб.
Как самостоятельно стать программистом с нуля
http://itman.in/wp-content/uploads/2016/09/DeathtoStock_Desk7-300x200.jpg 300w, http://itman.in/wp-content/uploads/2016/09/DeathtoStock_Desk7-768x512.jpg 768w" style="border:0px;height:auto;vertical-align:middle;margin:.4118em auto 1.6471em;clear:both;" />
Дальнейшие материалы для тех, кто уже определился и имеет базовое понимание алгоритмов, переменных и инструкций.
Итак, поехали! Если бы сейчас я начинал с нуля изучать веб-разработку самостоятельно (понимая, что без вложения денег это более долгий путь), то сам себе я бы порекомендовал такой путь:
1. Разобраться в HTML и CSS
Хороший курс для базового освоения HTML и CSS: https://learn.shayhowe.com/html-css/ (English) или https://webref.ru/layout/learn-html-css (перевод).
По возможности я рекомендую все материалы читать на английском — он 100% понадобится вам в работе программистом.
После этого стоит посмотреть на возможности Bootstrap, который стал стандартом де-факто для ускоренной разработки веб-приложений: http://getbootstrap.com/
Этого будет достаточно для следующих шагов.
Возможно на этом этапе вы захотите остановиться и изучить CSS подробнее. Это даст вам возможность работать верстальщиком — человеком, который делает из дизайна статическую HTML страницу, после чего программист ее оживляет, реализуя логику проекта.
На этом тоже можно зарабатывать — как на фрилансе, так и работая в ИТ-компании, которая специализируется на веб-разработке.
Но раз мы решили стать программистом — двигаемся дальше!
http://itman.in/wp-content/uploads/2016/09/rabota-programmista-300x141.jpg 300w, http://itman.in/wp-content/uploads/2016/09/rabota-programmista-768x360.jpg 768w" style="border:0px;height:auto;vertical-align:middle;margin:.4118em auto 1.6471em;clear:both;" />
2. Познакомиться с jQuery
Для этого я рекомендую книгу «jQuery — учебник для начинающих»:
http://anton.shevchuk.name/jquery-book/
Если понравилось — можно продолжить разбираться с frontend и начать изучать Javascript.
Если следом пойдет https://angularjs.org/ или http://backbonejs.org/ — то это путь во фронт-енд разработку. Хорошая специальность, тем более, что такие знания пригодятся любому программисту, который выбрал веб-разработку.
Мой совет — пока остановиться на jQuery и двигаться дальше.
3. Освоить серверный язык программирования
Тут выбор большой. Самые перспективные языки программирования — Ruby, Java, Python, Node.JS (Javascript для сервера).
Самым простым языком программирования для начинающего будет Python. Если вы изучите Python, а затем фреймворк Django для веб-разработки — у вас будет все необходимое для самостоятельной реализации довольно сложных проектов.
Хороший вариант: язык программирования Python и фреймворк Django
Плюс — Python и Django научат вас «правильному» программированию. Python стабильно входит в ТОП5-10 самых востребованных языков, а хорошие специалисты в Python одни из самых высокооплачиваемых программистов. Python одновременно простой и понятный для начинающих программистов язык программирования, и при этом используется во многих крупных компаниях и на больших проектах.
Вообщем, я люблю Python и рекомендую начать с него.
Начать можно прямо на сайте:
Среди других материалов рекомендую Learn Python The Hard Way. книгу «Простой Python. Современный стиль программирования». И, конечно The Python 3 Tutorial.
Django — возможно лучший фреймворк для веб-разработки
Лучший инструмент на все случаи жизни очень сложно найти. Django имеет все шансы стать таким инструментом для веб-разработки.
Я точно рекомендую познакомится с ним.
С чего начать для изучения Django:
Начните с официальной документации, там очень хороший tutorial: https://docs.djangoproject.com/en/dev/intro/
Также пройдите https://tutorial.djangogirls.org/en/
Затем посмотрите http://www.tangowithdjango.com/
Tango with Django — это хорошая возможность подтянуть английский и одновременно получить понимание того, как устроены веб-проекты и как всё работает.
Альтернативный вариан — PHP и WordPress
Другой путь — начать с PHP и работы с популярными CMS. Если вы изучаете программирование сами и хотите быстро начать работать — начните с PHP.
Многие считают PHP «не совсем настоящим» языком программирования и для этого есть основания. PHP редко используется в крупных веб-приложениях и заточен только для веб — использовать его в других областях не получится.
С другой стороны — PHP лидирует по количеству запущенных в мире сайтов. На нем основаны самые популярные CMS (системы управления сайтами).
Для старта рекомендую книгу: «Изучаем РНР и MySQL» авторов Линн Бейли и Майкл Моррисон
После этого разберитесь с созданием тем под WordPress — это самая популярная CMS в мире, если оценивать по количеству запущенных сайтов.
Хорошо разобравшись с этим, уже можно найти работу. Под PHP и WordPress очень много сайтов, поэтому работы хватит всем.
Как начать зарабатывать программистом
Многие представляют работу программиста-фрилансера так:
http://itman.in/wp-content/uploads/2016/09/satisfied-freelancer-300x169.png 300w, http://itman.in/wp-content/uploads/2016/09/satisfied-freelancer-768x432.png 768w, http://itman.in/wp-content/uploads/2016/09/satisfied-freelancer.png 1280w" style="border:0px;height:auto;vertical-align:middle;margin:.4118em auto 1.6471em;clear:both;" />
Или так:
http://itman.in/wp-content/uploads/2016/09/summer-job-search-300x141.jpg 300w, http://itman.in/wp-content/uploads/2016/09/summer-job-search-768x360.jpg 768w" style="border:0px;height:auto;vertical-align:middle;margin:.4118em auto 1.6471em;clear:both;" />
На самом деле это выглядит примерно так:
http://itman.in/wp-content/uploads/2016/09/web-developer-300x200.jpg 300w, http://itman.in/wp-content/uploads/2016/09/web-developer-768x512.jpg 768w, http://itman.in/wp-content/uploads/2016/09/web-developer.jpg 1478w" style="border:0px;height:auto;vertical-align:middle;margin:.4118em auto 1.6471em;clear:both;" />
Если вы готовы к работе программиста и ищете способ зарабатывать — добро пожаловать на фриланс! Фриланс-биржи позволят вам найти простые заказы (возможно почти бесплатно на первых порах) — чтобы получить практику. Как правило, работа в ИТ-компании может быть прибыльнее, если вы просто ищете работу программиста.
Уже после пункта 2 — освоив HTML, CSS и jQuery — можно идти на фриланс биржи и брать несложные заказы, нарабатывая профиль.
Знаете английский? https://www.upwork.com/
Совсем нет, даже со словарем? http://freelance.ru/
К тому времени, когда вы сможете самостоятельно делать сайты, вам будет проще найти клиентов — будут отзывы и опыт.
Быстрый путь в веб-разработчики
Такого нет :)
Исходя из моего опыта, на изучение программирования с нуля уйдет от 6 до 12 месяцев в лучшем случае, при этом 6 месяцев — это если вам кто-то помогает.
Хотя сейчас уже есть классные бесплатные курсы, о которых ниже.
Чтобы ускорить процесс входа в ИТ — ищите возможность пойти на тренинг (возможно понадобится не один) или — лучше — найдите человека, который будет заниматься с вами. Без ментора, который передаст вам свои знания — очень сложно, можно просидеть год за книгами и так и не начать. А со знающим человеком, который умеет просто рассказать о сложных вещах — намного легче.
Если вы найдёте себе ментора — человека, который проведёт вас за руку — это заметно сократит ваш путь в разработчики.
Бесплатный онлайн-курс для изучения программирования
Я очень рекомендую Гарвардский курс по основам компьютерных наук CS50.
Прохождение курса займёт время, но даст довольно полное понимание, которое сложно иначе получить самостоятельно.
Второй классный курс, тоже от Гарварда — это CS50’s Web Programming with Python and JavaScript. Он совсем без воды и при этом классно сделать и будет доступен для начинающих. Если знаете английский — вперёд, а если нет — поддержите создание перевода.
Совмещайте их с советами из этой статьи, и будет вам счастье! :)
Если вам также понравились другие курсы для начинающих программистов, а может и более серьёзные — напишите в комментариях.
На всякий случай: ссылки на платные курсы будут публиковаться только после личной проверки, чтобы исключить спам.
Книги по программированию для начинающих
В 2018 появилась книга «Введение в разработку программного обеспечения» Якова Крамаренко. Для изучающих программирование с нуля — вполне стоящая книга, с которой стоит начать. Освещены начальные шаги в веб-разработке, не затрагивая серверной части. В доступной форме рассказано про HTML, CSS и Javascript, которые необходимы, если вы изучаете веб-программирование в 2020.
К тому же книга есть на трёх языка. Ви можете розпочати вчити програмування українською or start learn programming in English — все варианты доступны! Главное начать :)
Для тех, кто только начинает освоение программирования, и любит работать с книгами, я считаю это хорошим вариантом. Книга доступна бесплатно или за деньги. Думаю она стоит того, чтобы заплатить автору!
Другие книги для начинающих учить программирование, будут добавлены позже.
Если для вас была полезной какая-то книга, поделитесь в комментариях.
Как изучать программирование дальше
Как только почуствуете уверенность в том, что можете что-то создать — ищите компанию, где сможете развиваться дальше или клиентов. Для людей, которые хотят стать программистом очень важна практика.
Беритесь за любую работу, которую вам предложат. Только через практику можно освоить программирование.
HTML, CSS, Python и Javascript — это только базовые знания, первый этап. Также важно изучение алгоритмов и знание современных инструментов для разработки.