Математика программисту безусловно важна. Да, без неё можно обойтись, как танк может обойтись без орудия, но согласитесь, что уже немного не тот эффект.
Сразу оговорюсь, тут скорее идет речь о разделе математики - математической логике. Базовые познания в этом разделе очень важны для программиста (та же бинарная логика), они, например, помогут вам более выгодно составлять конструкции из условий, какие-то рекурсивные алгоритмы и т.д.
Давайте вспомним те же функциональные языки программирования, где код у таких "чистокровных" представителей, как, например, у Haskell, представляет собой некий набор уравнений. В таком случае без познаний в математике не обойтись.
Перейдем от математической логики к математическому анализу и линейной алгебре. Здесь уже речь идёт о таком аспекте программирования как, например, компьютерная графика (сюда можно приплести ещё криптографию и прочие подобные "штучки"). В данном случае перед нами уже вектора и матрицы. Т.е. как минимум нужно понимать базовые принципы работы с ними, остальное можно в процессе работы нарыть в тырнетах. Ну а там, где линейная алгебра, недалеко и до математического анализа.
Подводя итог и, наконец, хоть как-то отвечая на вопрос, могу сказать, что в "суровом" программировании без математики не обойтись, но и не нужно быть каким-то кандидатом мат. наук. Главное понимать базовые принципы, по типу "при произведении матриц, A*B не равно B*A" и т.п. А в математической логике все же стоит немного разобраться, хотя бы поверхностно, потом проще будет.
А что такое абстракции в математике?
Достаточно знать математику на уровне 5 класса.