Программирование - процесс создания программы, взлом - процесс поиска обхода заложенных программистом решений по защите. Для взлома прямым перебором можно написать некий скрипт - это будет программирование. Написание программы для поиска уязвимостей с программах/системах - это тоже программирование, но уже другого уровня.
просто программирование - это программирование более или менее не против воли программируемого взлом - когда против грань тонка. грязные хаки по обходу багов в sdk, или боты для сайтов, но без цели завладеть чужим - это где-то посередине. если подумать - можно догадаться как распределяется сложность в этом спектре
Если приводить параллели, то разница такая же как ковка меча и убийство кого-то этим мечом. Меч в данном случае - это инструмент. Программирование - это процесс создания инструмента, а хакерство - это использование этого инструмента.