Programming: computers are fast but not very smart, people are smart but not very fast. Programming languages are a set of conventions and instructions that allow people to translate their ideas into instructions a computer can execute.
There are many programming languages, each with their own tools and tricks that make certain human ideas easier to describe to a computer.
A typical software engineer uses 2 or more different languages in each job, and learns new languages every few years.
HTML: Hyper Text Markup Language - The code structure used to convey the content of a web site
CSS: Cascading Style Sheets - A language used to describe the presentation of the content
Ruby on Rails: A language and framework for building your own customized websites, from the database to the HTML