From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <8922522dbf9aa0223965fe5841e45832@davidashen.net> To: 9fans@cse.psu.edu Subject: Re: [9fans] UN to fund linux for the 3rd world Date: Fri, 3 Sep 2004 23:22:21 +0500 From: dvd@davidashen.net In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Topicbox-Message-UUID: ddd441cc-eacd-11e9-9e20-41e7f4b1d025 > On Fri, 3 Sep 2004, Jack Johnson wrote: >=20 >> Someone here suggested a good alternative to XML a while back, but I >> can't find it in the archives. Could someone point me in the right >> direction? >=20 > S-expressions. We've had quite a few people write to us and pick up Mat= t's=20 > s-expression library, in many cases replacing messy XML with simple=20 > s-expressions. You are saying it with confidence of someone who has just invented new elegant notation =E2=80=94 s-expressions =E2=80=94 to replace messy XML. = The use of=20 s-expressions for configuration and serialization was one of the major causes of failure of Lisp as a mainstream engineering tool. XML is ugly, messy, inelegant and a clear demonstration of bad taste of its creators. Being such a bloody mess, it manifestly solves a number of problems which were unsolved for the long time before wide adoption of XML-based techniques. One has now powerful and uniform tools to operate on the tree model =E2=80=94 much more powerful than Lisp offers for lists =E2=80=94 and completely automated serialization and par= sing for data and text markup. XML is bad, but it is better than anything used for the same purpose before it. Or instead of it. When every configuration file in a system has its own configuration synta= x, and the syntax is not specified anywhere but in the source code, and slig= ht changes to the source code invalidate the syntax in marginal cases, and t= ypos and bugs in the configurations are not reported in any way but by mystica= lly unexpected behavour of a program which used to work just yersterday and only a slight change has been made to the string tokenizer =E2=80=94 and = it is how things happen, unfortunately, in the dream OS of most subscribers of this list =E2=80=94 then the bloody mess of XML wins. David Tolpin