<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Am 21.07.2018 um 22:43 schrieb Ben
      Grasset:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAL4d7Fi5VOE7CgbEL6cr0LFCUy3B2UJV=JqN4ArS_d+mB6DU-Q@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=utf-8">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">On Fri, Jul 20, 2018 at 1:20 AM, Sven
            Barth via fpc-pascal <span dir="ltr"><<a
                href="mailto:fpc-pascal@lists.freepascal.org"
                target="_blank" moz-do-not-send="true">fpc-pascal@lists.freepascal.org</a>></span>
            wrote:
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              Because a feature might change the language in a way
              that's not in the spirit of the language. Look at how
              Delphi implemented attributes: they're declared in front
              of the types, fields, parameters, whatever, simply copied
              from how C# implemented them while in the spirit of Pascal
              they should have been *after* the declarations.<br>
              <br>
              Regards,<br>
              Sven
              <div class="HOEnZb">
                <div class="h5"><br>
                  ______________________________<wbr>_________________<br>
                  fpc-pascal maillist  -  <a
                    href="mailto:fpc-pascal@lists.freepascal.org"
                    target="_blank" moz-do-not-send="true">fpc-pascal@lists.freepascal.or<wbr>g</a><br>
                  <a
                    href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal"
                    rel="noreferrer" target="_blank"
                    moz-do-not-send="true">http://lists.freepascal.org/cg<wbr>i-bin/mailman/listinfo/fpc-pas<wbr>cal</a></div>
              </div>
            </blockquote>
          </div>
          <br>
        </div>
        <div class="gmail_extra"><br>
        </div>
        <div class="gmail_extra">
          <span
style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">C#
            itself is heavily inspired by Delphi though, as it's another
            Anders Hejlsberg project. I fail to see what the "spirit of
            the language" has to do with anything as far as attributes,
            either.</span>
          <div
style="font-size:small;text-decoration-style:initial;text-decoration-color:initial"><br>
          </div>
          <div
style="font-size:small;text-decoration-style:initial;text-decoration-color:initial">Shouldn't
            the attribute tags just be put wherever it's easiest for the
            compiler to deal with them?</div>
        </div>
      </div>
    </blockquote>
    If we go by that then the current attribute syntax is especially
    bad, because the compiler now needs to gracefully fail with
    declarations like this:<br>
    <br>
    === code begin ===<br>
    <br>
    [TSomeAttribute]<br>
    uses<br>
      foobar;<br>
    <br>
    === code end ===<br>
    <br>
    If there'd be a syntax to add them as postfix ones then it would be
    easier for the compiler (the following is merely an example):<br>
    <br>
    === code begin ===<br>
    <br>
    type<br>
      TSomeClass = class(TObject) with [TSomeAttribute]<br>
        fSomeField with [TSomeOtherAttribute]: LongInt;<br>
        property WhatEver: LongInt read fSomeField with
    [TYetAnotherAttribute];<br>
      end;<br>
    <br>
    === code end ===<br>
    <br>
    <blockquote type="cite"
cite="mid:CAL4d7Fi5VOE7CgbEL6cr0LFCUy3B2UJV=JqN4ArS_d+mB6DU-Q@mail.gmail.com">
      <div dir="ltr">
        <div class="gmail_extra">
          <div
style="font-size:small;text-decoration-style:initial;text-decoration-color:initial"><br>
          </div>
          <div
style="font-size:small;text-decoration-style:initial;text-decoration-color:initial">I
            think the vast majority of people care far more about how<span> </span><i>useful<span> </span>Pascal actually
              is in real life</i><span> </span>than they do</div>
          <div
style="font-size:small;text-decoration-style:initial;text-decoration-color:initial">about
            whether or not it fulfills some not-well-defined notion of
            "spirit". <br>
          </div>
        </div>
      </div>
    </blockquote>
    And that's why there are people who *do* care about it. Of course
    you can put everything and the kitchen think into a language. But if
    it doesn't fit the language than you'll simply end up with a melting
    pot that doesn't feel coherent. Also while people might not
    consciously think about the spirit of the language I think they'll
    feel if the language is coherent with itself or not.<br>
    <br>
    <blockquote type="cite"
cite="mid:CAL4d7Fi5VOE7CgbEL6cr0LFCUy3B2UJV=JqN4ArS_d+mB6DU-Q@mail.gmail.com">
      <div dir="ltr">
        <div class="gmail_extra">
          <div
style="font-size:small;text-decoration-style:initial;text-decoration-color:initial"><br>
          </div>
          <div
style="font-size:small;text-decoration-style:initial;text-decoration-color:initial">Also,
            as far as I can tell, most of the people who use FPC would
            consider the Delphi way to be the correct or normal way of
            doing things in the first place.</div>
        </div>
      </div>
    </blockquote>
    Considering that more often than not there are discussions on these
    lists if we should continue to follow Delphi compatibility or not
    you might be surprised...<br>
    <br>
    Regards,<br>
    Sven<br>
  </body>
</html>