Стандартный, проверенный временем ответ на вопросы подобного типа
Михаил, добрый день!
Всё зависит от того, какую цель вы ставите перед собой и для чего хотите изучать программирование. Здесь может быть несколько вариантов:
1. Чтобы разобраться, как работает компьютер. В таком случае можно начать с книги Чарльза Петцольда «Код: тайный язык информатики».
2. Чтобы сменить профессию. Для этого нужно определиться со сферой, в которой вы хотите работать. Это может быть веб-разработка, разработка мобильных приложений, разработка игр, робототехника, аналитика данных или машинное обучение. Для каждой специальности нужны свои языки программирования и инструменты. Если вы ещё не определились, какую специальность выбрать, попробуйте пройти несколько бесплатных вводных курсов. За 10 часов в Яндекс.Практикуме можно разобраться в основах тестирования, а за 20 ― сделать свой первый проект на языке программирования Python.
3. Чтобы понять, чем занимаются коллеги. Если вы работаете в смежной области, например дизайнером или менеджером проектов, то знание программирования поможет вам разобраться, за что отвечает программист, сколько времени уходит на создание простого проекта и почему невозможно поставить кнопку там, где вы хотите. В таком случае попробуйте освоить языки разметки HTML и CSS и разместить свой первый сайт в интернете. В Яндекс.Практикуме есть бесплатный вводный курс «Основы HTML, CSS, JS», на котором вы напишете свой первый веб-проект на JavaScript.
В зависимости от возраста и склонностей начинают либо с C++ (на нём вполне можно остаться, но надо быть очень внимательным и просто умным - внимательнее и умнее чем где-либо), либо с Pascal (самостоятельного значения не имеет, это обучающий язык, трамплин для лёгкого перехода на другие языки), а если вам уже за 35 и нет времени учиться нормальному программированию и надо зарабатывать уже сейчас - Python.
Начните с простейшего учебного языка по программированию - Microsoft Small Basic. Начинать нужно с простого, а не с популярного. Сайт http://small-basic.ru вам в помощь, там есть учебники, уроки, видео на русском языке.
Опишу свой путь к прогаммированию
Если появился такой вопрос - значит есть задачи которые, вы хотели бы решить с помощью программирования, если таковых задач нет, то их срочно и необходимо придумать.
Придумали задачу, отлично, двигаемся дальше. В моем случае задача - сбор данных с метеостанции.
Задача есть нужны инструменты для ее решения, соответственно инструменты будут лежать в разной плоскости в зависимости от области задачи (например, нравятся сайты, значит будут HTML/JavaScript/CSS, хотите приложений с графическим интерфейсом будет C#).
В общем в соответствии с поставленной задачей ищите инструмент решающий ее! У меня инструментом оказался язык прогаммирования Python (кстати говоря, он позволяет создавать многое, от сайтов и графических приложений до машинного обучения)
Далее идете изучать инструмент, тут простор огромен: онлайн и оффлайн площадки, бесплатные или платные или идите на youtube и смотрите видеоролики.
У меня все начиналось с курсов на stepik.org, после них сильно втянулся в программирование, увлекало все больше и больше, потом coursera.org, но ничего так не прокачивает навыки как решение своих собственных или рабочих задач. Ты погружаешься в код, накрываешься сверху документацией к языку и к прикладным библиотекам и роешь в потемках и какое это удовольствие увидеть свет в этой тьме и прибавить газу навстречу к нему=)
Далее встает вопрос изучения более узкого круга задач, тут уже одими собственными проектами не отделаешься, нужны некоторые компетенции из этого круга.
Поэтому на волне своего интереса к анализу данных, обучаюсь в Яндекс.Практикуме, тут вам прокачают и hardskills и softskills, вдоволь наобщаетесь с живым наставником на вебинарах, впитывайте как губка, изучайте допссылки, порой голова кружится от кол-ва информации. А под конец вас ожидает выпускной проект в формате работы джуном в виртуальной компании, где наставники, как по волшебству, превратились в тимлидов, преподаватели стали старшими коллегами и вы с круглыми глазами смотрите на прилетающие задачи в трекер...
В изучении чего-либо главное иметь страсть и огромное желание, успехов!
Программирование - слишком широкое понятие.
Джоэль Спольски выделяет 5 миров программирования, в которых отличается практически все. Нужно определиться с тем, кем хочется стать лет через 10. Тогда можно планировать этапы движения.
Кроме изучения инструментов, может оказаться крайне полезным изучение предметной области, с которой предполагается работать.
Начни с чтения книг. Благо, их достаточно на русском языке. Типичный путь начинающего программиста: модификация чужих скриптов, написание своих скриптов, модификация чужих приложений, разработка своих приложений.