Ответьте на вторую часть вашего вопроса ..
«Почему HTML не является языком программирования или языком сценариев?»
HTML - это разметка язык.
Он инкапсулирует данные в тегах, чтобы браузер читал и интерпретировал содержимое веб-страницы.
Он просто определяет цель данных на веб-странице.
Это, однако, не имеет какого-либо из перечисленных ниже свойств языка программирования (назвать несколько) ..
* Это не имеет никакого программирования/функциональной логики
* Он не понимает, какие условные операторы.
* Он не может вычислять выражения и делать вычисления (как для, например: сумма 2-х номеров)
Чтобы резюмировать,
HTML => определяет структуру веб-страницы
CSS => определяет стиль
Javascript => обеспечивает поддержку сценариев на веб-странице
Разница между языком программирования и языком сценариев уже покрыта [здесь] (http://stackoverflow.com/questions/17253545/scripting-language-vs-programming-language) – sundeep