“Programmability in the network” is a wordy yet simpler way to describe the extension of network capabilities through the use of software-defined techniques.
See what I mean?
In any case, whatever you want to call it, there are two distinct methods of leveraging programmability in the network. One is specifically tied to SDN, using the extensible capability of an SDN controller supportive of a plug-in, module or app-based model. The second is more broadly applicable (in that it can be used for SDN but also as part of traditional or legacy architectural approaches as well) and implements an in-path model for executing logic (programmability) on inbound and outbound traffic.
As usual, I think a picture can probably suffice to explain it fully instead of inundating you with words, words and more words.