Ruby, Python and Perl are all programming languages. Markup languages, on the other hand, are used to describe a document. Whereas you can run a Python or Ruby program, you can’t “run” a marked up document. HTML documents, for example, are not executed; they are rendered by the browser.