гг Язык написаный на xml))) Идея неплоха, но безсмыслена... xml и С++ уже создали, придумать что то новое в языках может и возможно, но наверное каким нибудь крутым математиками и программистам. А этот язык можно написать и продать студенту как лабораторную работу)))
Где вы увидели xml? И, я как раз математик. Объясню в чем недостаток XML для применения в ООП. Вот вы начали писать тег A и изменяете шрифт тегом B. Так вот получается что тег А (и так же тег B) нельзя воспринимать (или выполнять или хранить) как целостный объект. В xml он (Тег А) воспринимается как последовательность и так же выполняется. Последовательность с определенными правилами для выполнения. Правильно было бы иметь целостный объект. От последовательности мы никуда не денемся, так как хранение данных и загрузка все равно происходит последовательно. Но, хотелось бы что б это были целостные объекты. В такой формулировке если тег А-суть объект, то изменение шрифта должно происходить изменением свойства "Шрифт" этого объекта, а не чем-то даже не могу сказать чем.. в середине не понятно чего в объектной концепции.
Если быть строгим, то в нашем примере если мы изменяем шрифт в середине текста, то должно получиться три объекта. Один с исходным значением шрифта, затем один с измененным шрифтом, и за ним опять объект с исходным значением шрифта.
Этот же нюанс заметнее в кодировке алфавитов. Текст представляет собой последовательность кодов, и естественно, прямая зависимость код-знак. Однако если мы воспринимаем текст как целостный документ, состящим из объектов, то обращаем внимание, что управляющие коды(перевод строки, табуляция и прочие) не являются необходимыми объектами для хранения. Их роль выполнять некие функции, в общем случае, можно их назвать событиями, запускающие определенную процедуру обработки события. И необходимы эти коды только при редактировании текста с клавиатуры. Именно клавиатура (или мышка или тачскрин) создает эти события. Для хранения документа как объекта содержащего множество вложенных объктов, в управляющих кодах нет никакой необходимости. Управляющие коды это не объекты, а скорее правила к которым мы привыкли. Это принципиальный момент. Я понимаю, что это так как мы привыкли и легко воспринимается, но это не правильно принципиально. И вот тот тег B, который в XML изменяет шрифт, это правило, а не объект. Не знаю насколько я доступно объяснил, но я старался..
Если вы скажете, то какая разница, я отвечу, что объекты можно определить по свойствам, по классу и т.д.. Если возникла проблема то по хелпу объекта или хелпу класса. А правила нужно запоминать. Вот этих правил и условностей потихоньку набирается столько, что это мешает сосредоточиться на конкретной задаче. Ну, это и сами программисты уже знают. Что б решить какую-то фигню.. надо еще помнить много-много чего. Такой подход здорово разгрузит мозги. Ничего лишнего помнить не надо будет. Глянул на объект, что-то не понятно глянул на класс.. Все.. Больше ничего знать не надо. Применяй.
В этом кардинальное отличие TLL от XML. Все теги являються объектами, и допускают вложенность. Нет больше никаких нюансов внутри объекта, кроме тех, что описаны в классе.