On 10/19/24 5:53 PM, Hairy Pixels via fpc-pascal wrote:
On Oct 19, 2024 at 9:37:49 PM, Nikolay Nikolov via fpc-pascal
<fpc-pascal@lists.freepascal.org> wrote:
Counterexample 1: The growth of Rust.
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.
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.
Counterexample 2: Pascal is also growing.
Then why are we talking about new users? I thought Pascal was getting
smaller every year.
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.
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.
Counterexample 3: The amount of C and C++ code your computer is running.
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.
I think FPC is closest to C++ in spirit but less powerful and easier
to use. That’s maybe where new users could from.
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?
Nikolay
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal