- PVSM.RU - https://www.pvsm.ru -

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

Здравствуйте. Хотелось бы затронуть тему по которой мне пишут 2-3 раза в неделю:

Как начать программировать, какой язык выучить?

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

Когда меня спрашивают характерный вопрос я всегда задаю встречный вопрос «В какой области хотите программировать?», на что всегда получаю характерный ответ «Понятия не имею».

Всего областей программирования много, но я выделю основные из них:

  • Frontend разработка вебсайтов — HTML/CSS, JavaScript
  • Программирование серверов — Python, Java, PHP (только для backand сайтов)
  • Создание десктопных приложений — C++

Многие на этом моменте говорят что ещё не определились с областью, поэтому я составил объемную программу, которая поможет вам определиться и выучить языки программирование, но если вы знаете область в которой хотите писать — учите тот язык, который стоит после тире.

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

  1. HTML/CSS

    Это основа, она используется не только на вебсайтах. Знание как писать XML документы очень полезно, это используется везде. Вы не раз встретитесь с ними в других языках. Например настройка приложения.

    Для изучения могу порекомендовать сайт HTMLAcademy.ru [1].
    Так как я сказал что всё обученик будет бесплатно, проходим только три бесплатных курса на этом сайте — «Знакомство с HTML и CSS», затем «Основы HTML» и в конце «Основы CSS». После прохождение этих курсов вы выучите основы HTML и CSS, а это уже круто!

  2. JavaScript

    Теперь я рекомендую попробовать себя во Frontend.

    Фронтенд — все, что браузер может читать, выводить на экран и / или запускать. То есть это HTML, CSS и JavaScript (взято с сайта tproger.ru [2]). Другими словами, это то — что видет пользователь. Если вы откроете панель разработчика на этом сайте (пкм -> Просмотреть код элемента) и перейдёте во вкладку Sources вы сможете найти .js файлы. Да, эти файлы тяжело читать (это сделано что бы страничка быстрее грузилась), однако когда вы будете программировать вам будет намного проще. Уже в первые дни вы сможете читать код как любую русскую книгу. Так вот, весь js код который вы здесь увидели написан для вашего удобства и для контактирования с сервером (Backand).

    Изучать JavaScript рекомендую на англоязычном сайте JavaScript.info [3], именно его сейчас активно дополняют. Однако есть и русский учебник Learn.JavaScript.Ru [4].
    Что конкретно стоит учить? Основы языка, DOM елементы и AJAX. Другими словами первые две части русского учебника плюс первые две главы третьей части. Обязательно выучите что такое fetch. AJAX очень важно учить именно в этом учебнике, так-как в остальных показывают как отправлять/принимать запрос через фреймворк JQuery. Этот фреймворк сейчас мало кто используют, так как в самом JavaScript есть более удобные функции (fetch например), но все о них почему-то молчат. Все главы про ES ниже шестого и IE ниже восьмого можете пропускать (ES6-, IE8-).

    Редактор

    Редакторов для JavaScript и вообще для веб разработки много, но новичкам рекомендую Visual Studio Code [5] с плагином Live Server [6]. Он позволяет вам запустить свой сервер для проверки вашего кода. Также можете использовать плагин Beautify [7], он сделает редактор более красивым.
    Многие профессионалы используют JetBrains WebStorm [8], но я думаю что вам пока рано…

    Книги

    После того, как вы прочитаете все главы этого учебника могу посоветовать книгу You Dont Know JavaScript [9].

  3. PHP

    Теперь, когда вы познали frontend разработку стоит попробовать backand. PHP очень просто язык. Лично я уже на 3 день написал простенький, но интересный сайт. Этот язык вам может понравиться именно тем, что он лёгкий.

    Тут я рекомендую посмотреть плейлист Гоши Дударя "Учим PHP, а также MySQL [10]". Тут автор так-же затрагивает тему MySQL. MySQL — это база данных. Знание как работать с ней очень полезно, так что ни в коем случае не пропускайте эту тему!

    Редактор

    В качестве редактора можете используйте тоже Visual Studio Code [5], но тут Live Server уже работать не будет. Вам потребуется Apache. Я советую использовать программу XAMPP [11]. Она простая и удобная.

    Также попробуйте редактор JetBrains PHPStorm [12]

  4. Python

    Теперь попробуйте себя в программировании серверов. На Python вы тоже сможете делать сайты, но возможностей тут намного больше. Его я рекомендую учить потому-что это сейчас популярный язык, у него много библиотек и вообще много кто на нём программирует. Учиться питону вам будет просто, на него сделано много туториалов и вообще статей на различные темы.

    Для изучения я так-же рекомендую курс Гоши Дударя "Python программирование / Уроки для начинающих [13]". Я сам учился питону именно по этому курсу, хоть сейчас пишу на нём мало (чисто из-за вкусов).

    Редактор

    Можете попробовать стандартный редактор Python (когда я начинал я писал именно там), но я рекомендую использовать JetBrains PyCharm [14].

    Книги

    Могу посоветовать только "Автоматизация рутинных задач с помощью Python: практическое руководство для начинающих [15]". Другие не читал.

  5. Java

    Его предназначенность такая-же как и Python, а вот стили синтаксиса — разные. Скажу сразу, это сложный язык, но если у вас что-то не будет получаться или вы не будете понимать, знайте — это нормально. Скорее всего эти знания вы ещё догоните.

    Хоть я и говорил что программа полностью бесплатна, я не могу не посоветовать курс JavaRush [16]. Его идея в том, что только что полученные знания закрепляются практикой и помогают запомнить тему. Знайте, программисты ничего не зубрят, всё запоминается практикой.

    И все же если вы категорически против отдавать свои кровные можете так-же попробовать курс Гоши Дударя (что-то его слишком много у нас в программе) "Java программирование / Уроки Java для начинающих [17]".

    Редактор

    Однозначно JetBrains IntelliJ IDEA [18]. Это ЛУЧШИЙ редактор кода который сейчас существует, я рекомендую только его!

    Книги

    Очень интересная книга "Изучаем Java [19]". Рекомендую к прочтению.

  6. C++

    Если интересно делать десктопные приложения (как этот браузер например) или игры вам стоит учить именно этот язык.

    Рекомендую курс Гоши Дударя "С++ программирование / Уроки C++ [20]", ну а потом по желанию. Если хотите писать игры рекомендую выучить движок Unreal Engine или Unity.

    Редактор кода

    Тут несомненно Visual Studio [21] (не Code!). Он так-же удобен, как и IntelliJ IDEA для Java.

Ещё немного о книгах

Ещё есть две очень интересные книги. Они не касаются определённого языка программирования, а говорят о программировании в целом. Очень интересны и полезны.

Ресурсы, с которых взята информация:
www.google.com [24] — да да, именно гугл. Программистам очень важно пользоваться поисковиками. Большинство ваших проблем уже решено в интернете и вам никто не запрещает подсмотреть ответ. Убедительная просьба — читайте код перед тем, что бы копи-пастить. Подумайте, почему это решение работает.

ru.stackoverflow.com [25] — форумы для программистов тоже полезны. Если не можете найти ответ в гугле — обращайтесь сюда. Можете также использовать английскую версию.

tproger.ru/translations/frontend-backend-interaction [26]

Автор: Munoon

Источник [27]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/programmirovanie/320315

Ссылки в тексте:

[1] HTMLAcademy.ru: http://htmlacademy.ru

[2] tproger.ru: https://tproger.ru

[3] JavaScript.info: http://javascript.info

[4] Learn.JavaScript.Ru: http://learn.javascript.ru

[5] Visual Studio Code: https://code.visualstudio.com

[6] Live Server: https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer

[7] Beautify: https://marketplace.visualstudio.com/items?itemName=HookyQR.beautify

[8] JetBrains WebStorm: https://www.jetbrains.com/webstorm/

[9] You Dont Know JavaScript: https://github.com/azat-io/you-dont-know-js-ru

[10] Учим PHP, а также MySQL: https://www.youtube.com/playlist?list=PL0lO_mIqDDFXm69bqj5JTCS1XGTNkhTch

[11] XAMPP: https://www.apachefriends.org/ru/index.html

[12] JetBrains PHPStorm: https://www.jetbrains.com/phpstorm/

[13] Python программирование / Уроки для начинающих: https://www.youtube.com/playlist?list=PL0lO_mIqDDFXgfuxOEDTCwsWmKezOaDTu

[14] JetBrains PyCharm: https://www.jetbrains.com/pycharm/

[15] Автоматизация рутинных задач с помощью Python: практическое руководство для начинающих: https://rozetka.com.ua/12520398/p12520398/

[16] JavaRush: https://javarush.ru

[17] Java программирование / Уроки Java для начинающих: https://www.youtube.com/playlist?list=PL0lO_mIqDDFW2xXiWSfjT7hEdOUZHVNbK

[18] JetBrains IntelliJ IDEA: https://www.jetbrains.com/idea/

[19] Изучаем Java: https://www.yakaboo.ua/izuchaem-java.html

[20] С++ программирование / Уроки C++: https://www.youtube.com/playlist?list=PL0lO_mIqDDFXNfqIL9PHQM7Wg_kOtDZsW

[21] Visual Studio: https://visualstudio.microsoft.com

[22] Роберт Мартин — Чистый код: https://www.bookovka.com.ua/uchebnaya-literatura/1635-chistyj-kod-sozdanie-analiz-i-refaktoring-biblioteka-programmista.html

[23] Адитья Бхаргава — Грокаем Алгоритмы: https://www.yakaboo.ua/grokaem-algoritmy-illjustrirovannoe-posobie-dlja-programmistov-i-ljubopytstvujuschih-1650352.html

[24] www.google.com: https://www.google.com

[25] ru.stackoverflow.com: https://ru.stackoverflow.com

[26] tproger.ru/translations/frontend-backend-interaction: https://tproger.ru/translations/frontend-backend-interaction/

[27] Источник: https://habr.com/ru/post/455383/?utm_source=habrahabr&utm_medium=rss&utm_campaign=455383