Source Style As User Interface
Last updated at 11:55 am UTC on 11 November 2006
This page is about Literate Squeaking.
I got this idea after perusing the Self Morphic tutorial. What attracted my attention was that the chapter on errors had an amazing contrast in it.
The interface itself is beautiful, the ideas innovative, making syntax errors fly away. Maybe the only thing that's alien to even a newcomer, is the source code displayed.
Made me think, that Smalltalk systems are different from most in that they expect many people to look at their source code. Especially in an environment like Squeak, where anything added to the system is expected to be open to everyone.
Source comments, formatting and style in general are very much present in the system. They leak even to a hypothetical "mere" user of the system in those errors that choose to summon a debugger, and other ways. Any user wiith some programming savvy who encounters odd behavior will try to look at the source that caused it.
So source style is important in Squeak.
How would you change the common style from the way it is now?
What other things affect Squeak developers more than others?
Here is one: The debugger itself. The set of features the debuggers and source panes support determines how the users and system communicate. Consider the effect on a new user of a number of features combined:
Bubble help using "explain" on anything you linger upon. Using runtime type information collection as hints to the explain, enabling one have "explain" on a variable give you the likely type for the variable.
"Using the type hints, bubble help can display actual code likely to be called from any method send." Links to relevant documentation in every method, on many levels: the class, the module, the activities the user is likely to be attempting when using this code.
Likely, none of these are original, but imagine for a minute what deciphering code would feel like if you had the combined power of these tools easily and quickly at hand.
After all, after breaking through copyright, price, and source code hiding, the main barrier Squeak presents to potential improvers IS deciphering extant code.