The HTML (which stands for HyperText Markup Language) is the base of the documents creating the Hypertext, or extending the concept to all media available, the Hypermedia. In these documents we can set the information showed on the Hypertext terminal. The most common implementation is the well known “World Wide Web” where their hypertext terminals are generally the Web Browsers.

This language is a markup language, and this means that it will be formed by a set of markup tags. Each tag will describe a different document part or element that should be displayed. The order or the attributes of each of these tags will configure the document structure and the initial layout it should follow, but not the final representation of the document. This will be defined by a html companion, the Cascading Style Sheets. In the same way the default behaviour and the interactivity of the document can be modified by the other guest star to the party, the Javascript. This is a threesome that, nowadays, rarely goes separately.

HTML Documents
HTML+CSS+Javascript, a inseparable threesome

The standard rules and sintax of the HTML language are defined on the World Wide Web Consortium (W3C) site.

The World Wide Web Consortium (W3C) is an international community where Member organizations, a full-time staff, and the public work together to develop Web standards. Led by Web inventor Tim Berners-Lee and CEO Jeffrey Jaffe, W3C's mission is to lead the Web to its full potential.

A briefly history about HTML

Initially the HTML was designed to share and spread cientific information over the wide world. It was mainly a structural language and not even you could put a bold or cursive text but progressively were introduced the modifiers to format text and images with the language revisions.
In the mid-90s there were many evolutions of the language without an standard about the representation. The W3C was created with this goal, separating the specifications about content and styles. The fourth version of the language introduced finally the CSS stylesheets. At this moment, the W3C started proposing a stricter version about the tag structures based on the xml rules. But this proposition was gradually deflating in favour of the last recommended version the HTML5.

Foundations of html

Nowadays the html5 documents can represent and display any imaginable thing. The applications we run over a browser in the web are called webapps and are, in the client side, build over the following three foundations.

The set of tags configuring the structure of the document. Also in the documents we can set up some modifiers about how to the browser will treat certain aspects. These could be where the information about the cache use are located or where to find the stylesheets to load the page depending the device used.
JavaScript is an scripting programming language used together the HTML to manipulate and modify the behaviour of the elements contained in the HTML document and is executed by an engine that depends on the browser implementation. Even is an scripting language allows flexibility to adopt paradigms such as functional programming or Object Oriented programming. There are several frameworks to adopt a common way to develop with it and make easier the compatibility across the browsers interpretation. See jQuery or AngularJs.
Javascript is an easy language to start learning programming but in the same way is also a hard language to manage large professional developments.
Javascript, thanks to its adaptability and extended use, has evolved to the backend side with projects like Node.js.
CSS is like the dress of our html code. It can modify the visual style and the layout of all elements in document. Even you can get animations and modify the natural behaviour of the elements. To not break the rule CSS can also be messy and tricky. To try to help with the development of these stylesheets some projects like Sass come abroad. Sass allows you to get a structure about the applied styles and also provides some programming rules to build the final css files.