Post by n***@absamail.co.zaPost by j***@yahoo.comPost by n***@absamail.co.zaCan you explain what a good IDE "does" ?
I guess once you know what a "good IDE" is, then realising it
not very original.
IMO it's simply [intelligent] menu-based.
I use ETH-oberon-S3 all the time; which has TUI, which makes it
essentially menu-based. But I haven't done more than trivial
development since the days of DOS/Turbo-Pascal because S3 hasn't
got a good IDE.
I'm curious as to why you think Turbo Pascal's IDE was "good".
Normally this could be difficult to answer: just a 'good feeling'
and memories of high productivety decade[s] ago.
Except it's a current pet-topic of mine and I've analysed it.
Hello Chris. I asked this before responding so I could be sure
which version of Turbo Pascal you were talking about. It sounds
like you are talking about version 3.0. There are many reasons
why I believe the System 3 IDE is superior to TP 3.0.
Further later versions of Turbo Pascal abandoned much of
what you consider "superior" about it's IDE.
Post by n***@absamail.co.zaFirstly, I don't want a list of compiler errors [as a demonstration
of 'smart' - with no value for the user- compiler construction].
I DO want the first error to be shown immediately/automatically
with the edit cursor appropriately positioned; which TP-IDE did.
Before I overcame my resistance to using TP because of [false
in this case] prejudice against fad-named products [at the time
every fad was named "turbo" - like today I can't get a mobile
p-code, reduced syntax with recursive descent compiler, which
just scanned the source to VDU [8 bit uP system] and stopped at the
1st detected error ! Which you immediately recognised as an error.
System 3 (at least the version I use) positions the cursor at
the first error. But it also shows subsequent errors you might
have made. Sometimes these errors "go away" when you
fix the first error, sometimes they don't. If you wish you
can always ignore subsequent errors and just concentrate
on the first one you find. But typically I've found that I'm
more productive fixing multiple errors at once than having
to have a "compile" step in between each syntax error
fix. Regardless I'd rather have the choice. Coming from
a TP 3.0 background myself I would often just "pretend"
I only made one error between each compile when I
started using Oberon. (I used Modula-2 some between
TP and Oberon, but I forget how the compiler I used
reported syntax errors.) It's not hard to get past the
"one error fix at a time" roadblock if you stick with it.
Anyway, subsequent versions of TP use a similair
"error list" method. I can't think of any modern IDE
that stops compiling at the first error. BlackBox doesn't
work like TP 3.0 did in this regard either.
Post by n***@absamail.co.zaAlso TP-IDE had the list of sources appropriately 'recency stacked'
[by default] - the other point which I've been emphasising lately
re. menu-driven-systems like NC/mc, where it's most usefull to
have the dir-listing in most recently acccessed/changed order.
As you know, Oberon programmers often "self organize" their
code by using "tools". To me it's quite easy to keep track of
what source I need to be working on by using this method.
There are times that I need directories in "date order" but
I've never really seemed to need that for programming in
Oberon or any other language. For me it's more important
to be able to access source code and/or file interfaces
based on context. What I mean is this. Say if I'm knee
deep in some code and I see:
ModuleFoo.Bar(x,y)
With System 3 I can highlight ModuleFoo.Bar and click
"Tools->OpenMod" from my editor's drop down menu.
Or, if I don't have the source, I can at least click
"Watson.ShowDef" or "Watson.ShowObj" to see
the interface for the call. I don't recall any easy
way to do that in TP 3.0.
BlackBox uses MS Windows style "dialog boxes" for
opening files. (At least the Windows version does. I've
not used the Mac version). I don't know how to order
by date in such dialog boxes. If you click the
"History" button that comes up on the left hand side
you get a window with all of the files in your history,
and that can be ordered by date.
Post by n***@absamail.co.zaAnd the other functionally [linking, destination of Obj.Code..etc.]
was grouped appropriately 'right there'.
In Oberon System 3 linking isn't needed since
everything is a dynamicly loaded module by default. (Ok, you
need to link if you want to rebuild the kernel, but how often to
most people need to do that?) Typically when programming
in System 3 I have the "Program.Tool" open and that has
everything I usually need "right there". Everything being
"Compiling, showing loaded modules, unloading modules,
showing module definitions, showing 'gadget' properties ect".
If there is a command that I find myself using that's not
in "Program.Tool" I can always add it just by typing it
in.
Post by n***@absamail.co.zaThe people who insist on CLI facilities for eg. the linux 'find' command,
just want to pretend that they've got direct communication with 'the
little man in ther box', instead of a choice of limited 'branches' in a
machine. Like if you exit you room-doorway, you won't have more
choices that: straight, left, right. It's pointless to pretent the choice is
poetry or rocket-science ?
== Chris Glur.
Ok, you've lost me here. Not sure what System 3 has to do
with Linux CLI facilities. Yes, there is a "find" command in
System 3 and I use it sometimes, but I'm at a loss to connect
this to the rest of the post.
Anyway, you can always download BlackBox and try it out.
There are other things I like better about System 3 such as the
ability to have multiple source files open at once, or the fact
that many "stupid" errors like unitialized pointers don't hang
up my machine. (Often my programming cycle under TP
3.0 was "Edit, compile, execute, run, reboot".) There are
some things I like better about BlackBox (such as a much
more functional post mordem debugger) but it's not TP
3.0 (thank God!)
Regards,
John M. Drake