Здравствуйте, promko, Вы писали:
Знания не приходят без опыта. Знания не могут быть для программиста чем-то абстрактным. Знания для программиста не могут быть чем-то академическим. Я попытаюсь показать на своём примере. В школе я начал писать на бейсике. Учился (страшно вспомнить) понимать, что такое if, while. Помню, как часто очевидные структуры заменял блоками с if ... then goto. Потом научился писать структурно, а не плести спагетти условных переходов. Учился писать с отступами. С переходом на паскаль изменился способ мышления. Были явно выделенные функции, процедуры, разбиение программы на логические блоки. Выучил ассемблер. Ассемблер сложный язык. Если не умеешь держать в голове структуру (блок-схему) программы, то по строчкам исходника не восстановишь. Помню, перед олимпиадами учили всяким супер-алгоритмам. Вот это не пригодилось. Уже почти забыл. Потом был VC++ и пришлось понимать, что такое многопоточность. Именно понимать. Начать чувствовать, что ошибка именно из-за несогласованности действий потоков. Потом были SQL (язык понятный и идиоту

) JavaScript, Perl а сейчас php. И меня мало кто разубедит, что связка php+JavaScript (perl+JavaScript, ASP+VBScript) по своей нагрузке на мозги не самое сложное. Динамически создавать на одном языке программирования программу на другом языке это не шутки. Каждый язык программирования давал мне новый взгляд на задачу, новый уровень абстракции. Сейчас для меня синтаксис конкретного языка это нечто абсолютно не существенное. Алгоритм и идея стали главным. Раньше я думал, что знать наизусть все стандартные функции это круто. Потом я думал, что знать операционную систему и писать на ассемблере это круто. Потом я думал, что писать самые маленькие и самые быстрые программы это круто. Сейчас я думаю, что умение держать в голове максимум информации и адаптироваться, умение учиться быстрее, чем другие вспоминают это круто. Через пару лет буду писать на ставшем уже слегка устаревшим C# и думать что-то другое. Если вы программист, да нет, если вы просто действительно любите своё дело – вам никаких знаний не хватит. Универсальность это не знания, это образ мыслей. Я не стыдясь лезу в MSDN по мелочам и не уже не хочу засорять себе мозги параметрами каких-то функций (хотя от частого употребления само собой запоминается). Универсальность это способность решать разные задачи. Универсальность это способность быстро учить новые идеологии постановки и решения задачи. А знания это дело наживное. Просто попиши программы – вот и знания. А ХОРОШИЙ программист и есть УНИВЕРСАЛЬНЫЙ.