There's a classic Peter Naur paper about this from 1985: "Programming as Theory Building"
https://news.ycombinator.com/item?id=42592543
Great read overall, an interesting challenge to the conception that at its core, programming is about producing code.