From mboxrd@z Thu Jan 1 00:00:00 1970 From: ron minnich To: 9fans <9fans@cse.psu.edu> Subject: Re: [9fans] don't shoot me In-Reply-To: <20030718191559.28581.qmail@g.bio.cse.psu.edu> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Date: Fri, 18 Jul 2003 13:34:21 -0600 Topicbox-Message-UUID: fbab7000-eacb-11e9-9e20-41e7f4b1d025 On Fri, 18 Jul 2003, Scott Schwartz wrote: > | I like XML as an information exchange language for diverse platforms. > | Being as vast as it is, it no doubt will be abused more often than > | properly employed. But I am not aware of any preferable alternative > | (ASN.1?). > > S-expressions. > yep. see: http://www.acl.lanl.gov/supermon/ for our monitoring tools that are all SEXP based, and have a self-describing data format. The data streams are composable, since they are S-expressions, so combining data from 1024 streams to one stream is pretty easy. They include a kernel monitor that produces Linux /proc type information in S-expression format, with the difference that our module accomodates lots more data and lots more information than Linux provides normally. For a small, fast, embeddable library that we wrote here see:http://sexpr.sourceforge.net/. This has found non-Supermon uses all over the place, including in a telescope somewhere. There is also a "Why not XML" section on that page. In the limit, and I know this sounds nuts, I kind of wish everything in /proc (and /dev/*/whatever) produced SEXP. While Plan 9 is nowhere near as inconsistent as Linux in the /proc area, the structure is still pretty inconsistent. Some things are lists, others are ordered pairs, and others are tables. If it were all SEXP it could be self-describing and uniformly parseable with the small, fast library. But maybe I am nuts. ron p.s. Betcha this mail gets filtered due to the SEXP content. But that's what they're called by old-time lisp dudes. p.p.s. OH well, I'll quote Matt: "Why not XML? The goal of any project should be to solve a problem in an elegant, well designed manner. Buzzword compliance rarely achieves this, other than allowing a lowly programmer or software engineer to appease higher-ups who read that "XML is the latest great thing!" XML suffers from certain flaws that make it worthless in an environment where speed and efficiency (memory and time complexity) are key requirements. Compare the performance, footprint, and developer complexity of Xerces and this s-expression library, and you'll see that for hierarchical data representation, one is significantly simpler than the other without losing the ability to do its job (represent data!). After working with XML for a while (~3-4 years) on multiple projects, I find that since starting to use s-expressions again as a data format has allowed me to spend less time debugging my data representation code and more time on problems that matter. XML sucks, enough said."