В C-подобных языках с этим не лучше. Типовое "программирование" на Java или C# - это практически такая же сборка кода из готовых библиотек, как и "программирование" на Python. Большинство актуальных языков создано для снижения стоимости разработки - в том числе и за счёт использования менее образованных и потому более дешёвых кодеров. На одного профессионального программиста, способного написать эффективную библиотеку, приходится стая леммингов, способных лишь использовать готовые библиотеки - без малейшего понимания того, как они работают.
Хочешь развивать мышление - возьми учебник программирования. Который не про то, как писать код, а про то, как искать эффективные решения программистских задач. И учебник дискретной математики, дающий базовые знания, необходимые для поиска эффективных решений программистских задач.