> возможно ли вообще освоить самостоятельно
Я ж освоил. Нигде при этом не учась.
> с чего начать
> какой язык лучше учить
Нет языка, который лучше для любого программиста. Все бы давно просекли и на нем бы только и писали, а другие выбросили бы.
Разные языки предназначены для разных целей.
Что вы хотите писать? Сайты? Приложения? Приложения для каких ОС и какие?
> какой материал, где брать
Образцы кода. В интернете. Не только на специализированных сайтах, типа http://codeproject.com, но и просто на форумах.
Если есть время, то старайтесь не копипастить, а переписывать по памяти, возможно, в более удобном стиле. Гуглите, что делает тот или иной класс, та или иная функция.
Так и научитесь.
Может, кому-то ваш код будет казаться быдлокодом и вас сперва не будут брать на работу.
Но если вы будете знать библиотеки и API (то есть знать, какой класс и функция что делают и как их использовать) , то вам не составит труда изменить свой стиль кодинга и все встанет на свои места. Сами научитесь - сами и переучитесь.
Меняться сложно как раз тем, кто книжки зубрит. Что вызубрите, то и будете помнить, а самостоятельно думать просто не сможете.
> Начните с получения высшего образования в хорошем вузе
Если бы такие были.
А то где ни копни, хоть в Москве, хоть в Украине где-нибудь, хоть в штате Пенсильвания - везде одна сухая алгоритмика на консоли из серии "Дан одномерный массив. . " и ничего путного.
Чуть лаба - эти студенты бегут на форумы со своими "Помогите пожалуйста" (без запятой, ага) и просят бесплатно решить за них их лабы, вплоть до хелловорлда.
Кем они потом становятся, ума не приложу. Но вряд ли поднимаются хотя бы до уровня быдлокодера-эникейщика.