The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Первый выпуск labwc, композитного сервера для Wayland"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Первый выпуск labwc, композитного сервера для Wayland" +/
Сообщение от Ordu (ok), 09-Мрт-21, 09:10 
> Вкусовщина чистой воды, имхо. Для хранния произвольных данных ничто не лучше, всё
> имеет свои сферы применения.

Угу. Для XML такой сферой является разметка текста. Не конфига.

>А с XML удобно работать с помощью XQuery.

На самом деле не удобно. XML и библиотеки к нему мне всегда напоминали Java тем насколько там всё погрязло в оверинжиниринге. Я хочу взять и сделать что-то типа:

Config cfg = read_cfg("~/.my-config");
Theme theme = cfg.get("app").get("theme").or(DEFAULT_THEME);

Что-то типа, не обязательно именно так. Можно скажем так:

Theme theme = cfg.get("app/theme").or(DEFAULT_THEME).

Или

theme_t theme = json_get(cfg, "app.theme") || DEFAULT_THEME;

Или даже

(defparameter *theme* +default-theme+)
(unwind-protect
    (eval (read "~/.my-config"))
  (msg "There is an error in your config, so if you see something weird, try to fix it in the config"))

Как нибудь так, без всей вот этой хрени, с именами функций по 50 символов, которые принимают не меньше пяти аргументов, половина которых задаёт режим работы функции, от чего начинаешь задаваться вопросом: нахрена было 50 символов в имя пихать, чтобы потом уточнять ещё режим работы функции аргументами? И при этом, одной функции всегда будет мало, надо будет сделать по три вызова на каждый запрос. Ах да, ещё и парсинг xml радостно и необратимо обломается, при малейшей ошибке или несоответствии dtd.

XQuery крайне неудобен без обёртки над ним. Это корпоративная хрень для разработки корпоративных аппликух на Java, которые радуют глаз эффективного менагера. Даже в javascript никто не использует XQuery, предпочитая всякие обёртки над ним, css-селекторы и проч.

Это с точки зрения API. С точки зрения пользователя xml-конфига всё не сильно лучше: объём полезной информации в конфиге минимален, потому что по большей части там сплошные угловые скобки, слеши, многократные повторы имён тегов... То есть захламлено всё так, что дальше некуда. Это мутное разделение на атрибуты и контент тега -- зачем делать и так и эдак? Никто до конца не понимает, потому у каждого своё понимание, что пихать в атрибут, что в контент: атрибут вроде удобнее, он меньше писанины требует, но нет ведь у всех какие-то глубинные идеи, типа one-to-one отношение, или one-to-many, и "может быть когда-нибудь понадобится one-to-many, поэтому давайте пользователи прямо сейчас начнут страдать от ещё одного вложенного тега в конфиге вместо няшного атрибута, а если one-to-many не понадобится никогда и страдания будут бесцельными, то нам покакать на них".

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Первый выпуск labwc, композитного сервера для Wayland, opennews, 07-Мрт-21, 09:18  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру