<!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>