On Sat, Apr 3, 2021 at 1:03 AM Greg Ewing <greg.ew...@canterbury.ac.nz> wrote: > > On 3/04/21 5:07 pm, John wrote: > > This fails when it's like b*((x*2^(3-a))-(7*c)), since > > you now have to look back and forth and get a handle on what each of > > the terms is. b x 2 3 a - ** * 7 c * - * is pretty much a set of > > steps (3 - a, raise 2 to that, multiply x by that, multiply 7 by c and > > subtract from the former results, multiply all that by b). > > Seems to me you're looking back and forth just as much here. > You're starting somewhere in the middle (how did you know to > start there?) then looking left for the 2 and right for the **, > then left for the x and right for the *, etc. etc. etc.
You know where to start because you stop at the first operator you hit and take the prior two things. > > The fact that you have to mentally follow a set of steps is > a *disadvantage* of RPN for me. I can look at b*((x*2^(3-a))-(7*c)) > and just *see* various things about it. For example, I can see > that 2 is raised to the power 3-a. I can see that b is multiplying > everything else. None of those things are obvious at a glance to > me from the RPN. What I see with RPN is a step-by-step operation. What I see above is a number of kernels that need to be separated out and ordered. Sure, you can immediately recognize and extract bits, but can you immediately follow the whole computatio? > > Sure, I can figure it all out, but it takes work, and I'm not > confident that I haven't made a mistake. Which means I'd much > rather audit an infix expression than an RPN one. I'm never confident I've not made a mistake with anything more than trivial infix. It's like reading perl. Using anzan takes work…at first. Eventually I stopped validating my arithmetic though: {(1,4),(2,3)}, {(1,9),(2,8),(3,7),(4,6),(5,5)} 374 + 297 = ? 3+2=5 7+4 = [(9,1)→7 - 1] 16 → 66 4+7 = [(7,3)→4 - 3] 11 → 671 I guess immediately recognizing addition as subtraction is work, but wow is it fast to just register and accumulate using a look-up table instead of counting up the digits and slowly jumbling them around. (There's a table for 5 because numbers can be represented on a 4/1 abacus and this makes it oddly fast to add single-digit numbers that don't overflow to 10, because they overflow to 5 and you can subitize up to 3) Point taken, but I'll have to mill it over and try and figure out if the perspective is rejection of the unfamiliar or something inherent in the human mind. All evidence I've gathered has indicated all human brains are basically the same—nobody is really smarter than anyone else, just piled up with different experience—so I have a large amount of bias in that kind of evaluation (i.e. if it's inherent, I must have done something in the past that specifically entrained some skill into my brain to make it different). > > -- > Greg > _______________________________________________ > Python-ideas mailing list -- python-ideas@python.org > To unsubscribe send an email to python-ideas-le...@python.org > https://mail.python.org/mailman3/lists/python-ideas.python.org/ > Message archived at > https://mail.python.org/archives/list/python-ideas@python.org/message/SHKTCOYDYDSXFKDHXWXQ647UKA5VFK4O/ > Code of Conduct: http://python.org/psf/codeofconduct/ _______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/IQ7N5W42CFX55GSQQKXXQCC4YEZEALSY/ Code of Conduct: http://python.org/psf/codeofconduct/