How can I convey the idea of a programming language vs. a markup language?
I also have this problem frequently.  I use the example of Microsoft Word, and I would say something like this:

"Word allows you to give a document the appearance that you'd like.  You can bold, you can center, you can change font sizes.  Word is creating a markup (in this case, it is generating a type of markup called XML).  "Markups" mark up text, just like it sounds.

But, could you create Word itself in Word?  You can edit fonts, you can center text... but does any of that give you the capability to make a whole program like Word?  Similarly, you can't use Word to make Firefox, Chrome, or the alarm clock on your phone.

Markup languages only format documents, but when you need to actually make a function calculator, or an iPhone app, or a video game, that's when you need code instead."