Синтаксис знать мало. Надо уметь решать поставленные задачи. Важно также уметь качественно структурировать код, понимать архитектуру и программную инженерию. Программирование учится через программирование, через решение задач.
Если выучить все математические обозначения, стану ли я математиком? ) В программировании важно уметь решать задачи. Язык - только система записи решений.
Если ты выучишь все английские слова, ты сможешь грамотно говорить по-английски? (У них там не так всё просто, разный порядок слов значит разное) Ни один программист не знает все конструкции языка, т. к. это просто незачем, всегда ведь под рукой справочник