Понимаешь, программирование - это не набивание кода (данный процесс называется кодированием, и, вообще говоря, требует гораааааздо меньшей квалификации).
В идеале, программист вообще может не садиться за клаву (в идеале!). Для того, чтобы программировать надо ЗНАТЬ что тебе надо, как это можно сделать (в подробностях!), как это можно сделать ещё, почему это еще лучше или хуже, чем прежний вариант. А знать ты это сможешь, если будешь знать как тот или иной алгоритм работает. А это, в свою очередь, без математики сложно.
Поэтому, придется полюбить.
К вопросу про компиляторы: для их создания, между прочим, была разработана и доказана (!) соответствующая математическая тероия (теория формальных языков и грамматик), которая показывала способы построения этих самых компиляторов.