Бывает так, что жизнь хочет с вами сыграть злую шутку. В один прекрасный солнечный день вы вдруг осознаете, что хотели бы освоить какой-нибудь язык программирования. Этот момент становится переломным для вас и вы запускаете процесс превращения из обычного человека, в программиста. Первый вопрос, который перед собой можно поставить звучит примерно так: "А как же стать программистом?".
Итак, для начала давайте разберемся, кто же такой программист. Сухое определение звучать будет так: программист - это человек, занимающий разработкой программного обеспечения для электронно-вычислительных машин. Звучит так себе, согласен, хоть это определение и отражает в целом то, чем занимаются программисты. Но что объединяет, например, художника, слесаря и программиста? Наличие инструмента, с помощью которого он выполняет свою работу. Для программиста этим инструментом является язык программирования. Большинство языков программирования, создавались для решения конкретного рода задача. Например, для написания сайта используют совместное взаимодействие HTML, CSS и JavaScript (если быть предельно точным, то первые два понятия не являются как таковыми языками программирования, но об этом поговорим чуть позже).
Какой язык выбрать первым для изучения?
Этот вопрос не имеет единственно верного ответа. Как говорил один мой преподаватель: "Это не вы выбираете язык программирования, а он вас". Есть два пути выбора языка. Первый это идти от простого к сложному, второй от сложного к простому. Для тех, кто хочет быстрых результатов, следовало бы выбрать первый путь, а тем, кто верит в свои силы и готов идти через тернии к звездам, могу предложить второй. Языки для первого пути имею так называемый "низки порог вхождения", другими словами написать какую-нибудь программу на них будет довольно просто. К таким языкам относятся: Python и JavaScript. Языки для второго пути С, C++, C# и Java. Эти языки требуют куда больше времени для изучения, но и позволяют более детально разобраться в разработке программного обеспечения.
<Какие языки программирования для чего нужны?
ППодробнее мы писали в статье:
<10 лучших языков для изучения в 2018 году
<Программировать с нуля: Большой FAQ от Reddit
<5 языков, которые надо учить первыми
<6 оптимальных языков для начала
Ок, язык я выбрал, с чего начать изучение?
Изучать программирование можно начинать по разному. Некоторые поступают в ВУЗ для изучения профессии программиста, некоторые ходят на курсы, некоторые обкладываются книгами и занимаются самообучением. Лично я прошел по трем дорожкам и могу с уверенностью сказать, что самым эффективным получился путь самообучения. Интернет наполнен руководствами, книгами и форумами о программировании. Хорошим плюсом будет знание английского языка, так как большинство актуальной информации о программировании пишется на английском и только потом возможно переводится на другие языки. Из полезных ссылок на русском языке:
http://www.cyberforum.ru - форум программистов и системных администраторов
http://www.intuit.ru - сайт содержит множество бесплатных курсов по разным языкам программирования
https://habr.com - множество интересных статей для разработчиков разного уровня
На английском есть множество интересных сайтов, но особое внимание заслуживает https://stackoverflow.com - на этом сайте вы сможете найти ответы на многие вопросы о программировании.
github.com позиционируется как веб-сервис хостинга проектов с использованием системы контроля версий git, а также как социальная сеть для разработчиков. Пользователи могут создавать неограниченное число репозиториев, для каждого из которых предоставляется wiki, система issue tracking-а, есть возможность проводить code review и многое другое. GitHub на данный момент является самым популярным сервисом такого рода, обогнав Sourceforge и Google Code.
Введение в GitHub от разработчика
Какой язык программирования лучше изучать?
7 must-read книг для молодого программиста
Как правильно изучать первый язык программирования
А мне бабушка говорила, чтобы стать программистом нужно хорошо знать математику, это правда?
Чтобы стать программистом, не обязательно знать математику на пятерку, но математическая подготовка может сильно упростить вам жизнь, когда вы приступите к изучению алгоритмов и структур данных, дискретной математики или теории вероятности. Для некоторых компаний знания вышеперечисленных предметов является обязательным требованием для кандидата. Чаще всего это вакансии связанные с разработкой компьютерных игр или высоконагруженных приложений. Если вы хотите верстать сайты или писать мобильные приложения, то скорее всего от вас этого требовать не будут.
<10 сайтов программисту для изучения английского
Хорошо, с чего изучать программирование понятно, а где код то писать?
Писать код можно даже в приложении "Блокнот" в Windows или, например, ручкой на бумаге (такой способ часто используется на собеседованиях или на экзаменах), но это неудобно. Чтобы упростить себе жизнь, разработчики создали специальные редакторы программного кода, которые позволяют исправлять некоторые ошибки во время написания и получить разного рода подсказки. К таким приложениям относятся Sublime Text, Atom, Visual Studio Code, набор программ от компании JetBrains. Этот список можно продолжать еще долго, со временем вы найдете для себя наиболее удобный и подходящий вариант.
<5 способов быстрее научиться программировать
Я хочу делать игры как Бил Гейтс!
<Тогда читайте этот материал
<5 бесплатных движков для игр на JavaScript
ННе, я передумал! Я хочу делать приложения, как Стив Джобс!
<ТОП 10 языков программирования для Android
<Куда податься разработчику: iOS VS Android
<Удобный Android для ПК
Хачу делать сайты!
Не знаем, кому вы там собрались делать сайты, но вот вам материал:
<Создаём сайт без навыков программирования
<Обзор популярных CMS
<Как самостоятельно создать сайт?
<Выбираем язык для веб-разработки
<Лучшие интегрированные и облачные IDE
<Набор начинающего веб-разработчика
<10 каналов с лучшими видео по веб-разработке
<Вредные советы веб-разработчикам
<11 классных вещей, которые вы можете делать с WordPress
Заключение
Процесс изучения программирования напоминает поход рыцаря на поиски Святого Грааля. Когда вы собираетесь в путь, у вас нет ничего кроме горящего взора и веры в то, что вы сможете достигнуть своей цели. На вашем пути вам будут встречаться драконы, с которыми вам нужно будет сражаться, и большие летающие жуки, которых другие рыцари между собой называют "багами". Каждая ваша победа будет приносить уверенности и сил для продолжения пути. Каждое поражение будет заставлять вас учиться на своих ошибках. Главная задача рыцаря - продолжать свой путь невзирая на трудности.
Удачи вам!