Что читать? Базовые учебники ЯП и задачники, решая задачи из них, а потóм и литературу для более продвинутых. Программистом можно назвать только тех, кто занимается реальным софтом. Причём различаются уровни подготовки: самый элементарный, начальный, средний и высший. По английски это звучит как мистер BIAS (Basic, Intermediate, Advanced и Special). Как научишься функции писáть, да уравнения решать (линейные, симультантные, трансцендентные, дифференциальные (обыкновенные и в частных производных !), интегральные), создавать классы со своими методами и библиотеки, управлять процессами, освоишь работу с архивно-файловой системой, звуком, графикой и графическими интерфейсами, овладеешь сетевыми технологиями, методами тестирования, интеграции и сопровождения софта - вот тогда ты программист, хотя ещё и неизвестно какой...