On Fri, 18 Oct 2024, Hairy Pixels via fpc-pascal wrote:
On Oct 19, 2024 at 2:31:36 AM, Sven Barth via fpc-pascal <
fpc-pascal@lists.freepascal.org> wrote:
This would mean that a new class type or some kind of additional attribute
would have to be introduced which would have to be incompatible to
non-reference-counted classes as otherwise there would be the chance for
memory leaks or use-after-free again. This in turn would mean that
essenentially the whole class hierarchy would have to be reimplemented.
You just only adopt it when you want it or in new programs entirely.
Remember we’re talking about new users with no programs wanting to start
fresh.
You are not taking the reasoning to its logical conclusion.
These "new users" will want to have some standard library - the RTL and
packages.
So the whole rtl/packages needs to be recreated if you introduce this,
for the reasons that were mentioned by Sven.
Reasons that were already voiced 20 years ago, by the way.
You are in effect redesigning the language, and inescapably need to redesign
the rtl/packages as well. With all the backwards compatibility issues added
on top, because we do not have the manpower to maintain 2 RTLs.
So, regardless of the question whether the ARC is good/bad, it should be obvious
that this complete rewrite of literally everything is simply not an option.
Therefore the whole "ARC in FPC" debate is simply moot: It's not going to
happen.
Not because ARC is a bad idea (it may well be), but because it is not
realistic to do so, even if we wanted to.
As a corollary, the conclusion is that if you want ARC, you should
indeed use another language.
I regret that this is so, but I think this really is the unavoidable conclusion.
Michael.
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal