в процессе разработки языки и изучаются. Просто так смотреть не имеет никакого смысла. Только практика дает навыки. если он ничего не может толкового написать, значит ничего не изучил.
Сначала придумываешь приложение, потом проектируешь его, Затем это обращается в код на выбранном языке ну и дорабатываешь каки-нибудь фичи на ходу. Обучения без непосредственной разработки не бывает.
Учить языки программирования и учиться программировать это два разных понятия, но оба взаимосвязаны друг с другом. Когда учишься программировать ты учишься решать задачи и искать решение, а когда учишь просто сам язык, то учишь его синтаксис и возможности языка. От того что просто выучишь Python это не научит программировать, также от того что выучишь все китайские иероглифы это не научит составлять из них предложения. Программирование изучается с основ программирования, а язык не имеет особого значения, но желательно чтобы им не был PHP, JS, Python и тому подобные.
есть только один способ: взять и попробовать сделать что-то самостоятельно. Тогда станет ясно, изучил или нет. Если получается - пробовать более сложные вещи.
Изучил язык и готов разрабатывать - совершенно разные вещи. Так же как в математике - изучил все условные обозначения, но умеешь ли решать задачи? А готов ли ты разрабатывать, как уже написали, станет возможным только через опыт написания разных программ.