[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: How to design XML to have broad utility and yet alsoenable
Knuth was wrong about avoiding premature optimization. Because there is now a generation of coders who take him to mean that you should initially ignore performance or implementation heuristics or real-time aspects and concentrate on correctness. The result is systems that fall over in certification or integration testing. In fact, team leaders need to be constantly vigilant that their developers dont suddenly stick in code of such inefficiency that it compromises the project: in Xml systems, the one i see most is where the developer cannot figure out how the stream api works, so they save the document out to the file system (potentially getting encoding wrong then) because thst is easier. This is nothing to do with correctness: they are choosing an inefficient and error-prone method over one that may be less obvious but safer and nonwrecking. The coder thinks they are avoiding premature optimization, but they are just being lazy. Indeed, many projects run late: the time where optimisation should have been done never occurs. Of course, I dont actually disagree with Knuth (who is not infallible: markup is not a fad, but who is great), but most systems have realtime constraints and you should start a design and implementation with a feasible solution, not an infeasible one. When you need a sort, for example, you dont start with using a linear sort just because it is the simplest and anything else would be premature and you will do testing later: no, if you judge it to be significant you start off with the most feasible sort which is low-hanging fruit in the libraries available. Some performance characteristics are so well known to experienced devdlopers that they dobt treat them as optimisations, imho. For example, mentally tracking the polynomial order of some algorithm, or knowing that if you have a 128m xml file for config values, you probably need to trim and cache it, not reload it. This is not optimisation, because the real system wont work otherwise. An optimisation is something that helps you exceed your quality constraints; a design is what helps you approach those constraints in the first place. What about optimising data models then? Are cardinality and order constraints a premature optimization sometimes? Cheers On 21/11/2013 2:33 AM, "Peter Hunsberger" <peter.hunsberger@gmail.com> wrote:
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |
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
|