Сам язык - это только вершина айсберг. Даже если вы его будете знать наизусть - это ещё абсолютно не значит, что вы с первого раза сможете написать серьёзное приложение. Столько мелочей, что их просто даже не освещают в обучающих курсах и учебных программах. Все эти вещи придёться изобретать на ходу.
Сам на него учусь. Не так то это и просто как кажется на первый взгляд. По началу говоришь "пфф... что там учить то? Паскаль, Visual Studio и т. д." а на деле начинаешь писать программу, ошибся и всееее, понеслась. Руки на голову для подпорки и пялишься на экран, выискивая её. И пока не научишься эти ошибки вычислять, ничерта не будет получаться. В общем закалка на ошибках нужна, чтобы писать полноценные программы и коды.