<div dir="ltr"><br><br>Apropos of earlier discussions that <div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;display:inline">​assignment in ​</div>Python is about giving names to objects, <div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;display:inline">​and ​</div>not putting those objects in boxes, here's a blog post raising the alarm that Python (among others) is "completely incompatible with mathematics".<br><br><a href="https://blogs.ams.org/matheducation/2017/01/09/integrating-computer-science-in-math-the-potential-is-great-but-so-are-the-risks/">https://blogs.ams.org/matheducation/2017/01/09/integrating-computer-science-in-math-the-potential-is-great-but-so-are-the-risks/</a><br><br>Excerpt:<br><br>===<br><br>Making matters worse, programming languages like Java, JavaScript, Python, Scratch and Alice all rely on the concept of assignment. Assignment means that a value is “stored in a box”, and that the value in that box can be changed. Here’s a simple JavaScript program that demonstrates this:<br><br>x = 10<br><br>x = x + 2<br><br>The first line of code assigns the value 10 into a box named “x”. The second line reads the value back out, adds 2, and assigns the new value back into x. When the program finishes, x contains the value 12. Unfortunately, the semantics and syntax are completely incompatible with mathematics! In math, names are given to values, not boxes.<br><br>===<br><br>Following Kenneth Iverson, I think pre-computer math notations (MN) could benefit a lot from an infusion of ideas from these newer executable languages.  <br><br>He turns around the criticism of x = x + 2 by pointing out the ambiguity on in conventional math notation (MN):<br><br>===<br>MN uses the symbol = for a relation, but also uses it for assignment, as in the expression (Let) x=3. Again, to denote these two distinct notions without ambiguity, programming languages use distinct notation (that usually includes the symbol =), as in := (in ALGOL), and =: (in J).<br>===<br><br><a href="http://www.jsoftware.com/papers/camn.htm">http://www.jsoftware.com/papers/camn.htm</a><div><br><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">Drawing a line in the sand and saying "on this side is programming" whereas "on this other side is math notation", seems more a bureaucratic maneuver than anything.  </div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">There's a protection racket going on where self-appointed authorities are planning to warn us against "doing it wrong" i.e. not their way.  Many bogus certifications will follow.  Not that we shouldn't have standards.  The question is who's.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">math = math + cs</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">Kirby</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">​</div><br></div></div></div>