There isn't a difference. They're two different words that mean the same thing. They can be used interchangeably in most contexts.
Like, sure, playing weird synthesizers is 'MIDI Programming' and you can't really swap it out for 'MIDI Coding' and you wouldn't call TV shows 'TV Coding' but in the context of work with software, yeah, they mean the same thing.
This happens all the time:
Are you a 'developer,' a 'programmer,' or a 'software engineer?' It's an identical job at three different companies.
I've yet to meet someone who can nail down the actual difference between UI and UX
- Which jobs are 'Ops' and which jobs are 'IT'? I feel like I've never worked in IT since I don't know how to set up a phone system, but I have worked at a company where the whole software team had
department: ITprinted on their paychecks
I'm not a linguist so I can't tell you why this happens in general. I will note this is not a specific issue to tech: words and terms that have the same meaning are so common they wrote a book about it. What I can say is that part of the reason specific to text is marketing. It's just so tempting to try and label your product (which is kinda sorta similar to other stuff) as something so new and exciting it deserves a whole new word.
User Interface? nah dog, we got a whole User Experience. We're like if a web page could also go paragliding with you on the beach.
Usually this doubling of terminology is kinda hard to spot: coders all have different jobs on different stacks so it seems like language differences must point to meaningful distinctions. Some programmers know how every version of a mobile browser renders the
<em> tag, some know about limitations of a Unix file system. If you give those two people different labels, it sort of seems to make sense.
If you're unsure if this is right, try doing a find-replace of your terms and see if it reads right. If two words can be used interchangeably in the same context, guess what you've discovered a new synonym.