Хакер писал(а):предварительно переведя его к дурацкому синтаксису MSSQL
Дурацкий синтаксис MS SQL соответствует стандарту ANSI SQL, в то время как идиотский синтаксис MySQL ему не соответствует.
Хакер писал(а):предварительно переведя его к дурацкому синтаксису MSSQL
И как символ, визуально их представляющий
и как идея, что некая сущность помечается не парным символом (открывающий/закрывающий), а одним.
Что же касается бросания в глаза -- нет, мне квадратные скобки не пестрят.
alibek писал(а):Обратные апостофы отвратительны.
И как символ, визуально их представляющий...
Хакер писал(а):и многие другие ежедневно используют MSSQL и уже "привыкли" к нему
Хакер писал(а):Парный маркер, помечающий некоторую конструкцию, там , где не может быть вложенных конструкций, совершенно, ну совершенно не нужен. (Докажи обратное, если сможешь)
К чему доказывать очевидное?
Более строгая и формальная структура разбирается гораздо легче, и парсером, и человеком.
В XML не поскупились на формализм и некоторую избыточность описания структур, зато его теперь обрабатывать легко.
<a>
<b>
</b>
<c>
</c>
</a>
a
{
b
{
}
c
{
}
}
И забыть про атрибуты? <a b="c">d</a> твоим способом не запишешь.Хакер писал(а):Какой смысл писать
- Код: Выделить всё
<a>
<b>
</b>
<c>
</c>
</a>
когда достаточно
- Код: Выделить всё
a
{
b
{
}
c
{
}
}
?
Видел. Но не более того
И забыть про атрибуты? <a b="c">d</a> твоим способом не запишешь.
a(b="c";e="asdasd")
{
d
{
}
}
a(b="c";e=foo(e1="a";e2="b";e3="c"))
{
d
{
}
}
a(b="c";e=foo(e1="a";e2="b";e3="c") { ...что-нибудь... })
{
d
{
}
}
Хакер писал(а):Однако "мой синтаксис" позволяет в делать комплексный аргумент. А именно:
Хакер писал(а):или даже:
Приведи хотя бы один пример из практики, когда это может пригодится и при этом вложенные узлы из XML не подойдут.
union(name="Отдел 1";maintainer=person(name="Иван Васильевич Бунша";age=47;gender=1))
{
product(name="Программа 1";cost=4862;customer=person(name="Вася Пупкин";age=20;gender=1);maintainer=person(name="Павлик Морозов";age=25;gender=1))
{
...что-нибудь...
}
product(name="Web-сайт ЦУуцуц";cost=9842;customer=person(name="Йцукен Вапр";age=7;gender=0);maintainer=person(name="Ирина Колобкова";age=30;gender=2))
{
.. ещё-что нибудь ...
}
}
union(name="Отдел 2";maintainer=person(name="Наталья Иванова";age=35;gender=2))
{
product(name="Комплекс Альфа";cost=100;customer=person(name="Шубин Андрей";age=60;gender=1);maintainer=person(name="Зуров Василий";age=18;gender=1))
{
...что-нибудь...
}
product(name="Комплекс Бета";cost=1000;customer=person(name="Иванов Иван";age=27;gender=1);maintainer=person(name="Мария Власова";age=24;gender=2))
{
.. ещё-что нибудь ...
}
}
<union name="Отдел 1">
<maintainer>
<person name="Иван Васильевич Бунша" age=47 gender=1 />
</maintainer>
<products>
<product name="Програма 1" cost=4862>
<customer>
<person name="Вася пупкин" age=47 gender=1 />
</customer>
<maintainer>
<person name="Павлик Морозов" age=25 gender=1 />
</maintainer>
<content>
.... что-нибудь ....
</content>
</product>
<product name="Web-сайт ЦУуцуц" cost=9842>
<customer>
<person name="цукен Вапр" age=7 gender=0 />
</customer>
<maintainer>
<person name="Ирина Колобкова" age=30 gender=2 />
</maintainer>
<content>
... ещё что-нибудь ...
</content>
</product>
</products>
</union>
<union name="Отдел 2">
<maintainer>
<person name="Наталья Иванова" age=35 gender=2 />
</maintainer>
<products>
<product name="Комплекс Альфа" cost=100>
<customer>
<person name="Шубин Андрей" age=60 gender=1 />
</customer>
<maintainer>
<person name="Зуров Василий" age=18 gender=1 />
</maintainer>
<content>
.... что-нибудь ....
</content>
</product>
<product name="Комплекс Бета" cost=1000>
<customer>
<person name="Иванов Иван" age=27 gender=1 />
</customer>
<maintainer>
<person name="Мария Власова" age=24 gender=2 />
</maintainer>
<content>
... ещё что-нибудь ...
</content>
</product>
</products>
</union>
И теперь сравни количество символов-тэгов в этом примере против четырех у XML.
А также подумай о количестве состояний у автомата, который будет парсить этот файл.
Меньше правил парсинга.Да чем она проще то?
Ну уж нет, ничего отбрасывать не будем. В xml можно же записать твои комплексные аргументы отдельной нодой, вот и запишем. И это будут истинно равные условия. Если твой пасер работоспособен, то нужно просто сравнить скорость разбора твоего документа со скоростью разбора аналогичного xml.Возможность присваивать аргументу объект мы отбросим, потому как XML не поддерживает это. Это просто бонус моего протокола.
Поставим XML и мой способ в раные условия. Различны только две вещи - способ завершения блока и разделение аргументов.
А если кодировать данные байтами да еще ужать каким-нибудь раром, то будет еще меньше. Вот только xml разрабатывался не для экономии на спичках.А теперь возьмём другую сторону: объём данных. Тот же RSS-Feed, при использовании моего протокола стал бы куда меньше в объёме. А значит быстрее бы шёл по сети + намотал бы меньше трафика.
Ну уж нет, ничего отбрасывать не будем. В xml же можно записать твои комплексные аргументы отдельной нодой. Это будут истинно равные условия. Если твой пасер работоспособен, то нужно просто сравнить скорость разбора твоего документа со скоростью разбора аналогичного xml.
Antonariy писал(а):Если твой пасер работоспособен, то нужно просто сравнить скорость разбора твоего документа со скоростью разбора аналогичного xml.
<product name="Програма 1" cost=4862>
<customer>
<person name="Вася пупкин" age=47 gender=1 />
</customer>
<maintainer>
<person name="Павлик Морозов" age=25 gender=1 />
</maintainer>
<content>
.... что-нибудь ....
</content>
</product>
Вернуться в Holy Wars@VBStreets
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16