Сергей Александрович! Усматриваю в вашей цепочке логическую несвязку от пункта 2 к пункту 3. Перед "компьютерные программы" отсутствует слово "любые".
Множество всех возможных алгоритмических задач не сводится к задачам алгебраическим. В HTMLе нет арифметических операторов, поскольку этот язык предназначался для иных задач. (Вся арифметика из него сознательно вынесена в подключаемые к нему скриптовые языки - JavaScritp, VBScript и TCL.)
Но наличие арифметики - не критерий языка программирования.
Николай Николаевич! То, что я указал в качестве задачи поиск корней квадратного уравнения, не принципиально. Возьмите любую алгоритмическую задачу (например, из тех, что решают при изучении программирования в школе) и попробуйте её решить средствами HTML.
Только помните: программа должна получать от пользователя (тем или иным образом) исходные данные, обрабатывать их согласно заложенному в неё алгоритму, и выдавать опять же пользователю результатные данные.
В HTMLе имеются более важные признаки - деление на команды и данные, последовательность выполнения команд, избыточность синтаксиса, независимость результата от интерпретатора.
Вы забыли самое главное - динамичный характер компьютерной программы. А HTML - статичен, как и любой "мёртвый" текст.
Что касается перечисленных Вами признаков. В HTML нет понятия "команда" и нет понятия "данные", зато есть понятие "разметка" и "текст". Второе. Никакой особой последовательности выполнения "команд": "тэги" обрабатываются по мере считывания текста. (Приведите мне пример "тэга", который бы менял последовательность "парсинга" текста в формате HTML, заставляя обрабатывать, скажем, сперва конец файла, а потом уж начало.) Избыточность синтаксиса и независимость от интерпретатора не являются свойством, присущим именно языкам программирования (например, естественные языки обладают теми же свойствами), а, соответственно, никак не подтверждают Вашей правоты.
Приведу Вам ссылку из описания SGML (
http://xtalk.price.ru/SGML/p3sg.html#43_4):
========
Особенности SGML
Существуют три характеристики SGML, отличающие его от других языков разметки: его упор на описательную, а не на процедурную разметку; его концепция типа документа (document type); его независимость от конкретной системы в представлении текста. Эти три аспекта кратко обсуждаются ниже, и, более подробно, в разделах SGML структуры и Объекты SGML.
Описательная разметка
Система описательной разметки использует коды разметки, просто предоставляющие названия для классификации частей документа.
Коды, такие, как <para> или \end{list} просто идентифицируют часть документа и утверждают про нее: "следующий элемент -- параграф" или "это -- конец начатого последним списка" и т.д. Напротив, система процедурной разметки определяет, какая обработка должна производиться в конкретной точке документа: "здесь вызвать процедуру PARA с параметрами 1, b и x", или "сдвинуть левую границу на 2см влево, правую -- на 2см вправо, пропустить строку и встать на новую левую границу", и т.д. В SGML инструкции, необходимые для обработки документа с определенными целями (например, для его форматирования) четко отделяются от описательной разметки, встречающейся внутри документа. Обычно они собираются вне документа в отдельных процедурах или программах.
========
Причём тут SGML? Дело в том, что HTML является одной из его реализаций (
http://www.w3.org/TR/REC-html40/)
Теперь я Вас, наконец, убедил в очевидном или, всё-таки, нет?
PS. В принципе, решение квадратного уравнения на HTMLе написать можно... Табличным методом.
Это мне напомнило то, как у меня студентки выполняли лабораторную в MS Excel. Я дал задание написать формулу автоматического пересчёта данных из нескольких таблиц для создания результирующей. Они сели, на калькуляторе мне всё пересчитали и в виде 'pure text' эти результаты в результирующую таблицу "забили". Выходит, по-вашему, они выполнили моё задание верно, а я "зарубил" их лабораторную ошибочно? (Это я к тому, что Ваша "программа отыскания корней квадратного уравнения на HTML" будет "решать" одно единственной уравнение - то, корни которого Вы найдетё, решив его "на бумажке", и "забьёте" навечно в текст с форматированием HTML. С таким же успехом можно назвать "компьютерной программой" и отсканированную страницу из студенческой тетради с решением указанного уравнения).