Почему s-выражения не используются по сравнению с JSON и XML?

Почему s-выражения, популяризированные с помощью Lisp, не рассматриваются как опция относительно JSON и XML? Есть ли у них какой-то дефект, из-за которого выражение Lisp s никогда не ломается?

Ответ 1

Любой разумно простой, достаточно простой, разумно компактный синтаксис будет работать нормально. И у программистов есть привычка изобретать новые, чтобы "исправлять" вещи, которые им не нравились в более раннем синтаксисе, или просто сделать это очевидным с первого взгляда, который используется разметкой. В принципе, ответ Майкла Кей прав - это довольно произвольный выбор, а основной ответ - "потому что JSON и XML не прошли так".

Вероятно, есть некоторые фактические причины.

Например, XML был разработан, чтобы быть в основном совместимым с процессорами на основе SGML (например, HTML - на основе SGML), поскольку в то время его рассматривали как попытку создать более простой в работе - с подмножеством/подмножеством SGML. Это дало ему базовый синтаксис угла-скобки и атрибутов. Остальное эволюционировало от этой отправной точки. Это был правильный выбор на ранних этапах эволюции XML, поскольку он позволял людям использовать некоторые существующие инструменты SGML и использовать существующее сообщество пользователей SGML. Теперь... это то, что есть, и нет веских оснований для его изменения.

Я не могу ручаться за то, что вдохновило решения синтаксиса JSON, кроме того, что некоторые из них реагируют на воспринимаемые (и преувеличенные) недостатки XML.

Lisp В S-выражениях так много хулителей, как фанаты... среди тех, кто на самом деле их вообще помнит. Раньше была старая шутка, что LISP означала "Много раздражающих, глупых скобок". Их легко разобрать... но, в конце концов, не намного проще, чем альтернативы.