Я вообще не считаю, что запоминание ключевых слов и названий функций, пусть даже из стандартной библиотеки какого-либо языка может сделать кого-то программистом. Тем более, что языки и библиотеки имеют тенденции устаревать, а на их смену приходят всё новые языки. Я начинал с Бейсика, потом Фортран, потом Си, потом Паскаль, потом плюсы, потом "до диез", потом JS, потом Python. Половины из того, что знал, разумеется, уже не помню. Но по прежнему себя, я думаю, имею право называть программистом, потому что, пусть и с большим скрипом, я могу писать на чистом асме, причём, обладая даташитами, на любой платформе, но, разумеется, в реальной жизни я этого не делаю практически никогда. Однако, знание того, как в итоге твой программный код исполняется, что конкретно происходит в процессоре, как из транзисторов собираются логические вентили, как потом эти вентили организуются в блоки процессора, как данные хранятся в памяти, как работает стек протоколов TCP/IP, позволяет мне себя считать программистом, хотя я и не имею в этой области формальной корочки об образовании. Кроме того, эти знания позволяют мне применять для решения задач практически любой язык программирования. Да, безусловно, тонкостей многих языков я не знаю, и много специалистов просто уделают меня "под орех", если речь зайдёт о написании кода на скорость. Однако, за годы практики, у меня скопился неплохой репозитарий практически готовых решений на практически все случаи жизни, которые написаны не Васей со stackoverflow или github, а мной лично. Если хотите, моя папка "Projects" и есть мой блокнот, где я держу свои записи.