I think typically A, B, C, and F are acceptable to most people. I certainly wouldn't mind any of those descriptions. D feels antiquated. E is too broad. G just sounds like a hobbyist.
Yeah but the programming is done on a computer and then uploaded to that device. It's not specific enough of a term anymore. That's why it feels antiquated. Back in the 80s, most people didn't know enough about computers to know there were differences in different types of programming, and there were fewer types then too. These days you still don't need to be too specific unless you're discussing your role with someone else in the industry but still, if you just say you're a programmer now, pretty much everyone will know you mean it's computer programming.