Someone technologically illiterate opens up a new computer, and the GUI pops up: a set of buttons for some of the most common tasks. But wait, there's more: under each button is a little link that pops up a text box which contain the one or series of commands the button executes. Opening a console window and typing those commands results in exactly the same behavior as pushing the button. Click further and you see how each of those commands are implemented, all runnable from an interpreter in the console.
The benefit comes when you want to do something not quite covered by one of the buttons. But you have "enough rope"; given how the current buttons work, you can learn about how they work, and then modify the behavior to make it do what you want it to do. The computer teaches you how it works, so you don't feel powerless when it doesn't do what you want it to do. You may have started technologically illiterate, but now you have incentive to learn (to make it do what you want it to), and the means to modify.
The philosophical problem is Bill Gates's fault, convincing people that closed source is acceptable. But considerable technical issues remain: better debuggers, interpreters, friendly environments to modify code, code written to be friendly to understand and modify.
OLPC does some of this.
A GUI, unless properly designed, impedes open source. Emacs find-function-on-key
No comments :
Post a Comment