[Oberon] small joy

Douglas G. Danforth danforth at greenwoodfarm.com
Wed Oct 16 20:23:40 CEST 2002


pat at picoworks.com wrote:
> 
> Welcome aboard Yuri. People are here, they are just busy using Oberon.
> Oberon is an elegant yet simple system. Once the core concepts are
> grasped it's relatively easy to generate the tools one needs and thus
> I spend far less time asking questions and far more time productively
> programming.
> 
> Good luck.
> Pat

"far more time productively programming" is right.  I must tell you
a story of my recent experience.

I have been developing a general filter design package using
BlackBox under Windows.  Since my employer only uses unix I then
ported the code to OberonV4 (small changes in syntax, e.g.
remove the ",NEW" qualifier from methods).  I then used 
Josef Templ's Ofront to convert Oberon to C for both HP-UX and
Linux.  Worked just fine.  Then to remove the dependency on
libOberonV4.so I further hand modified the C code and replaced
all calls with their equivalent C library calls (not too many).
In the process I cleaned up some of the Ofront syntax by removing
the bounds checking on arrays since the macros were Ofront 
dependent.  My goal was to make the code readable and supportable
by someone who did not need to use any Oberon dependency.

In the process of doing all this I introduced an error (somewhere).
So how do you find errors in C/unix?  You use a debugger (dbx).
Unfortunately the nature of the bug trigger an error far away from
its source (calling "free" failed).  Hence it was suggested to me 
to use a software program called "Insure" that recompiles C code and 
augments it so that it checks a large variety of memory access errors.

Running the full application in this way increased the startup run
time from about 30 seconds to 2 1/2 hours!  

I was able to find the error which was a simple "<=" should have
been "<".

If I had run the Oberon code  with this error
I would have had a Trap on array bounds within 30 seconds, 
would have modified it and been back up and running within
a minute!

The time spent to learn Insure, plus compile, plus run it,
consumed several days.  And the people claim this is what real 
programming is about?

My frustration overwhelms me.  
The contrast between C and Oberon is so stark.

-Doug



More information about the Oberon mailing list