Топикстартер, начни с Си, прочитай Кернигана&Ритчи - это must read для любого программиста (не путать с быдлокодером ). Но я не советую тебе действительно программировать на голом си, просто напиши 5-7 "учебных" программулин (крестики-нолики, сканер портов какой, или еще какую-нибудь несложную хурму), просто чтобы знать вкус утриц.
Если после первого этапа ты все еще не раздумал, выбирай направление: Java, c#, php, мегамодный ruby... все, что хочешь. Но если ты не ощущаешь существенной разницы или просто все-равно, чем заниматься, начни с .net. У меня отношения с дотнетом не сложились, работаю в другом направлении, но как новичку я бы тебе посоветовала именно M$ технологии, хотя бы потому, что там есть MSDN, благодаря которому на начальном этапе можно программировать методом копи-паста
Когда усвоишь концепции ООП, тебе будет в общем все равно, на каком языке писать. Просто будет привычная платфома, ИДЕ... При острой необходимости всегда можно будет пересесть на другую.
После обучения кодированию, можно учиться собственно программированию. На этом этапе ищи книги, описывающие не языки и инструменты, а концепции.
PS - И вот я не поняла, зачем в нубу Кнута суете? Ну то есть да, три толстых книжки мелким шрифтом - это очень понтово, но толково ли? Откровенно говоря, я не знаю ни одного человека, который бы прочел все три тома и использовал в работе почерпнутую информацию "из головы". Кнут это справочник. "Садись читай Кнута - будешь программистом" - совет, равносильный совету "Садись читай Медецинскую Энциклопедию - будешь стоматологом". Для "жизни" более чем достаточно прочесть книгу Вирта.