"You can’t get there from here, but you can get here from there"
Geoff Cohen led a brainstorming session called "You can’t get there from here, but you can get here from there." The idea is to pretend that the goals of the Feyerabend project have been achieved and to look around at what’s different and to look back at what the turning point was. There were two questions:
- Now that the Feyerabend Project has succeeded, what’s a way the world is different now?
- What was a key thing that happened that made the difference for its success?
Results of the Exercise
This exercise was good for breaking the ice - it was easy to come up with things without a lot of thinking or commitment, but the results were not as deep as we had hoped. The exercise had the advantage of generating a lot of written material. The results of this brainstorming session broke down into three categories:
Political Acts and Propaganda:
- That the Feyerabend Project members picked a good, humane, forward-thinking project was a big step
- A code of ethical behavior was established that enabled a programmer to say "no" without getting fired, much as an accountant can refuse to use improper accounting techniques even when ordered to by a CEO.
- It was important that companies abandoned "next-quarter" thinking.
- The people creating the future of computing will be of all genders, races, walks of life, wealth, religions, beliefs, and nationalities, and encompass all human activities.
- Tracy Kidder wrote a book about his experiences at Feyerabend.
- Every school, office, computer, etc, has a copy of the n commandments for software: No hierarchical control, no centralization, absolute autonomy,....
- We have a "Bill of Rights" for software instead of "Ten Commandments."
- CS students no longer take CS courses. All they do is take electives, do hobbyist programming, and attend informal seminars.
- Tenth graders now complain about IF and WHILE and tail recursion rather than SIN and COS and difference of squares.
- There is general acceptance of "informatics" as a discipline.
Programming and Programming Languages
- Killing determinism in programming allowed computation to be more robust
- There are no longer any programming language cults.
- Programming languages were developed in which the user can specify and modify requirements, architectural assets, etc, and which are context-, domain-, and perspective-dependent.
- Killing strong typing made programming easier.
- No one programs computers but everyone can customize and personalize their tools
- Programming was recognized as a social science.
- Computers vanished from sight and devices all just work.
- All interfaces into a computer have to explain what traffic passed and why it was allowed.
- No one ever downloads or installs software.