Я б сказал, что программирование - это прикладная дисциплина.
Наука - это поиск, формулировка и доказательство объективных законов природы, объективных связей между различными объектами и явлениями, а равным образом объяснение наблюдаемых явлений и событий через эти законы и эти связи.
Программирование, даже при том, что там есть - и много - теоретических основ, новых законов природы не выявляет и новых связей между природными явлениями не устанавливает. Вот как техническое черчение, например. Геометрия - да, наука. С некоторой натяжкой можно причислить к науке даже и начертательную геометрию (но как по мне - даже это сомнительно). А черчение - что? Оно разве выявляет какие-то природные закономерности?
Программирование может использовать достижения науки в том числе и для своего развития и совершенствования, чему примером могут служить алгоритмы шифрования или сжатия информации, которые основываются на весьма сложных и изощрённых чисто математических вещах, - но при этом сами программы, как и методы их создания, не описывают природных объектов и связей между ними. Поэтому и не подпадают по классификацию "науки".