<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">On 19/10/2024 14:57, Hairy Pixels via
fpc-pascal wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAGsUGtn7VfP7q13g7ps75txux24hJVc=KSoMCLcb9Jhu+CngcQ@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Oct 19, 2024 at 7:53:14 PM,
Rainer Stratmann via fpc-pascal <<a
href="mailto:fpc-pascal@lists.freepascal.org"
moz-do-not-send="true" class="moz-txt-link-freetext">fpc-pascal@lists.freepascal.org</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"
type="cite"> I feel very safe with freepascal. I don't know
what you are talking about.<br>
It depends on the programmer who is in front of the computer.<br>
</blockquote>
</div>
<br>
<div dir="ltr">We’re talking about new users and programmers that
don’t have 25 years of experience with manual memory management.
All news languages have some form of non-manual memory
management where you don’t have to worry about memory leaks and
double-frees etc.. leaving Pascal behind. That’s all I’m saying.</div>
<br>
</blockquote>
NOTE: the below is NOT about ARC. It is about the implication that
ARC == Safety (in the environment that we have)<br>
----------<br>
<br>
But if you are talking about memory safety for new users, the ARC is
a drop in the ocean. Sure it might catch some cases...<br>
<br>
And, if you add that every variable needs to be initialized safely
by the compiler, then it catches yet a few more. And at the same
time you yet again make the compiler less useful for other projects,
that are better off without this. So you don't gain users, you just
change which users you have...<br>
<br>
But, also it still isn't save. You can still do<br>
MyObj := TFooClass(Other.Tag);<br>
<br>
And since examples exists, new users will do...<br>
And then, it still goes wrong.<br>
<br>
So remove all pointers, all typecasts, all .... <br>
If you remove all typecasts, then why have types? <br>
<br>
Only then we have an entirely new language...<br>
<br>
<br>
</body>
</html>