И над чем размышляет программист? XD Программист, обычно реализует алгоритм, используя при этом один из языков (sic!) программирования. Иногда, конечно, приходится придумывать алгоритмы, но это можно сравнить, например, с написанием стихов =) По большому счету что корейский, что паскаль, что галиматья в 1с - тоже набор слов, конструкций, правил. Всякие хитрые приемы, которые позволяют изъясняться эффективнее. Ну и так далее. В принципе можно и анатомию свести к конечным автоматам, внутренние управляющие сигналы, внешние датчики, триггеры, память, механизмы доступа и так далее...
>>Может быть, лучше сказать, что это какой-то сочетание между языками и математикой
Все одно - любая наука описывает окружающий мир будь то математика, физика, что угодно. И каждая из этих наук использует свой язык для этого. Чтобы понимать физику, к примеру, нужно хорошо ориентироваться в понятиях, которыми она оперирует. Тогда все встает на свои места и становится понятна даже квантовая теория и прочая муть. То же с математикой, статистикой, социологией, экономикой, ...
При этом язык, в общем, тоже нужен для описания окружающего мира.