From our experiments and from observing a generation of students, we had very definite ideas of what features our language should have:
- It should be easy to learn for the beginner.
- It should be a general-purpose language, allowing the writing of any program.
- Advanced features had to be added so that, if there was a price, it was paid by the expert, not the novice.
- It should take full advantage of the fact that the user could interact with the computer.
- It should give error messages that were clear and friendly to the user.
- It should give fast response for small programs.
- No understanding of the hardware should be necessary.
- It should shield the user from the operating system.