<< Chapter 11: Plan to Throw One Away
Programmers shouldn’t keep their tools a secret. The first major problem to a software projects is communication, and personalized tools hamper communication. Also, the tool lifetime is short due to changes in technology and changes in the language.
It is better to have a common development and maintenance of general-purpose programming tools.
Target Machines
A target machine is the machine used to write the software
A vehicle machine provides the services used in building the system
Note: it goes on to talk about choosing target machines and vehicle machines, test machines, etc. The information is a bit dated and very specific, so I’m just gonna skip over it. Feel free to read about it if you’re interested in what he says. I found it quite boring.
High Level Language & Interactive Programming
The two most important tools available to programmers are:
- High Level Languages
- Interactive programming
Only inertia and sloth prevent the adopters of these new tools
High Level Language
High level languages offer two key benefits: increased productivity and speed.
These improvements come from the fact that there are fewer bugs, and they are easier to find. There are fewer bugs because a lot of the operations where people would make errors have been abstracted away (for example, in assembler you’d have to allocate a whole bunch of registers, in C you’d do a single malloc and you’ll be OK). Improvements in compiler diagnostics also make bugs (at least, syntactical ones) easier to find.
There are three objections that people usually make against high level languages:
- Doesn’t let me do what I want
- Object code is too big
- Object code is too slow
With respect to 1, kinda iffy, but for the most part its true. With respect to 2 and 3, these objections were made in the days of assembler vs C, and that argument is still being made in C vs every other language. The size and the speed will naturally decrease as compilers and interpreters get better.
Interactive Programming
Interactive programming offers many levels of sharing and protection for data and programs, extensive library management, and facilities for cooperative work among terminal users.
You have to remember, this book was written over 20 years ago, so interactive vs batch was a huge deal. The benefits of interactive programming is obvious to us now.
2 Trackbacks
[...] Pi/Pi …but that's just one! Skip to content ProjectsCSC309 A3 – kääntää TranslationsCSC309 A1: kääntää TranslationsJump StacksGrksm To UnicodePhotosynth of BahenCSC302 Winter ‘09CSC301 Fall ‘08Project ArgoboxAbout MeContact Me « TMMM – Sharp Tools [...]
[...] Pi/Pi …but that's just one! Skip to content ProjectsCSC309 A3 – kääntää TranslationsCSC309 A1: kääntää TranslationsJump StacksGrksm To UnicodePhotosynth of BahenCSC302 Winter ‘09CSC301 Fall ‘08Project ArgoboxAbout MeContact Me « TMMM – Documentary Hypothesis TMMM – Sharp Tools » [...]