Rick, awesome post! Things I learned: [Definition] gnosis: knowledge of spiritual mysteries. Lesson learned [for me]: keep ideas concrete, don’t look for supernatural explanations. Wicked interesting: Dumb idea: "Standards are good, therefore where a standard exists you should adopt it."
The professional knows: Postel's law "be conservative in what you do, be liberal in what you accept from others" Dumb idea: "If I adopt framework/architecture/COTS-solution X, everything will be easier".
The professional knows: chances are there will be both pluses and minuses for any framework/architecture/COTS-solution A good XML professional has a collection of generic software-engineering adages and saws that they can apply to any situation, and that they understand them enough to contest dumb ideas when raised
inappropriately. Which means understanding at least: Postel's Law:
"be conservative in what you do, be liberal in what you accept from others" Brook's No Silver Bullet:
"there is no single development, in either technology or management technique, which by itself promises even one order
of magnitude improvement within a decade in productivity, in reliability, in simplicity" Brook's Mythical Man Month: "adding
manpower to a software project that is behind schedule delays it even longer" Conway's Law: "organizations, who design systems, are constrained to produce designs which are copies of the communication structures
of these organizations" Meyer's Programming by Contract: "software
designers should define formal, precise and
verifiable interface specifications for software components" A good XML professional is able to see through fake rules: Law of Demeter: "principle of least knowledge is a design guideline for developing software" From: Rick Jelliffe <rjelliffe@allette.com.au> I don't think so. XML is quite easy, if you avoid doing dumb things. It is knowing what the dumb things are, the likely gotchas in several different situatations, that may make you a good professional, not any abstract or arcane
gnosis. After all, XML is just (applied to runs of text) the same kind of abstraction that every other aspect of computing gets: DBMS, programming languages, protocols: allowing things to be known and named, and their concrete representation/functionality/sequence/dynamic-behaviour
etc to be subsumed or keyed by that name. (XML's only wrinkle is that those concrete concerns are frequently guessed at during the design stage, and not known.)
For example, here is one dumb idea: "Standards are good, therefore where a standard exists you should adopt it." But the professional knows Postel's law
"be conservative in what you do, be liberal in what you accept from others"
and will consider what profile of a standard is appropriate, and whether, once you have a fair idea of what the profile is, whether in fact there is any value in nominally adopting the
kitchen-sink standard S (and whether just being S-friendly or S-ish might be better and more direct.) The professional also knows there is
more than one way to skin the cat. Here is another dumb idea: "If I adopt framework/architecture/COTS-solution X, everything will be easier". But the professional knows that chances are there will be both pluses and minuses
for any framework/architecture/COTS-solution: some things will be easier but other things may be harder: and when it turns out some things are harder, it is not the framework/architecture/COTS-solution that will get the blame, it is the stubborn part that
does not fit. The professional knows that there may be swings and roundabouts, and
no silver bullet, and that there is a tendency to throw the baby out with the bathwater. Indeed, perhaps what makes a good XML professional is that they have a good-enough collection of generic software-engineering adages and saws that they can apply to any situation, and that they
understand them enough to contest such sayings when raised inappropriately. Which means understanding at least Postel's Law, Brook's Silver Bullet, Brook's Mythical Man Month, Conway's Law, Meyer's Programming by Contract (and their evolutions, and all the
other good stuff afterwards) enough that they unconsciously get raised as appropriate in practice. (And they need to be able to see through fake rules, such as the Law of Demeter.) Cheers Rick On Sun, Nov 20, 2022 at 7:14 AM Roger L Costello <costello@mitre.org> wrote:
|