Re: [Oberon] Help in using an Oberon systems.
As is apparent from the documentation Safe-C is not a legacy system any more than Oberon is a legacy system of Modula 2 or Pascal. C programs will not compile with it just as an Oberon program will not compile with a Pascal compiler. A C programmer would notice significant similarities just as a Pascal programmer would if he/she looked at an Oberon program, but that is all. Wirth did not design Oberon from 'first principles'. He had 25 years of experience to fall back on including designing Pascal, Modula and Modula 2, plus exposure to the Cedar/Mesa system and to Algol68. He felt he knew what was desirable in a language and what was problematic. The designer of Safe-C has tried to do just the same. The virtue of simplicity is an opinion not an axiom. Wirth is frequently quoted as repeating a saying attributed to Albert Einstein, 'make things as simple as possible but not simpler'. But he struggled to put this into practice e.g. the number of loop constructs to be included, and the need or otherwise for cardinals and for different sizes of integer. In making the construction of the compiler as simple as possible by using upper case keywords only he imposed an additional 'cognitive load' on users because text written in upper case is more difficult to comprehend (at least by me) and entering it is much more error prone due to constant toggling of the shift key/capitals key. His simplicity is my complexity. Interestingly Zonnon the successor to Oberon allows lower case keywords. Les May
There is also the Oxford Oberon-2 Compiler: http://spivey.oriel.ox.ac.uk/corner/Oxford_Oberon-2_compiler Was that already mentioned? -Jack
On Monday 17 December 2012 21:10:15 Jack Johnson wrote:
There is also the Oxford Oberon-2 Compiler:
http://spivey.oriel.ox.ac.uk/corner/Oxford_Oberon-2_compiler
Was that already mentioned?
http://fruttenboel.verhoeven272.nl/obc/index.html -- Met vriendelijke groeten, Jan Verhoeven http://www.verhoeven272.nl
On 12/17/2012 11:32 AM, Les May wrote:
by using upper case keywords only he imposed an additional 'cognitive load' on users because text written in upper case is more difficult to comprehend (at least by me) Really? I find the opposite to be true.
-Doug Danforth
From: Douglas G. Danforth [mailto:danforth@greenwoodfarm.com]
On 12/17/2012 11:32 AM, Les May wrote:
by using upper case keywords only he imposed an additional 'cognitive load' on users because text written in upper case is more difficult to comprehend (at least by me)
Really? I find the opposite to be true.
numerous studies[1] have shown that people find all-caps texts more difficult to read than mixed case, but the tests were typically conducted using texts significantly longer than any string of consecutive keywords you're ever likely to read in a program. I find upper case keywords very useful with mixed case source text because they provide navigation markers when scanning source code. In this way they are rather like paragraph and section headings, which should normally differ from the body text in 2 ways (at least according to Tufte) to be effective in helping readers to scan. I was brought up as a COBOL programmer on mainframes, with a significant amount of BASIC, when everything had to be in upper case. It was very liberating when I first started using Modula-2 on PCs to be able to use lower case. It also strengthened the muscles and increased the flexibility of my pinky fingers as I had to learn to use the shift keys while typing; this in turn proved invaluable when I started learning flamenco. So the upshot is, Wirthian languages improve your rasgueado. B [1] the one I'm familiar with is "Type and layout: are you communicating or just making pretty shapes" by Wheildon <http://members.optusnet.com.au/guyallen/wheildon.pdf>
My pinkies are still abysmally weak, although I've been touch-typing for almost 50 years:- as an auto-didact typist, I've somehow managed to always use my thumbs for shifting/command/option/control. On Mon, Dec 17, 2012 at 2:20 PM, Bob Walkden <bob@web-options.com> wrote:
It also strengthened the muscles and increased the flexibility of my pinky fingers as I had to learn to use the shift keys while typing;
Dear All, Is there a source code navigator for Oberon .Mod files? Like, source-navigator available on Windows/Linux for C/C++ code. With thanks and best regards, Yours sincerely, Srinivas Nayak Home: http://www.mathmeth.com/sn/ Blog: http://srinivas-nayak.blogspot.in/ Bob Walkden wrote:
From: Douglas G. Danforth [mailto:danforth@greenwoodfarm.com]
On 12/17/2012 11:32 AM, Les May wrote:
by using upper case keywords only he imposed an additional 'cognitive load' on users because text written in upper case is more difficult to comprehend (at least by me) Really? I find the opposite to be true.
numerous studies[1] have shown that people find all-caps texts more difficult to read than mixed case, but the tests were typically conducted using texts significantly longer than any string of consecutive keywords you're ever likely to read in a program.
I find upper case keywords very useful with mixed case source text because they provide navigation markers when scanning source code. In this way they are rather like paragraph and section headings, which should normally differ from the body text in 2 ways (at least according to Tufte) to be effective in helping readers to scan.
I was brought up as a COBOL programmer on mainframes, with a significant amount of BASIC, when everything had to be in upper case. It was very liberating when I first started using Modula-2 on PCs to be able to use lower case. It also strengthened the muscles and increased the flexibility of my pinky fingers as I had to learn to use the shift keys while typing; this in turn proved invaluable when I started learning flamenco. So the upshot is, Wirthian languages improve your rasgueado.
B
[1] the one I'm familiar with is "Type and layout: are you communicating or just making pretty shapes" by Wheildon <http://members.optusnet.com.au/guyallen/wheildon.pdf>
-- Oberon@lists.inf.ethz.ch mailing list for ETH Oberon and related systems https://lists.inf.ethz.ch/mailman/listinfo/oberon
If you consider "Component Pascal" to be the current version of "Oberon" then there is a very nice navigator indeed. The Oberon community tends to have "snapshots" of the state of the art, and all of them are loosely called "Oberon." Many of us use several of these depending on what task is at hand. At the moment, I have 3 virtual machines running, one with Component Pascal, one with "V4", and one with "A2" The earlier snapshots have more and more primitive navigators as you go back in time. Each of them seems to be advanced for their own epoch. Which "Oberon" environment are you running? On Tue, Dec 18, 2012 at 1:22 PM, Srinivas Nayak <sinu.nayak2001@gmail.com>wrote:
Dear All,
Is there a source code navigator for Oberon .Mod files? Like, source-navigator available on Windows/Linux for C/C++ code.
With thanks and best regards,
Yours sincerely, Srinivas Nayak
Home: http://www.mathmeth.com/sn/ Blog: http://srinivas-nayak.blogspot.in/
From: Douglas G. Danforth [mailto:danforth@greenwoodfarm.com]
On 12/17/2012 11:32 AM, Les May wrote:
by using upper case keywords only he imposed an additional 'cognitive load' on users because text written in upper case is more difficult to comprehend (at least by me) Really? I find the opposite to be true.
numerous studies[1] have shown that people find all-caps texts more difficult to read than mixed case, but the tests were typically conducted using texts significantly longer than any string of consecutive keywords you're ever likely to read in a program.
I find upper case keywords very useful with mixed case source text because they provide navigation markers when scanning source code. In this way
Bob Walkden wrote: they
are rather like paragraph and section headings, which should normally differ from the body text in 2 ways (at least according to Tufte) to be effective in helping readers to scan.
I was brought up as a COBOL programmer on mainframes, with a significant amount of BASIC, when everything had to be in upper case. It was very liberating when I first started using Modula-2 on PCs to be able to use lower case. It also strengthened the muscles and increased the flexibility of my pinky fingers as I had to learn to use the shift keys while typing; this in turn proved invaluable when I started learning flamenco. So the upshot is, Wirthian languages improve your rasgueado.
B
[1] the one I'm familiar with is "Type and layout: are you communicating or just making pretty shapes" by Wheildon <http://members.optusnet.com.au/guyallen/wheildon.pdf>
-- Oberon@lists.inf.ethz.ch mailing list for ETH Oberon and related systems https://lists.inf.ethz.ch/mailman/listinfo/oberon
-- Oberon@lists.inf.ethz.ch mailing list for ETH Oberon and related systems https://lists.inf.ethz.ch/mailman/listinfo/oberon
-- Aubrey McIntosh, Ph.D. 211 E. 5th St. Morris MN 56267 (512)-348-7401
<zen53397@zen.co.uk> wrote:-
Wirth did not design Oberon from 'first principles'. He had 25 years of experience to fall back on including designing Pascal, Modula and Modula 2, plus exposure to the Cedar/Mesa system and to Algol68.
25 years of experience doesn't prevent people from working from 'first principles'. Many of those who 'thought they could mortgage their house for beer' had decades of. 'experience'. They just decided to ignore first-principles and go-with-the-herd. It's the same with Coca-Cola and Windows. 50 years of engineering experience won't stop Wirth from thinking in terms of. Ohms law and the conservation of momentum/energy.
He felt he knew what was desirable in a language and what was problematic. The designer of Safe-C has tried to do just the same.
The virtue of simplicity is an opinion not an axiom.. For any biological entity: a cockroach or me; the highest/most-basic axiom is "maximum gain for minimum pain", which directly leads to "optimise the main <cost
Fortunately, Wirth could start from a theoretical design basis, instead of FAT legacy. BTW, I suspect that Eiffel is also excellent. It just came too late. Was Plan9 too late too? center>" which for. software directly leads to "improve programmer's productivety [not byte count]" which directly leads to "simplify". So the definition of "simplify" in the context of ETHO is 'that which improves programmer's productivety'.[I note that you've acknowledged 'cognitive load' below, as a bad thing.] And some of those elements are discussed by writers below.
Wirth is frequently quoted as repeating a saying attributed to Albert Einstein, 'make things as simple as possible but not simpler'. But he struggled to put this into practice e.g. the number of loop constructs to be included, and the need or otherwise for cardinals and for different sizes of integer.
Yes, it's difficult to prove optimum simplicity; but didn't you just write that simplicity is a false goal?
In making the construction of the compiler as simple as possible by using upper case keywords only he imposed an additional 'cognitive load' on users because text written in upper case is more difficult to comprehend (at least by me) and entering it is much more error prone due to constant toggling of the shift key/capitals key. His simplicity is my complexity.
Yes, but that's about WRITING, rather than READING. Besides IMO you shouldn't pretend to type near-english notes to the little-man-in-the-machine. You should recognise [not remember] the next-selection from a set-of-valid-selections. I.e. a syntax directed editor. Imagine that if when entering a lift/elevator, instead of recognising and activating the required single token, you wrote a message?
Interestingly Zonnon the successor to Oberon allows lower case keywords.
Yes, that plus their example which used N-nested IfThenConstructs for the <dialog between mail/news client and server> gave me a bad impression. I made a utility that will colour nested constructs, which is the ultimate 'dimension' that ETHO can handle. Later I hope to discuss the concatenative paradigm, which is a great simplifer, but which Wirthian languages ignore, and would have fixed the absurd nested IfThen constructs by rather doing:. Stage1 | Stage2 | .... StageN My favourite example is:- FindAllFilesin DirD NewerThanDays 37 | whichContainString aircraft | whichContainString "default judgmemt" | whichContainString Court Which allows you to re-find that critically important article, about the aircraft engineer's default judgment case, which you read shortly before you went on leave 32 days ago. The beauty of concatenative style, is that if it's correct to stageN, you don't need to go back, nor even know how previous stages worked. ==Bob Walkden wrote:-
numerous studies[1] have shown that people find all-caps texts more difficult to read than mixed case, but the tests were typically conducted using texts significantly longer than any string of consecutive keywords you're ever likely to read in a program.
That's our problem. I 'match' the study, but others are free to disagree.
I find upper case keywords very useful with mixed case source text because they provide navigation markers when scanning source code. In this way they are rather like paragraph and section headings, which should normally differ from the body text in 2 ways (at least according to Tufte) to be effective in helping readers to scan.
That's obviously their reason. But psychological stuff is difficult to prove. IMO the 2-dimensional/matrix is the ultimate/simplest representation of a continuous function. I.e. the 'graph';. which for discreet values, becomes the matrix/spread-sheet. Then you can add an extra dimension, of 2 values, by UPPER/lower-case, and then a further dimension [all dimensions are mutually orthogonal]. by a few colours. That's why, for the most difficult tasks, I need to use LEO and colour. ========= | > Is there a source code navigator for Oberon .Mod files? | > Like, source-navigator available on Windows/Linux for C/C++ code. | > Chris Burrows wrote:- | Yes indeed! Both of our IDEs - | CPIde (for Gardens Point Component Pascal): | http://www.cfbsoftware.com/cpide | and Astrobe: | http://www.astrobe.com | have the following features: | * Automatically generated indexed list of procedures and imports: | Click on a procedure name to position the editor at that procedure; click on | an import name to open the source code for that import. | * Automatic syntax-colouring as you type. | * Automatic upper-case conversion of keywords as you type (my pinkies are | wasting away!) | I use them both a lot when studying / navigating Oberon .Mod files - you | just need to strip of the two or three lines of header information when so | they become normal text files. =Aubrey.McIntosh wrote:-
If you consider "Component Pascal" to be the current version of "Oberon" then there is a very nice navigator indeed.
An actual description of the features, like Chris Burrows' above would be. good, before we invest effort to learn that it's no good for our requirements. Thanks, == Chris Glur. I hope this lynx-post works OK.
From: eas lab [mailto:lab.eas@gmail.com]
Yes, that plus their example which used N-nested IfThenConstructs for the <dialog between mail/news client and server> gave me a bad impression.
I made a utility that will colour nested constructs, which is the ultimate 'dimension' that ETHO can handle.
Later I hope to discuss the concatenative paradigm, which is a great simplifer, but which Wirthian languages ignore, and would have fixed the absurd nested IfThen constructs by rather doing:. Stage1 | Stage2 | .... StageN
My favourite example is:-
FindAllFilesin DirD NewerThanDays 37 | whichContainString aircraft | whichContainString "default judgmemt" | whichContainString Court
Which allows you to re-find that critically important article, about the aircraft engineer's default judgment case, which you read shortly before you went on leave 32 days ago.
The beauty of concatenative style, is that if it's correct to stageN, you don't need to go back, nor even know how previous stages worked.
it's one style among many, which have their pros and cons for different uses. Horses for courses, as the saying goes. There is an interesting book by Clements et al. called "Documenting Software Architecture" which discusses a number of different styles and (surprise!) how best to document them. It is well worth reading if you're interested in such things. <http://www.amazon.co.uk/Documenting-Software-Architectures-Beyond-Engineeri ng/dp/0321552687/ref=pd_sim_sbs_b_7> B
-----Original Message----- From: eas lab [mailto:lab.eas@gmail.com] Sent: Thursday, 20 December 2012 2:06 AM To: ETH Oberon and related systems Subject: Re: [Oberon] Help in using an Oberon systems.
| > Chris Burrows wrote:- | Yes indeed! Both of our IDEs - | CPIde (for Gardens Point Component Pascal): | http://www.cfbsoftware.com/cpide | and Astrobe: | http://www.astrobe.com | have the following features: | * Automatically generated indexed list of procedures and imports: | Click on a procedure name to position the editor at that | procedure; click on | an import name to open the source code for that import. | * Automatic syntax-colouring as you type. | * Automatic upper-case conversion of keywords as you type (my | pinkies are | wasting away!) | I use them both a lot when studying / navigating Oberon .Mod files | - you | just need to strip of the two or three lines of header information when so | they become normal text files.
An actual description of the features, like Chris Burrows' above would be. good, before we invest effort to learn that it's no good for our requirements.
The features are described in detail with screenshots in the Astrobe Help file. The download file size of the *entire* system (IDE, Editor, compiler, linker, builder, help files, source code examples, documentation etc. etc.) is less than 2Mb and can be installed in less than a minute so it doesn't take too much effort for anybody to evaluate these features: http://www.astrobe.com/download.htm However, I'm guessing from your comments in many of your previous posts here that the fact that it requires Windows would render it as no good for *your* requirements ;-) Regards, Chris -- Chris Burrows CFB Software http://www.cfbsoftware.com
From: Srinivas Nayak [mailto:sinu.nayak2001@gmail.com]
Dear All,
Is there a source code navigator for Oberon .Mod files? Like, source-navigator available on Windows/Linux for C/C++ code.
That will surely depend on the IDE you're using for C/C++. This is probably not a very helpful answer, but I've always taken the view that if your source code is so large or complex that it needs a navigator then you must be doing something wrong. There are tools within some of the implementations for browsing hierarchies, I think, but it's fairly easy anyway just to open a module from the IMPORT list. I also believe there's a tool which can produce an index of procedures to make it easy to jump to one - like a definition module in Modula-2. Similarly, I believe there are also tools which can put the procedure body into a fold to make it a bit easier to scroll through large sources. And of course, this being Oberon, if one of the existing tools doesn't suit you, you can probably write your own fairly easily. B
On Tuesday 18 December 2012 20:55:31 Bob Walkden wrote:
From: Srinivas Nayak [mailto:sinu.nayak2001@gmail.com]
Is there a source code navigator for Oberon .Mod files? Like, source-navigator available on Windows/Linux for C/C++ code.
This is probably not a very helpful answer, but I've always taken the view that if your source code is so large or complex that it needs a navigator then you must be doing something wrong.
Niklaus Wirth says: When the source exceeds (about) 5000 lines of code, your source becomes too big. You need to split the source in smaller modules. Also, when the program gets too complex (i.e. long) chances are you didn't fully understand the problem and hence your algorithm is wrong. So: back to the drawing table! In C a long source is a sign of good craftsmanship. In Modula-2 or Oberon, a short source is. -- Met vriendelijke groeten, Jan Verhoeven http://www.verhoeven272.nl
-----Original Message----- From: Srinivas Nayak [mailto:sinu.nayak2001@gmail.com] Sent: Wednesday, 19 December 2012 5:53 AM To: ETH Oberon and related systems Subject: Re: [Oberon] Help in using an Oberon systems.
Dear All,
Is there a source code navigator for Oberon .Mod files? Like, source-navigator available on Windows/Linux for C/C++ code.
Yes indeed! Both of our IDEs - CPIde (for Gardens Point Component Pascal): http://www.cfbsoftware.com/cpide and Astrobe: http://www.astrobe.com have the following features: * Automatically generated indexed list of procedures and imports: Click on a procedure name to position the editor at that procedure; click on an import name to open the source code for that import. * Automatic syntax-colouring as you type. * Automatic upper-case conversion of keywords as you type (my pinkies are wasting away!) I use them both a lot when studying / navigating Oberon .Mod files - you just need to strip of the two or three lines of header information when so they become normal text files. BlackBox Component Builder also has built-in navigation features (and a whole lot more!): http://www.oberon.ch/blackbox.html Users have also developed add-ons for additional features. E.g. (As described here recently, BlackBox has built-in support for ETH Oberon files. http://www.zinnamturm.eu/downloadsAC.htm#CpcIndex I haven't used it recently but AFAIR the PET Oberon editor in AOS / A2 has similar capabilities Regards, Chris Burrows CFB Software http://www.cfbsoftware.com
Hi Srinivas,
Is there a source code navigator for Oberon .Mod files?
surely, PET (the Programmer's Editing Tool, i.e., the editor, which opens when you double click in the A2/UnixAOS/WinAOS filemanager), allows you to navigate within and across files in the left pane. Simply expand the import list by clicking the + in the tree view, then click on Details in the menu bar of the navigation, the you can expand the imported module and click (e.g.) on the procedure name of an imported item. It will open the file in a new tab ... (I just experimented a little bit, there is somewhere a more detailed of PET, but I don't remember where and the Googles results for PET are Not really satisfying, any pointers are welcome)
Like, source-navigator available on Windows/Linux for C/C++ code.
Hmm, I don't know them really, but I guess you wanted something like the above behavior ... regards -- Bernhard
participants (11)
-
Aubrey.McIntosh@Alumni.UTexas.Net -
Bob Walkden -
Chris Burrows -
Douglas G. Danforth -
eas lab -
Jack Johnson -
Jan Verhoeven -
Les May -
Mayson Lancaster -
Srinivas Nayak -
Treutwein Bernhard