Markup languages are for giving names to things. How can be different between 'languages', with, for example, HTML and XML using <tags></tags>
, Markdown using special characters around text, and $\LaTeX$ using dollar signs ($
) around text and key words. No matter how it's done, all the markup language is doing is giving some kind of name to the thing, usually text, that it is attached to. Using a markup language is the same as using labels under the paintings in the museum. They mean nothing by themselves. They only have meaning once someone reads them, if they are in a language the reader understands. Markup text only has 'meaning' when read by a program that understands that language, interprets the tags, or other markup, and then following programmed instructions of what to do with the text the markup has named.
Programming languages, on the other hand, are instructions to the computer about what to do. Programs are written in text, often in the same text editor used for writing markup text. They are then compiled, or interpreted, to create machine code that the computer will follow. Once created, the program will follow the instructions it was given, even if that's not what the programmer intended.
An example of using markup could be the following image. It has what you need to know to change a flat tire on a car or truck.

Notice that everything is there, but it doesn't help you figure out how to change a flat tire. What's really needed is instructions not names. Compare the following. Not in any programming language. Just a list of instructions. In this case the instructions are executed by a person, not a computer. Still, the instructions enable one to change a tire, while the images that have markup on them don't help any on their own.
How to Change Tires
1. Find a Safe Location
2. Turn on Your Hazard Lights
3. Apply the Parking Brake
4. Apply Wheel Wedges
5. Remove the Hubcap or Wheel Cover
6. Loosen the lug nuts
7. Place the Jack Under the Vehicle
8. Raise the Vehicle With the Jack
9. Unscrew the Lug Nuts
10. Remove the Flat Tire
11. Mount the Spare Tire on the Lug Bolts
12. Tighten the Lug Nuts by Hand
13. Lower the Vehicle and Tighten the Lug Nuts Again
14. Lower the vehicle completely
15. Replace the Hubcap
16. Stow All Equipment
17. Check The Pressure in the Spare Tire
18. Take Your Flat Tire to a Technician
Adapted from How to Change a Flat Tire by Bridgestone Americas Tire Operations, LLC.