История изменений
Исправление
stevejobs,
(текущая версия)
:
1. XML даёт оверхед по размеру документа за счёт наличия закрывающего тега;
все как раз наоборот - закрывающий тэг позволяет парсеру верить, что он ТОЧНО будет. Никакого оверхеда на проверки, бэктреки, запоминания структуры итп
2. Неоднозначность в оформлении - куда мне пихать параметр b объекта a, в child или в attribute.
информация кладется в чайлдов, метаинформация - в аттрибуты. Ты же в джаве и шарпах не задумываешься, делать данные в виде поля или в виде аннотации? Тут то же самое. Аттрибуты - это аннотация.
где надо бегать и искать позицию ключа
так в любом формате надо бегать, если парсер потоковый? На то он и поток, что читает с линейной сложностью. Не?
При этом человекочитаемость у XML сильно хуже чем у JSON (из-за того самого оверхеда в тегах).
если JSON из трех строчек а если из трех тысяч строчек - то всё наоборот :)
важно, что подсветку тэгов, фолдинг блоков, переход по ссылкам по ctrl+клик и так далее - всем этим занимается IDE
у меня просто километры кода, написанного на XML (всякий спринг и так далее), и рядом есть всякое говно того же толка написанное рубистами. Так вот, когда код на YAML на руби превышает несколько страниц, мне плохеет серьезно. Исключение, наверное, Ansible - но это потому что админы не умеют пистаь на местном ямле сложный код
Исходная версия
stevejobs,
:
1. XML даёт оверхед по размеру документа за счёт наличия закрывающего тега;
все как раз наоборот - закрывающий тэг позволяет парсеру верить, что он ТОЧНО будет. Никакого оверхеда на проверки, бэктреки, бэктреков, запоминания структуры итп
2. Неоднозначность в оформлении - куда мне пихать параметр b объекта a, в child или в attribute.
информация кладется в чайлдов, метаинформация - в аттрибуты. Ты же в джаве и шарпах не задумываешься, делать данные в виде поля или в виде аннотации? Тут то же самое. Аттрибуты - это аннотация.
где надо бегать и искать позицию ключа
так в любом формате надо бегать, если парсер потоковый? На то он и поток, что читает с линейной сложностью. Не?
При этом человекочитаемость у XML сильно хуже чем у JSON (из-за того самого оверхеда в тегах).
если JSON из трех строчек а если из трех тысяч строчек - то всё наоборот :)
важно, что подсветку тэгов, фолдинг блоков, переход по ссылкам по ctrl+клик и так далее - всем этим занимается IDE
у меня просто километры кода, написанного на XML (всякий спринг и так далее), и рядом есть всякое говно того же толка написанное рубистами. Так вот, когда код на YAML на руби превышает несколько страниц, мне плохеет серьезно. Исключение, наверное, Ansible - но это потому что админы не умеют пистаь на местном ямле сложный код