[Oberon] Re: selecting all text in a viewer -> PMD

Chris Glur easlab at absamail.co.za
Mon Sep 6 06:13:01 MEST 2010

> > Re. ETHO 'trap facility': this is astounding.
Chris Burrows wrote:
> I agree it is extremely useful but it is nothing new in the Wirth world.
> CDC6000 Pascal had this feature way back in the mid 1970's. 
> Then it was astounding.

Perhaps what is astounding is that the full OS with inet-apps
comes on a single diskette. Perhaps the 'trap facility' needed the
gadgets extension?

> > I doubt that the M$ & C-boys have any thing similar.
> They do but they are typically called 'post-mortem debuggers' (PMDs) rather
> than 'trap viewers'. Oberon microsystems have combined the concept very 
> well with the use of 'folded text' in the trap viewer used in Windows-based
> Blackbox Component Builder. 
Yes, the 'trap-viewer' IS a post+mortem+tracer which allows debugging.
I'd like to try Blackbox Component Builder; but I can't tolerate Windows.

> However, most Windows developers would scoff at the thought of using a
> system that *only* had a post-mortem debugging facility. They are accustomed
> to using Visual Studio for VB/C/C++/C# or RAD Studio for Delphi/C++ with
> their *interactive* source level debugging features. They give you all of
> that information and much more at *any* pre-determined occasion during a
> program execution based on breakpoints, watchpoints etc. - not just when a
> program crashes or fails an assertion. 
I'm strongly in favour of VISUAL tools, which are exstensivly used in ETHO;
i.e. where you recognise, rather than having to remember.
> Interactive debuggers are seductive but unproductive. Their focus is very
> narrow. I find they lead to trial and error hacking instead of planned,
> disciplined, programming. The worst sin is to jump into the debugger to
> diagnose a problem before narrowing down the scope. 

Yes, you've got a good appreciation of the human/psychological 
aspect of computing, which IMO is almost more important than the
technical aspects.  Re. separation of thinking and doing: in the old days
when few tools were available, I had the idea of delegating all the
coding & debugging to someone else, once the algorithm had been
expressed in pseudo-code, and I wanted to start a software
factory in India/SriLanka in the mid 80s.
Now I think the algorithm should be entered in a spread-sheet-like
way, independant of language.  There are only 3 args to an IfThenElse
construct.  Why bother with syntax irrelevancies ?!

> In the long run I find it quicker to program defensively and make judicial
> use of assertions to trigger a PMD when unanticipated situations occur.

I followed Eiffel with interest, and without having tested it [so much of 
importance is too subtle to be in the documentation] I'd advise beginners
to use it. 


== Chris Glur.

More information about the Oberon mailing list