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/

Reply via email to