From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: body stub not allowed in inner scope
Date: Fri, 2 Mar 2018 16:13:40 -0600
Date: 2018-03-02T16:13:40-06:00 [thread overview]
Message-ID: <p7cial$9f5$1@franka.jacob-sparre.dk> (raw)
In-Reply-To: p7atjs$1qme$1@gioia.aioe.org
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2892 bytes --]
"J-P. Rosen" <rosen@adalog.fr> wrote in message
news:p7atjs$1qme$1@gioia.aioe.org...
> Le 01/03/2018 à 23:38, Randy Brukardt a écrit :
>> Yes, but why put them in a separate file in the first place? The only
>> reason
>> I know not to do that is that editors (and compilers) used to have size
>> limits. It's usually easier to have one big file because it makes fewer
>> places to look for things. (The subunits in Janus/Ada are annoying
>> because
>> one opens the body to find something only to find it isn't there and a
>> different file has to be opened. Often, I don't know exactly what I'm
>> looking for and have to bounce back and forth several times.)
>>
> I think your opinion is closely linked to the fact that you don't use
> (AFAIK) modern editors. With GPS or Emacs, you click on an entity and
> "goto declaration" to retrieve it. OTOH, long scrolls are annoying, so
> there is a clear benefit in having your stuff split on several, not too
> big files.
Lots of windows are annoying, too; it is hard to get the right one on top.
Even if you use a "goto declaration", now you have the wrong window on top
and getting back is a pain. (My old editor tiles windows and thus avoids
this problem.)
I'm generally not looking for "a declaration", I'm looking for code that
implements something, typically written 30 years ago, sometimes by someone
else, whose name I don't know (perhaps I have an idea, but it's often
wrong), and I don't know how it works. No editor is going to help
significantly with that.
I don't use "modern editors" not because I'm some sort of Luddite, but
rather because I want to "eat my own dog food" and thus not depend on
something that we don't have for them.
Regardless, the majority of "goto declaration" commands are intensely
frustating, because they don't handle most of the subtle visibility issues
of Ada (or they require correct compilable code to do so), they don't have a
sane way to deal with inheritance and instances (where you need to see both
the original routine and the actuals/type declaration in order to know
what's going on), and just don't match what the compiler sees. To do this
right, you need a special Ada compiler that can deal with partial sources
and the like - which would cost as much to develop as an actual Ada
compiler. (Indeed, Ada is spending many man-years on exactly such a
project.) We couldn't afford it, so that's a feature you most likely will
never see in a Janus/Ada IDE.
Scrolling is annoying, yes, but that's easy to mitigate by not doing it. :-)
Search for something (I usually use "procedure") in long files. Once you get
the to right place, you're going to have to scroll in any case (most of the
subprograms in Janus/Ada are quite long because of all of the different
cases that have to be dealt with, >500 lines is not uncommon).
Randy.
next prev parent reply other threads:[~2018-03-02 22:13 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-28 13:01 body stub not allowed in inner scope Mehdi Saada
2018-02-28 13:32 ` AdaMagica
2018-02-28 14:30 ` Mehdi Saada
2018-02-28 14:39 ` AdaMagica
2018-02-28 23:23 ` Randy Brukardt
2018-03-01 7:14 ` J-P. Rosen
2018-03-01 22:38 ` Randy Brukardt
2018-03-02 7:14 ` J-P. Rosen
2018-03-02 10:17 ` Dmitry A. Kazakov
2018-03-02 22:10 ` Randy Brukardt
2018-03-03 3:38 ` Dennis Lee Bieber
2018-03-02 22:13 ` Randy Brukardt [this message]
2018-03-02 19:37 ` G. B.
2018-03-02 19:47 ` Simon Wright
2018-03-03 9:42 ` G.B.
2018-03-01 8:20 ` Dmitry A. Kazakov
2018-03-01 8:24 ` Simon Wright
2018-03-01 20:52 ` Jacob Sparre Andersen
2018-03-01 22:45 ` Randy Brukardt
2018-03-01 8:38 ` Niklas Holsti
2018-03-01 9:11 ` Björn Lundin
2018-03-01 15:19 ` marciant
2018-03-01 17:37 ` Shark8
2018-02-28 15:26 ` Mehdi Saada
2018-02-28 15:28 ` Mehdi Saada
2018-02-28 23:32 ` Randy Brukardt
2018-03-01 0:16 ` Mehdi Saada
2018-02-28 17:24 ` Jeffrey R. Carter
2018-02-28 18:05 ` Simon Wright
2018-02-28 19:04 ` Jeffrey R. Carter
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox