From: Rich M. <rd...@cf...> - 2003-11-10 02:32:23
|
These days, my programming consists basically of building up graphs of data representations, then specifying selections and transformations: * I look over the available information, determining its availability, current format, and (dynamic) nature. I might be looking at writing a daemon to collect the data, making an HTTP request and scraping a screen, or (merely) wandering around through an XML dump. * I select a suitable data structure and representation method in which to store it. If the data is for my own use, I tend to use YAML (easy to read/edit, very flexible, etc.) OTOH, if "buzzword compliance" is an issue, I might use XML. * I then determine the desired nature and format of the output. I'm currently creating web pages, supplemented by Graphviz-generated plots (with image maps). In other circumstances, I might be using generated PDFs, Tk- or Cocoa-based "windows", etc. * Based on the above, I create some number of intermediate formats that seem to be on a reasonable path from what I have in hand to what I need to produce. * When I have figured out a set of selections and transformations that can fill in the links on the path, I am nearly done. I code up filters and/or employ existing tools to perform the operations. This allows me to leverage the benefits of data description languages (e.g., YAML), special-purpose applications (e.g., Graphviz), and high- powered programming languages (e.g., Perl), producing results quickly and reliably. I'm wondering, however, whether I'm missing out on any general tools that I should consider adding to my repertoire. For example, I have looked at XSLT, and think that it might be an interesting tool for simple transformations and selections, but its basic design (context- sensitive macro processor, on steroids) seems a bit awkward to me. I also wonder if something like SQL might be useful for some kinds of selection operations, but SQL itself is rather limited by the fact that it can only deal with tables (and I'm using graph structures). Still, if there were a language for doing SQLish things to graphs, I'd be happy to hear a bout it. Clues? Suggestions? -r -- email: rd...@cf...; phone: +1 650-873-7841 http://www.cfcl.com - Canta Forda Computer Laboratory http://www.cfcl.com/Meta - The FreeBSD Browser, Meta Project, etc. http://www.ptf.com/dossier - Prime Time Freeware's DOSSIER series |