When is computer programming easy?

(written by lawrence krubner, however indented passages are often quotes). You can contact lawrence at: lawrence@krubner.com


While it is often thought that “real” programmers like real programming environments (my husband, for instance, is perfectly happy in MF Assembler, which is pretty grim), most programmers seem to become pretty happy moving up to graphical user interfaces and visual environments where they choose from a list of “correct” choices. I don’t think it is only users that can be more productive when they are better supported.

I believe there is a direct relationship between the ease of use of a product or environment and the number of users it attracts. I also think that how deeply the users take advantage of the environment’s capabilities is also a function of how they are offered. Users don’t like to play hide and seek.

-Amy Wohl, 15 August 2002


From all this you can see that the way a system requires an author to enter instructions into the computer affects the likelihood of acceptance by regular people. The more constrained the instructions the better. The more the instructions are clearly tied to various results the better. The more obvious and quickly the results may be examined the better.

Programming languages like Assembler, FORTRAN, C, and Java are least likely to be well accepted by the masses. Their syntaxes are very unforgiving.

Statement languages like HTML which are very forgiving of errors and with quick and obvious results are more likely to be accepted.

Integrated development environments, like Visual Basic and the old Turbo Pascal, with quick syntax checking, integrated debugging, and rapid movement to execution, are better than the old way for such languages.

Something like a spreadsheet, with very tight syntax checking, usually obvious connection between results and the statements that caused them, and easy display of intermediate results, are even better.

Use of dialog boxes for instructing a computer is generally more likely to be accepted than a “language”. By additionally integrating a quick one-click-away display of the results with a connection back to the dialogs, this type of system has proven to be well accepted by regular non-programmers.

Direct manipulation, if the results being displayed are related well enough to the results for which you are programming, is even more likely to lead to acceptance.

- Dan Bricklin, 15 August 2002