On 13/11/13 17:32, Jeff Law wrote:
On 11/13/13 03:15, Richard Biener wrote:
You know - 'tree's were a design decision (well, just my guess - I
wasn't
around 25 years ago ...). They are a perfect match to represent an AST.
So I'd say whoever introduced that middle-end between the FEs AST
and RTL was at fault :P (luckily I wasn't around either ... ;))
Yea, you can blame Diego, Andrew and myself largely for the decision
to re-use trees in gimple. Reusing trees was a conscious decision
made in large part because doing something different for the middle
end would have been more work than we could justify at the time.
We would have had to do all the things we're doing now, back then to
get it "right". The only difference is now we've got a lot more
gimple bits that know about trees than we did early in the early
gimple/ssa days.
I don't think blame is the right word, it was a different era, we now
have more ram than could be imagined "back then" and as you say at the
time it made sense. I like to think there are a few eras, you had the
start, single processor, limited speed, limited ram, then processors got
a lot faster (the mhz wars lasted a long time) but still not much ram,
then today, buying ram by the 2gb stick usually in pairs is the lowest
form you can commonly get (1gb sticks are rare) with processors able to
do a huge amount very quickly, parallel stuff doesn't really apply to GCC.
Anyway that tangent done with, each era changes software, you started
with the undefined behavior wizards/gods then came the era where storing
huge programs could actually be done, the "backing store" wasn't
measured in kb any more, and so forth.
I fear we have entered the era of crap, software doing the same or less
with more resources, the era of the cloud (The next version of eclipse
is browser based, with the motto "code.anywhere=true;", part of me died)
and HTML 5 and other such nonsense. Caja (Nautilus fork within MATE)
implemented copying files as a python script, which had a memory leaking
endless loop, I do not know why)
BUT some stuff continues to get better, GCC is making some pretty
huge/amazing changes right now (the tree is a great example) this is an
exciting time and I really hope I get to be a part of it.
Now let us, as Eric Raymond would say, plan for the future, for it will
be here sooner than we think.
Alec
The point of this mail is to hopefully get you guys pondering on the
future, I really enjoy reading these mailing lists and watching the
annual tub/pot (I forget...) conference videos you guys make, while my
motives are selfish an ounce of prevention is worth a pound of cure :P
We did the best we could, now it's time to correct that problem and
make sense out of our datastructures.
Jeff