Constants allow variables, variables force constants
A point I've made many times in many contexts. In its most general form:
Infrastructure is meant to be STATIC. Roads and bridges and sewer systems and rules of morality and rules of discussion and written laws and computer operating systems are all supposed to HOLD STILL so you can USE THEM to get things done. Navigating a fast-changing set of social or moral rules is like driving on
Galloping Gertie. There may be a line down the middle where you can slowly crawl across to your destination, but the risk is so obvious that a sane human just doesn't bother. Your best bet for survival is to stay where you are. Shelter in place until the shaking reaches you and kills you.
My point began with a
1978 realization that a classroom conducted with old-fashioned decorum was MORE OPEN to discussion of new ideas. Classrooms conducted by Alinskyan 'anything goes' behavior were dominated by bullies and tyrants who enforced orthodox doctrine.
Constants allow variables, variables force constants.
I considered the same point in the realm of culture and religion
here.
Reprinting a
technical version of the principle:
= = = = =START REPRINT:
When building an EXE for use in Windows, you can count on a consistent set of API rules. The native Win functions are well defined, and the workings of C++ are well defined. Provided you understand both of these rule sets and use them correctly, you can predict what will happen when you write something like
MoveToEx(this->hdc,NewPt.x,NewPt.y,NULL);
When you put all those pieces together into a self-contained EXE, you know it will run on the Win versions that were specified in the rules. If there are problems, you can be 99% sure the problems are your own fault, even though you'll always waste time by blaming Windows first.
In the new world of HTML5 and CSS and SVG and JS, none of those certainties exist. All of those standards are only partly standardized and constantly changing, and you can't count on a package running on all common platforms. If it runs today, a version change by Firefox or Chrome may blow it up tomorrow.
In other words, 'platform-independent' really means 'excruciatingly platform-dependent.'
The platform-makers obviously love this, because they have finally reclaimed the power they lost when Windows owned the universe.
= = = = =
Comes down to this pair:
When the rules are stable, ordinary people can function.
When the rules are changing all the time, only the rulemakers can function.
= = = = =END REPRINT.
Now a slightly fresh angle, which was contained in the last paragraph but not stated.
I was looking again at my courseware product in its old EXE form and in its new JS form. The old form was packed with ORIGINAL graphics and ORIGINAL ways of presenting material and asking questions. The new form looks just like any other Imperial web page, with rounded buttons telling User to SUBMIT. Why? Because I was required to use the 'Twitter Bootstrap' pre-written code as the base of the presentation. And why did I have to use 'Twitter Bootstrap'? Because it's AUTHORITATIVELY VARIABLE. It's not contained in my code. It's strictly owned and controlled by the MASTERS OF VARIATION.
POINT: You can't have your own tools.
You must borrow the tools provided by the Master, because only the Master knows which tools will work at this millisecond on the systems run by the Master. When the Empire DDOS's Twitter to prevent Assange from insulting the Empress, everything that actively uses Twitter resources, even indirectly or unintentionally, also goes down.
Labels: Constants and Variables, skill-estate