Programming is Not a Stealth Fighter
Why dynamic languages for me...
a response to Greg Buchholz at:
http://kerneltrap.org/node/5591
A stealth fighter is an engineering problem and solvable with tools for the engineering mind.
Here are more dynamic scenarios for a stealth fighter.
What if there is a flaw found in the controls while in flight (a light bulb? simple but critical)? Could one fix it in flight?
What if a new enemy strategy is discovered while in mid flight that can only be recognized by satellite, reacted to, and piloted by the speed of a computer. Can the stealth fighter be reconfigured in flight to avoid certain destruction by the new enemy strategy, if the adjustment to the new remote-controlled-maneuver passes all onboard unit test?
What if the enemy implements “ground bounce radar” in mid flight so that all the fields and methods labeled “hidden” or “now in stealth” need to be relabeled as “formerly hidden” and “formerly in stealth” while in flight?
Can you add a yet another set of controls and a another pilot while in flight if the first one or two are determined to only have a limited set of skills after a sudden change in scenario?
Are unit tests for all systems deployed with the stealth fighter?
Today’s stealth fighters probably assume almost all parameters are known in advanced.
Business systems need to react faster and morph more completely than stealth fighters in the business battle arena because there are more factors (other entire markets, long term natural resource variances, short term weather, human employee health, new sci/tech discoveries, new laws, new disruptive innovation, etc.) and more people looking for more advantages and weaknesses non-stop 24x7.
Perhaps programming during an entire war, from beginning to all possible ends, with thousands of people at a thousand different controls, might be a better analogy. This day in age, we probably need to keep reevaluating fundamental assumptions every day.
Compared to society’s skill and knowledge of physics and engineering, our knowledge, tools, and skills of human nature, morality, psychology, changing market patterns, and politics, and our predictive ability in those areas, are still back in the Middle Ages.
We need tools that can quickly represent, reflect, and leverage our rapidly accelerating increase of knowledge and rapidly accelerating changing vocabulary in all these areas.
Are you able to write programs in non-roman alphabet based languages as the world keeps shrinking and flattening? Do your compilers understand non-ascii files? Are you willing to change your compilers to do so? There are just too many assumptions in the compiler. Speakers of other languages consider current int'l character standards too roman language biased already. Will an accent mark in a variable name kill your program?
Can you even write comments in your code in Taiwanese, So. Korean, or friendly Arabic? If they pick dynamic languages that can, and you don’t, they’ll be able to read your code but you won’t be able to read theirs… a competitive advantage.
"Long live Rome (ASCII) & the Emperor" … but barbarians are at the gate.
0 Comments:
Post a Comment
<< Home