<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">El 03/07/2018 a las 01:26, Jim Lee
      escribió:<br>
    </div>
    <blockquote type="cite"
      cite="mid:88a472c9-d729-7ec9-8362-6b78a145986d@gmail.com">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <p><br>
      </p>
      <br>
      <div class="moz-cite-prefix">On 07/02/18 15:13, Wolf wrote:<br>
      </div>
      <blockquote type="cite"
        cite="mid:7209b3ba-27e6-958f-b2be-a62c9e0d7771@gmail.com">
        <meta http-equiv="Content-Type" content="text/html;
          charset=utf-8">
        <p>Not so long ago, Florian was proudly bragging about "Pascal
          does not allow you to <a moz-do-not-send="true"
href="http://www.toodarkpark.org/computers/humor/shoot-self-in-foot.html">shoot
            yourself in the foot</a>"</p>
        <p>What about this little program:</p>
        <p>program Project1;<br>
          <br>
          var a,b: byte;<br>
          begin<br>
            a:=1;<br>
            b:=a*(-1);<br>
            writeln(b);    // result: 255<br>
          end.<br>
              <br>
        </p>
        <p>The result is obviously correct, given how the variables are
          declared. But there are no compiler warnings / errors that the
          assignment b:=a*(-1) is fishy, to put it mildly. And if you
          are serious about strong typing, it ought to be illegal, with
          a suitable complaint from the compiler.</p>
        <p>Who is shooting whom in the foot?</p>
        <p>Wolf<br>
        </p>
        <br>
        <br>
      </blockquote>
      <br>
      Should the compiler balk at this as well?<br>
      <br>
      program Project1;<br>
      <br>
      var a,b,c: byte;<br>
      begin<br>
        a:=5;<br>
        b:=6;<br>
        c:=a-b;<br>
        writeln(c);    // result: 255<br>
      end.<br>
      <br>
      Without the implicit conversion of signed/unsigned values, the
      utility of the language is greatly diminished.<br>
    </blockquote>
    <br>
    Let's be honest, compared to C and many other languages (included
    C++, that is a suicide without extra-language analyzer tools),
    Pascal is very type secure. For instance, many languages allow
    assigning a float to an integer without any problem. Moreover
    without being clearly specified by language definition what the
    compiler should do, truncate or round.<br>
    <br>
    Pascal needs to break backward compatibility to advance, that is, in
    fact, a new language. But if pascal is struggling to survive, let
    alone a new language if you are not mozilla, google...<br>
    <br>
    <blockquote type="cite"
      cite="mid:88a472c9-d729-7ec9-8362-6b78a145986d@gmail.com"> <br>
      -Jim<br>
      <br>
      <!--'"--><br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
fpc-pascal maillist  -  <a class="moz-txt-link-abbreviated" href="mailto:fpc-pascal@lists.freepascal.org">fpc-pascal@lists.freepascal.org</a>
<a class="moz-txt-link-freetext" href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal">http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal</a></pre>
    </blockquote>
    <p><br>
    </p>
    <pre class="moz-signature" cols="72">-- 
Saludos

Santiago A.
</pre>
  </body>
</html>