XML за и против

Windows лучше чем Linux! Чем? Ясно же написано — чем Linux!
Раздуй свой холивар сегодня, потому что завтра это может сделать уже кто-то другой!

Как вы отноститесь к XML?

Это просто супер
10
37%
Фигня полная
4
15%
Иногда можно поюзать
9
33%
Никак не отношусь
4
15%
 
Всего голосов : 27

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

XML за и против

Сообщение VVitafresh » 27.08.2007 (Пн) 8:47

На форуме частенько затрагивание темы XML приводит к спорам (порой очень долгим), например здесь. Так давайте создадим холиварчик :twisted:

В чем преимущества XML? Зачем он вообще нужен (хранение настроек, обмен данными?), если практически каждому его применению можно найти достойную альтернативу ? Или все-таки не так и легко отыскать эту альтернативу?

Хотелось бы аргументированной дискуссии.


P.S. Лично я в своих программах XML не использовал -- не было такой необходимости, может недостаточно знаю о возможностях.
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 27.08.2007 (Пн) 8:57

XML -- это способность разработать формат данных без необходимости писать для него парсер.
Изображение

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 27.08.2007 (Пн) 9:56

XML в тему там где он действительно нужен, в ситуациях типа передачи данных из одного формата в другой, или например для сохранения настроек.

З.Ы. Вообще-то тема боян, вроде было ужо такое пару лет назад
Весь мир матрица, а мы в нем потоки байтов!

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 27.08.2007 (Пн) 10:12

За пару лет многое могло измениться. Новый взляд на старые вещи!

Что-то не видно аргументов противников XMLя :)
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 27.08.2007 (Пн) 10:19

Скажу свой аргумент против: XML черезчур избыточен.

Viper пишет, что он хорош для передачи данных из одного формата в другой. Это конечно хорошо. Но какой будет объем этих данных в формате XML??? Одно дело, если нужно передать настройки, или небольшую табличку на тысячу записей, а если это БОЛЬШАЯ таблица на полмиллиона (или больше) записей, тогда как?
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Сообщение dr.MIG » 27.08.2007 (Пн) 11:05

VVitafresh писал(а):Скажу свой аргумент против: XML черезчур избыточен.

Код ДНК тоже избыточен... :)

Опять же всё зависит от конкретной ситуации... Легко создать отчёт на основе XSL-преобразования. Легко организовать взаимодействие с WEB. Легко достучаться до данных (конкретный пример - должна быть возможность работать с удалёнными данными через приложение с ПК, через WEB-интерфейс и через Java-мидлет для сотового телефона. Если в первых двух случаях работаты с данными можно найти альтернативу XML, то в последнем - весьма проблематично. А найти готовый, вполне приличный парсер XML на Java2ME не составит труда). Но если не планируется всего этого делать, то может действительно надо подумать об альтернативе XML.
Salus populi suprema lex

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 27.08.2007 (Пн) 11:19

dr.MIG писал(а):... Легко создать отчёт на основе XSL-преобразования.

Насколько легко?

Для этого есть готовые инструментальные средства? Если нет, и всё нужно писать ручками, то и особого смысла в таких отчетах тоже нет (т.к. в этом случае они ничем не лучше любых других).
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 27.08.2007 (Пн) 11:52

VVitafresh писал(а):Скажу свой аргумент против: XML черезчур избыточен.

Viper пишет, что он хорош для передачи данных из одного формата в другой. Это конечно хорошо. Но какой будет объем этих данных в формате XML??? Одно дело, если нужно передать настройки, или небольшую табличку на тысячу записей, а если это БОЛЬШАЯ таблица на полмиллиона (или больше) записей, тогда как?

Тогда жмём зипом прямо на уровне транспортного протокола.
Например, HTTP это позволяет.
Изображение

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 27.08.2007 (Пн) 12:01

Одно дело, если нужно передать настройки, или небольшую табличку на тысячу записей, а если это БОЛЬШАЯ таблица на полмиллиона (или больше) записей, тогда как?
Опять забиваем гвозди плоскогубцами? Здесь-то вопрос уже в другом: нафига таскать такую кучу данных через xml? Как всегда в пылу инструментального холивара забываем про область применения инструмента. То на лилипутские возможности пытаемся натянуть гаргантюанские условия, то наоборот.
Лучший способ понять что-то самому — объяснить это другому.

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 27.08.2007 (Пн) 12:13

Antonariy писал(а):Как всегда в пылу инструментального холивара забываем про область применения инструмента.

Antonariy, тогда уточни будь добр область применения инструмента под названием XML.
Удобное хранение настроек и обмен информацией в миниатюрных порциях (чтобы не натянуть "гаргантюанские условия")?

tyomitch писал(а):Тогда жмём зипом прямо на уровне транспортного протокола. Например, HTTP это позволяет.
Вот это уже намного интересней. (правда я не знаю как это делать)
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 27.08.2007 (Пн) 16:25

XML -- это способность разработать формат данных без необходимости писать для него парсер.

А не надо вообще писать парсер. Границы данных в файле данных должны определяться математически.

Прочитать из файла "смещение и длину" данных, а затем прочитать данные (зная смещение и длину) - это гораздо круче (в плане скорости и надёжности), чем читать данные порциями, и проверять, это данные всё ещё, или это уже закрывающий тег?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 27.08.2007 (Пн) 16:47

"Математический" парсер для сложного формата писать не менее запарно, чем "текстовый".
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 27.08.2007 (Пн) 16:50

Дело в не сложности написания. Дело в скорости и качестве его работы.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Сообщение dr.MIG » 27.08.2007 (Пн) 17:00

[offtopic]
Признавайтесь, кто голосовал за второй вариант? :)
[/offtopic]
Salus populi suprema lex

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 27.08.2007 (Пн) 17:21

Хакер писал(а):Дело в не сложности написания. Дело в скорости и качестве его работы.

Угу, ага, а ещё для своей программы нужно написать специфично-оптимизированную ОС. Да?

В чём разница между этим утверждением, и твоим?
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 27.08.2007 (Пн) 18:15

В чём разница между этим утверждением, и твоим?

Я бы перефразировал, спросив, в чём сходства? Потому что, по моему, - разница во всём.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 27.08.2007 (Пн) 19:06

Пойми наконец, что разница между XML и твоим форматом не сводится к разнице между текстовыми тегами и алгеброй-поверенной-гармонией смещений полей.
Она прежде всего в том, что XML уже создан, реализован, и всюду поддерживается.


Вот тебе нравится, что в Винде есть буквы дисков, и по текущему каталогу на каждом диске?
Многим это кажется избыточным и бессмысленным. Ещё бы, какие расходы памяти -- вместо одного текущего каталога хранить 26.
Гораздо эффективнее было бы написать собственную ОС с единым корнем файловой системы, и одним текущим каталогом.
Возьмёшься?
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 27.08.2007 (Пн) 20:08

Почему в пример ставишь ОС. ОС - чрезвычайно сложная и много-сторонняя вещь.

Она прежде всего в том, что XML уже создан, реализован, и всюду поддерживается.

Меня мало волнует то, что оно создано. Пусть это радует тех, кто ищет "готовые контроллы для всего".

У меня есть своя планка. Я не буду использовать чужое решение, если могу написать аналогичное своё. Я не буду использовать решение (хоть своё, хоть чужое), если в принципе могу реализовать решение лучше.

Я знаю, что мой формат лучше XML. Он заточен под мою задачу, не избыточен в её контексте и тд.

Поэтому я не буду юзать XML. Во многом, такая логика отрицательно сказывается на моей производительности. Раньше я тратил на проект гораздо меньше чем трачу сейчас. Именно по этой причине заглохла разработка сайта Fire-Lines. Вместо юзания готовых решений а-ля PEAR я всё раелизовывал самостоятельно. И накручивал всё новые и новые фичи движка, получим практически новую среду.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 27.08.2007 (Пн) 20:16

Хакер писал(а):У меня есть своя планка. Я не буду использовать чужое решение, если могу написать аналогичное своё. Я не буду использовать решение (хоть своё, хоть чужое), если в принципе могу реализовать решение лучше.

... Во многом, такая логика отрицательно сказывается на моей производительности. Раньше я тратил на проект гораздо меньше чем трачу сейчас. Именно по этой причине заглохла разработка сайта Fire-Lines...

Хакер, а тебе не кажется, что такая логика порочна для программиста, который хочет заработать денег? Ведь получается ты программируешь исключительно ради любви к искусству (что само по себе, конечно, не плохо, но кушать тоже хочется :) ).

В то время, как ты мог закончить два-три небольших проекта, используя готовые "запчасти" тратится масса усилий на собственноручную реализацию всего. Заказчик ждет, нервничает, подгоняет... Разве это здорово?

P.S. Сам я писал под заказ проекты всего пару раз, но и этого хватило, чтобы понять -- клиент ждать не любит.

P.P.S. Наберите в google.com.ua "программа для автомагазина", первая ссылка -- мое творение: http://www.wezom.com.ua/po/po_autocity.php
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 27.08.2007 (Пн) 20:29

Хакер, а тебе не кажется, что такая логика порочна для программиста, который хочет заработать денег?

Возможно, доля правды в этом есть. Но во-первых, при всех аргументах в пользу юзания "готовых кирпичей" я не перешагну через свои принципы. Я знаю - это ведёт к деградации. А во-вторых, в том положении, в котором я нахожусь сейчас, я абсолютно уверен, что никаких крупных заказов мне не поступит. (А почему, собственно, они должны мне поступать? Кто я такой?). Для реализации той мелочи, которая сейчас сваливается на меня от всяких студентов-недоучек, кулхацкеров, которые "не могут", мне вообще не потребуется никаких XML-лов и SQL-ов. Всё легко и просто. Сложные решения теперь встречаются только в моих собственных проектах. В своих собественных проектах я юзать то, что по моему мнению суть дрянь, я не буду. И меня тут никто не подгоняет, кроме чувства собственного достоинства... И действительно, за последние полгода я практически ничего не родил.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 27.08.2007 (Пн) 20:40

Хакер похож на того энтузиаста, который на сэкономленный со скудной зарплаты гроши, из подручных средств и на голом энтузиазме пол-жизни делает самолет, чтобы улететь на нем отсюда нафик в светлое далеко. Попытка уговорить его купить билет на регулярный рейс туда может закончиться тяжкими телесными.
Лучший способ понять что-то самому — объяснить это другому.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 27.08.2007 (Пн) 20:44

Хакер писал(а):Почему в пример ставишь ОС. ОС - чрезвычайно сложная и много-сторонняя вещь.

Угу, MSXML тоже чрезвычайно сложная и многосторонняя вещь. (Один XPath чего стоит.)
И, как и Винда, это вещь заведомо избыточная для какой-то одной конкретной задачи, и крайне универсальная за счёт своей избыточности.
Отсюда я и привёл своё сравнение.

Почему тебе не противно использовать неэффективную-для-конкретной-задачи, избыточную и универсальную Винду, но противно использовать неэффективный-для-конкретной-задачи, избыточный и универсальный MSXML?
Изображение

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 27.08.2007 (Пн) 20:46

Хакер писал(а): А во-вторых, в том положении, в котором я нахожусь сейчас, я абсолютно уверен, что никаких крупных заказов мне не поступит. (А почему, собственно, они должны мне поступать? Кто я такой?).

Я бы не был так уверен. Удача подкрадывается незаметно и нападает в самый неожиданный момент :)

У нас тоже город не очень большой, а тем не менее откуда-то берутся заказчики. Я, правда, этим ремеслом не занимаюсь. А вот друг у меня занимается WEB-программированием и всем что с этим связано (раскрутка и т.п.). Так ведь толпами бегут к нему сайты делать! Есть у него правда коммерческая жилка, которой у меня никогда не было. Но этому, к сожалению, научиться нельзя.

Но это уже оффтоп, сори.
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 27.08.2007 (Пн) 20:46

Antonariy
В самую точку!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 27.08.2007 (Пн) 20:51

tyomitch
MSXML - ничтожен по сравнению с виндой.
Винда меня полностью устраивает, в отличие от MSXML.
Винда на уровень выше MSXML-а.

Antonariy
FaKk2
Для вас главное деньги. Для меня - качество. Которое никто не оценит и не увдит, но всё же качество.

У вас повернётся назвать программу своей, если в ней 40 процентов кода чужого? У меня нет.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 27.08.2007 (Пн) 20:56

Хакер, скажу тебе по секрету (и шопотом):
в моей программе, на которую я дал ссылку, чужого кода больше 50% (считаю код чужих юзерконтролов) и я от этого ничуть не страдаю.
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 27.08.2007 (Пн) 21:06

Хакер
Так как же ты можешь считать программу своей если она работает в "чужой" операционной системе с "чужим" железом. Далее, ты живешь в квартире построенной не тобой, ты питаешься продуктами выращенными чужими людьми, ты одеваешься в одежду пошитой в далеком китае. Все мы так живем. Это называется общество, цивилизация, все для всех.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 27.08.2007 (Пн) 21:11

Я ожидал этого вопроса. Именно этого.
Хакер
Так как же ты можешь считать программу своей если она работает в "чужой" операционной системе с "чужим" железом.

Элементарно. Операционная система - не часть (логическая часть) моей программы. На авторство ОС я не претендую. Зависимости от ОС я не боюсь. ОС будет везде, где будет моя программа.
Все без исключения программы юзают ОС. Но далеко не все юзают XML. Я не могу обойтись без ОС. Но могу обойтись без XML (сэкономив время и место).

Аналогично, я не горжусь фактом того, что я построил дом.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 27.08.2007 (Пн) 21:22

Ладно, преклонимся перед величием Винды и перейдём к обсуждению менее возвышенного.
Вот взять стандартный едитбокс.
Он же возмутительно универсальный и избыточный! Поддерживает двунаправленный текст, зараза! Не иначе, ЕРЖ подкупили MS.
Во имя идеальной эффективности, надо написать свой едитбокс для текста строго слева направо, и юзать его.
Изображение

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 27.08.2007 (Пн) 21:23

Хакер
Отнюдь. Твоя программа работает не в сферическом вакууме. Она взаимодействует с системой, а значит работает код не написанный тобой.

Ты можешь обойтись без XML ровно до того момента как тебе потребуется, например, экспортировать что либо в XML.

След.

Вернуться в Holy Wars@VBStreets

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12

    TopList  
cron