[Oberon] a module a page (keeps the mind sane)?

Jörg joerg.straube at iaeth.ch
Sun Nov 4 08:21:21 CET 2018

I don‘t know whether NW or another person once really said „one page, one module“.
I personally don‘t follow that guideline; I’m rather follower of Chris‘ guideline „one page, one procedure“.
It‘s anyhow difficult as the word „page“ is vaguely defined and heavily depends on the screen size, resolution and font used😀

Whenever a procedure doesn‘t fit on one „page“ I try to split it. But I‘m not absolutely consequent on this guideline either. There are cases where a procedure is longer than a page. Cases that come to my mind where I break my own guideline:
A) long CASE statement. But I try to at least fit one CASE on one page
B) HW drivers, where speed is king and I don‘t want jumps an inner loop


Am 03.11.2018 um 23:51 schrieb Chris Burrows <chris at cfbsoftware.com>:

>> -----Original Message-----
>> From: Oberon [mailto:oberon-bounces at lists.inf.ethz.ch] On Behalf Of
>> John R. Strohm
>> Sent: Sunday, 4 November 2018 8:45 AM
>> To: paulreed at paddedcell.com; ETH Oberon and related systems
>> Subject: Re: [Oberon] a module a page (keeps the mind sane)?
>> In "Psychology of Computer Programming", from the early 1970s or so,
>> Weinberg reported that studies showed that programmer comprehension
>> generally dropped dramatically the moment the programmer had to
>> scroll the edit window or turn the page on a listing.  This gave rise
>> to the "one page, one module" guideline.
> That is true. However, what has changed from the 1970's is the number of
> lines than can be viewed on an edit window without scrolling. The early VDU
> screens used to be 24 lines by 80 characters. With one of my 20" monitors in
> portrait mode I can easily read 125 lines by 80 characters using a 9pt
> Consolas monospaced font. That still leaves enough room for the Astrobe
> title bar, menu, toolbar, tab headings, status bar and procedure navigation
> / import list pane.
> Note that in those days a complete application would often have been in a
> single file and the term 'module' would have been referring to a logical
> unit equivalent to one of today's procedures. 
> Regards,
> Chris
> Chris Burrows
> CFB Software
> http://www.astrobe.com/RISC5
> --
> Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
> https://lists.inf.ethz.ch/mailman/listinfo/oberon

More information about the Oberon mailing list