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

Reply via email to