DevSkillRoad

Хочу стать программистом

Привет! Хочу стать программистом! Как и всем надо понять с чего начинать. Скажу сразу, никогда не был связан с программированием и всему придется учиться с нуля. Постараюсь рассказать, что и как я изучаю и что из этого у меня получается. Изучать просто по книгам это считается правильным, но чаще всего нет понимания что из изученного и где я буду применять. Для себя выбрал несколько иной подход. Буду задавать себе вопрос или ставить задачу и решать её. Вместе мы увидим, что из этого у меня получится.


С сего начать?

Хочется знать всё, но надо с чего-то начать. Главный вопрос - с чего. Первое, что я сделал, это попытался разобраться с тем, какие направления в программировании существуют. И вот что у меня получилось:

Помимо этого часто встречаются рекомендации начинать путь в IT с тестирования. На первый взляд выбор сделать сложно, но когда немного поразмыслил, все встало на свои места и выбор стал очевидным. Итак, у меня выбор между frontend и мобильной разработкой. Мобильная разработка отпала, так как есть 2 направления android и ios, отложил это на попозже. Frontend, тут выбор между разработкой сайтов или как это правильно называть web-разработкой и созданием приложений для PC, хотя операционных систем тоже нескольно (windows, linux и macos), но популярность windows намного выше и это не так смущает как было в мобильной разработке. Итоговый выбор сделал просто: приложение для PC или как его назвают десктопное приложение я буду писать только для себя, а вот сайт проще сразу показать всему миру. Начну изучение с web-разработки.


Из чего состоит Web-разработка?

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

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


В чём писать код?

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

WebStorm имеет очень положительные отзывы, и выглядит очень притно, но его я отмёл первым, я еще ничего не слелал, а уже надо платить. Да и заплатить не получиться, так как компания американская и они перестали продовать свои программы в России. Sublime Text и Atom - это больше похоже не на среду разработки, а на очень умный текстовый редактор с подсветкой, хотя пока не знаю зачем она нужна, но хочется разбираться сразу в том, что буду использовать долгое время, а не перепрыгивать с одной среды на другую и транить время на изучение. Нет, конечно, изучение это хорошо, но пока лучше больше времени буду уделять гдавному, а не второстипенному. В итоге остановился на Visual Studio Code. Сокращенно его называют VS Code. Скачать его можно бесплатно с сайта http://visualstudio.com/


Что такое HTML?

Как и планировал, начинаю с HTML. Для большего понимая разобрался с абривиатурой: HTML - HyperText Markup Language - язык гипертекстовой разметки. Да, не совсем язык программирования, а только разметка, но для начала самое то. Запускаю VS Code. И меня сразу среда разрабоки просит создать файл. Создаю. Раз это мой первый сайт и первая страница, то так и называю FirstPage. Открывается пустой файл. Добавляю в него непонятный пока для меня набор текста, пример html кода взятый из интернета и хочу открыть в браузере. И тут первый затык - на ресурсе с которого брал пример не указано то, что все html файлы долджны иметь расширение html. Ну да ладно, разобрался и хорошо, я ведь только первые шаги делаю, впредь буду знать, что в программировании все файлы долдны иметь своё специфическое расширение. Хотя признаюсь - мог сам сразу догадаться по аналогии с документами. Кстати, сразу после этого поправил настройки проводника, убрал галочку скрывающую расширения файлов. Пример html-файла