<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p><br>
</p>
<div class="moz-cite-prefix">On 10/19/24 5:53 PM, Hairy Pixels via
fpc-pascal wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAGsUGt=tFE85Uh8_imf4iOAveuPyJQp4Cwoh9btBwLs1O-mbUw@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 9:37:49 PM,
Nikolay Nikolov 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"> Counterexample 1: The growth of Rust.<br>
</blockquote>
<div class="gmail_quote"><br>
</div>
<div class="gmail_quote" dir="ltr">which is the opposite of
Pascal, total memory safety. Rust is one of the reasons that
show people don’t want bug prone manual memory management
anymore.</div>
</div>
</blockquote>
And totally the same as Pascal in the lack of garbage collection.
Your second sentence is inaccurate. It should be: Rust is one of the
reasons that show people don't want C++-style memory management
anymore. Rust was developed by Mozilla to replace their C++ code
base. The original goal was to rewrite Mozilla's browser engine in
Rust. This plan was, however, abandoned, so in a way, Rust has
failed in achieving its original goal. However, most Rust developers
come from C++ background, not Pascal. The problem with Rust is it
imposes a memory model (a simple linear passing of memory
ownership), that is not suitable for a lot of software projects. My
impression is that Rust programs are more bug prone, compared to C
and C++ programs. This could be explained by the fact that the
language is new, and thus, it contains a lot of new code, and new
code is less well tested and contains more bugs. However, from my
experience from writing Rust, I'm of the opinion, that Rust's so
called "memory safety" guarantees don't result in less buggy code.
In fact, the constraints of the borrow checker force people to use
design patterns that introduce whole classes of other bugs. I can
talk about it for hours, giving concrete examples, but it would be
off-topic for this list.<br>
<blockquote type="cite"
cite="mid:CAGsUGt=tFE85Uh8_imf4iOAveuPyJQp4Cwoh9btBwLs1O-mbUw@mail.gmail.com">
<div class="gmail_quote"><br>
<blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"
type="cite"><br>
Counterexample 2: Pascal is also growing.<br>
</blockquote>
<div class="gmail_quote"><br>
</div>
<div class="gmail_quote" dir="ltr">Then why are we talking about
new users? I thought Pascal was getting smaller every year.</div>
</div>
</blockquote>
<p>Your impression that Pascal was getting smaller was not supported
by evidence. On the contrary, download statistics were provided,
showing that the number of Free Pascal downloads has been
increasing in the past 10 (or 20? I forgot the exact number)
years.</p>
<p>Of course, that's not a reason not to make improvements that
attract new users, but they need to be grounded in reality,
instead of fantasy.<br>
</p>
<blockquote type="cite"
cite="mid:CAGsUGt=tFE85Uh8_imf4iOAveuPyJQp4Cwoh9btBwLs1O-mbUw@mail.gmail.com">
<div class="gmail_quote"><br>
<blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"
type="cite"><br>
Counterexample 3: The amount of C and C++ code your computer
is running.<br>
<br>
GC is only used as the top "scripting" layer, everything else
is C++. Every pixel that you see on your screen, every
animation, all of this is done by C or C++ code. Rewriting all
of this in a GC'd "memory safe" language will result in your
computer becoming slow as a snail. Moore's law has been dead
for some time, so this situation is here to stay.<br>
<br>
</blockquote>
</div>
<div dir="ltr">I think FPC is closest to C++ in spirit but less
powerful and easier to use. That’s maybe where new users could
from.</div>
</blockquote>
<p>Easier to use, yes. Less powerful in what way? Where new users
are coming from is an interesting question, actually worthy of a
survey. Maybe we should do one?<br>
</p>
<p>Nikolay</p>
</body>
</html>