http://lib.ru/ANEKDOTY/non_pas.txt
http://sp.sz.ru/nast_progr_.html
http://volgograd.lug.ru/library/hacker-howto.ru.html
http://md-it.ru/articles/html/article63.html
Необходимо попробовать множество парадигм, то есть, множество семейств языков или хотя бы близких языков. А ещё понимание где какой паттерн требуется приходит когда сталкиваешься со специфической задачей. Максимум же задач возникает не в обычной повседневной рутине, а при построения проблемно-ориентированного каркаса (либо на основе eDSL либо иными способами). Для веба это создание своего фреймворка. Именно тогда оказываются востребованными возможности языка такие как замыкания, неймспейсы, трейты (хотя насчёт трейтов я не уверен) и многие другие. А создание сайтов на готовом фреймворке никаких особых знаний не требует.