|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Formalism and complexity - was Re: Another mutated variant ...
On Jan 2, 2004, at 7:08 PM, Rick Marshall wrote: > how can you build business rules if you don't understand algebra at > least and a fair competence at calculus, not to mention linear > programming? come to think of it, how can you use a spreadsheet for > more > than adding columns? > > how can you build a large multi processor, multi-location processing > system if you can't work with black boxes and predicate calculus. There's been an on-and-off thread about complex systems, emergence, etc. The lesson I get from it is that (at least arguably) you can't understand the higher order, long-term, multi-party implications of simple business rules even *with* predicate logic, linear programming, etc. It's hard to argue with the proposition that logic, set theory, and a deep understanding of RDBMS dogma (or OO dogma, for that matter) *should* help one build successful complex software systems. Unfortunately, I don't know of much evidence that it really *does* help. This is not to suggest that hackery is as good as competent engineering, but I will put forth the hypothesis that competent software engineering is more dependent on an understanding of the human factors of requirements gathering, project estimation and management, and especially testing ... and less so on formalisms such as predicate logic or the Rational Unified Process, etc. Again, this is a hypothesis not an assertion of Truth; if there is evidence against it, I'd be very pleased to hear about it. > > > couple of simple rules: if 90% effort goes into the user interface > chances are you won't recognise failure until it's way too late. if the > depth of a tree is more than 5, most people (programmers included) will > not manipulate it correctly - this applies as much to databases as > documents. I would tend to agree ... > > unfortunately xml will go the same way - it's not for end users, but > it's a great tool for trained professional programmers and analysts. > and > it's a great place for silver bullet promises and to make money from > those promises. > Yeah, but remember Al Snell's original point -- apparently even the professional programmers at the huge companies that build the dominant RDBMS systems apparently can't build query optimizers that actually work with a high degree of confidence, forcing end users to re-write the SQL to work around the limitations of the optimizer. (That was certainly true the last time I did serious RDBMS work about 10 years ago, I have no idea if it is still true ... but let's assume for the sake of argument that it is). Is this because the professional programmers are poorly trained? Because they don't use the formalisms of RDBMS theory properly? [Bzzzt -- AFAIK SQL has no *formal* relationship to RM theory and the current SQL standard never mentions the relational model, but I may have read too many of of the anti-SQL relational zealots' rants on the subject ;-) ] I doubt it --I suggest that SQL is too complex to be fully understood by humans WITH OR WITHOUT the assistance of set theory, predicate logic, RDBMS theory, etc. Obviously we can do better than we currently do, but this will take spec cleanups (which means POLITICS!), control of expectations, and lots of time, along with more rigorous engineering. I see only two ways forward, if we want more reliable software (especially in the XML world): - Simplify the specs to the point where formal methods and state-of-the-art software engineering can really and truly "work". - Just Deal With It by extensive testing, compilation and evaluation of best practices, and other rigorous, but informal methods. They're not mutually exclusive; the second would be greatly aided by simplification and formal rigor, and the first would be more feasible if there were a solid basis of codified experience with which to guide the refactoring / formalization.
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|
|||||||||

Cart








