Как человек, имеющий диплом инженера-программиста и преподающий программирование в высшем учебном заведении, расскажу о том, с чего начинал я.
Первое и главное, с чего начался мой путь программиста - интерес к компьютерам, который появился еще в школе. Я не имею в виду интерес к компьютерным играм, хотя и их я тоже люблю. Я интересовался тем, как переустановить винду, что такое линукс, как сделать простенькую веб-страничку, изучил основы HTML. Тогда я о программировании ничего не знал и не ведал. Это может показаться странным, но на первом курсе я встретил множество студентов, которые совершенно не интересуясь компьютерами и не умея даже контр-страйк установить на домашний комп, пошли учиться программировать "потому что это престижно". Разумеется, больше половины из них вылетело после первой же сессии, но некоторые полюбили компьютеры и дошли до конца.
Мое знакомство с настоящим программированием произошло вовсе не в ВУЗе, а на работе. Примерно за месяц до начала первого курса, я устроился на пол-ставки помощником системного администратора в офис неподалеку. Первая задача, которая встала там передо мной - разобраться, как работает сайт компании, который хостился в собственной серверной, т.к. в работу помощника сисадмина входили и обязанности веб-мастера. Тогда-то мне и дали четыре книги. Одна была о PHP, вторая о JavaScript, третья о HTML, четвертая о CSS. Начал я с книги об HTML, но т.к. уже знал достаточно много со времен школы, мне это быстро наскучило и я переключился на PHP. Книга познакомила меня с основными типами данных, такими понятиями, как ветвление, циклы и функции. Чуть позже - с SQL. Разбор основ программирования занял всего пару недель и когда я начал учиться, я уже примерно понимал, что к чему. PHP - очень простой язык, он отлично подходит для начинающих. Для тех, кто не хочет связываться с сайтами, подойдет Delphi, которому нас начали обучать на первом курсе. Язык очень простой, конструкции его интуитивно понятны, возможности его широки, он подходит как для начинающих программистов, так и для профессионалов. Рекомендую всем, кто хочет научиться программированию под Windows. В дальнейшем меня научили так же основам C/C++, Prolog, LISP, Haskell. Теперь я сам преподаю программирование в ВУЗе, который окончил.
В заключение хочу предостеречь тех, кто пытается начать изучение программирования с повсеместно распространенного и широко известного С++. Не нужно так делать, этот язык предназначен для профессиональных программистов, вовсе не для новичков. Велика вероятность, что вы забросите обучение, так толком и не начав его, т.к. этот язык намного более сложен, чем Delphi или PHP, на примере которых вы можете научиться всем основам и в будущем с легкостью разобраться в любом языке, в котором пожелаете.
Стоит так же учитывать, что программирование - дисциплина комплексная, невозможно научиться программировать, не зацепив по пути математику, теорию вероятности, физику и многие другие дисциплины (возможно, даже гуманитарные). Программирование связано одновременно с абсолютно всеми науками, которые известны человечеству, хороший программист должен хотя бы понимать базовые принципы большинства из них. Впрочем, это приходит с практикой и с поставленными задачами.
И, ради бога, озаботьтесь изучением английского языка. Без него вам будет очень тяжело стать программистом.
Просто в точку! Всегда хотела, чтобы моя профессия была связана с IT.
Голос из древности говорит нам: "Не знаешь, с чего начать - начни с начала". Программирование начинается с матанализа - вот им и займитесь в первую очередь. :)
Я считаю данный ответ сомнительным.