[fpc-pascal] Fwd: What to do to get new users

Sven Barth pascaldragon at googlemail.com
Fri Oct 18 21:31:36 CEST 2024


Hairy Pixels via fpc-pascal <fpc-pascal at lists.freepascal.org> schrieb am
Fr., 18. Okt. 2024, 17:21:

> On Oct 18, 2024 at 3:41:49 PM, Karoly Balogh via fpc-pascal <
> fpc-pascal at lists.freepascal.org> wrote:
>
>> Maybe it was mentioned in the thread, I just glanced through it, but how
>> about ARC (Automatic Reference Counting), Objective C style? To be honest,
>> I really liked that, and we already have it kind of in place for strings,
>> even temporary strings and maybe even temporary arrays created inside a
>> function. We'd just need to extend it for a bunch of other things, I
>> suppose. Manual FreeAndNil() is the ugliest part of Object Pascal for me
>> for sure... OTOH, for Object Pascal you might end up with RAII in this
>> case, instead of ARC, because how how the language works. I did not like
>> it that much in C++, but maybe because modern C++ syntax is properly
>> horrid...
>>
>
> The compiler already has all the plumbing for implementing this but they
> would need to agree to a new class type which includes has the same ref
> counting as AnsiString, Interfaces and other types. I mentioned this
> multiple times but Sven objected to it stating he already tried and
> uncounted some edge cases.
>
> I think an entirely new class type would be required and that’s where the
> resistance came from. Sven can refresh us on this if he wants.
>

The problem is that we can't simply introduce reference counting for
existing classes, because that would lead to memory leaks in existing
codes, because that might have cyclic references.

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.

And that whole shebang is just not worth it. If someone wants a full ARC
language then simply don't use Object Pascal.

Regards,
Sven

>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20241018/0237c7e3/attachment.htm>


More information about the fpc-pascal mailing list