Mombu 2012-04-01 00:52:02
I believe it was up to TP4, when I finally tried it.
A recent look at TP7 saw the same flavour.
Non-windows S3 writes a list of: char-position, error No/description,
which needs 2 clux to get to the source-error-position.
I want it to stop with the ‘cursor’ at the error.
The ‘first error only’ principle is consistent with:
* successive refinement – advance by many small steps,
* information hiding – don’t be concerned about more than necessary.
If I was impressed by “what the majority does” I’d be using Wxx
and not oberon S3.
Sure, and TP was a hit because they did it for you.
And well thought out too.
Compare TP with the nightmare of C > linux make …etc.
Yes the ability to hyper-thread through the modules with
Watson is remarkably powerfull. Perhaps I’m guilty of
“the grass is greener on the other side” syndrome ?
I’m extending the debate to the common: CLI v menu-driven.
Clearly TP is menu-driven, which essentially S3 is too.
The reason why the CLI advocates hate being presented with
a menu where “someone else” has decided that you are restricted
to selecting exactly one of 3 choices, is the illusion of freedom they
get with the alternative of “typinging in” ‘messages to the little
man in the box’.
So when I analysing why eg. I can’t get an nice compiler tool, like
TP, for [say] ARM on linux, I conclude, it’s because of the above.
Sure, having multiple source files ‘open’ at once is great.
Mombu 2012-04-01 00:52:05
It works the same on “non-windows” S3 if you have it setup
1) You have to use Builder.Compile as opposed to Compiler.Compile.
2) You have to be running “Gadgets”. Oberon System 3 can be
set up to run in 2 different modes. One is “Text” mode, the other
is “Gadgets” mode. I’m not sure what mode Native Oberon
comes up in. If you have a dropdown “Style” and “Tools” menu
at the top of your editor then you are running Gadgets. The
Oberon System that runs under BlueBottle comes up in
“Text” mode. Desktops.OpenDesk Oberon.Desk is one
way to bring up Gadgets. Going to Programming.Tool and
clicking “GUI” is a way to bring up a tiled Gadget system, but
this requires a restart.
Make sure you’re running in Gadgets mode and you use
Builder.Compile. It should stop with the cursor at the error.
Well, at this point I don’t need such information “hidden”. But you
can always ignore errors after the first if you choose. The compiler
doesn’t come out and “twist your arm” and force you to fix other
Anyway the “first error only” isn’t a principle. It’s just a more
primitively designed compiler. I had to write a compiler in
undergraduate and graduate school. The undergrad compiler
only had to stop at the first error. In grad school I had to
allow the compiler to keep parsing to the end.
That’s not the point. If you’re waiting for a compiler
that stops at the first error before you start developing code
again you’ll be waiting for quite a while. All Oberon compilers
parse to the end. Delphi (TP progeny) may work the way
you like, but I don’t think it does. Perhaps Python works
the way you like.
TP was a hit because computer science departments forced their
students to use it in the beginning classes. When I reached the
level where I could choose language I wanted to use, I quit using
TP for Fitted Systems Modula-2. I did have to use C a lot in grad
school (no M2 OpenGL libraries at the time), Now lots of schools
force their undergrads to use C++ or Java. That doesn’t mean
those languages are “better”. It does mean there are very few
Wirthian programmers graduating school.
Anyway, with regard to the date sorting feature I apparently never
thought about it because until you mentioned it I didn’t know about
it and I’ve never missed it. I may work on a lot of unrelated
modules in a day for unrelated projects. For me it’s useful
to know what modules go together than to know what modules
I most recently used. But I realize that’s a matter of personal taste.
Perhaps. Or the “you can’t tell just how green the grass
is until you start eating it” syndrome. 😉 I know for myself
that I’m more productive in Oberon than I was in TP.
But then I’ve used it enough for it to become second
nature. Stuff that used to “bug” me I know actually like.
Well there are a lot of menu driven IDEs out there. M$ Visual
Studio is menu driven for instance. Now personally I don’t LIKE
VS, but it is menu driven. I suppose it wouldn’t be too difficult
to “restrict” Builder.Compile so that it only marks the first error
if that’s a deal breaker for you. There’s a procedure “markErrors”
that has a WHILE loop that goes through all of the errors and
inserts the error markers. I believe someone is working on
an attributed file system (including “last date”) for Oberon,
but I don’t know if that will make its way back to N.O.
John M. Drake