Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I agree that it's a generally pointless distinctions, although it might be useful in some cases such as number systems where the multiplication isn't commutative, or for a particular implementation where the distinction matters.

After all if you were to code a multiplication that was implemented naively as a series of additions it'd be generally much faster todo 2x1000 than 1000x2.

To return to TFA I think the author is talking from a pedagogical standpoint, that teaching that multiplication is just a bunch of additions under a trench coat is not the best way to go. I'm not sure that I agree personally.

In particular this bit regarding multiplier/multiplicand makes zero sense to me:

>Different names indicate a difference in function. The multiplier and the multiplicand are not conceptually interchangeable. It is true that multiplication is commutative, but (2 rows × 3 chairs/row) is not the same as (3 rows × 2 chairs/row), even though both sets contain 6 chairs.

Of course 3 rows and 2 rows aren't the same, but what does it have to do with the order of the multiplication? Isn't 2 rows x 3 chairs the same thing as 3 chairs x 2 rows? It's a bizarre argument.




Suppose your friend Alice arranges your wedding. You ask her to arrange the lawn chairs in an arrangement of 2 rows and 3 columns. But she misinterprets your request as 3 rows and 2 columns. Oops. Now a particular family can't all sit in a single row without rearranging the chairs.

If all you care about is the total number of chairs, the order of operands is irrelevant. but if you care about the structure, "2 x 3" may encode information that "6" does not.


I address that point specifically in my comment. What you say is that the units of the operands matter, which I agree, but the order doesn't. 2rows x 3chairs and 3chairs x 2rows is the same thing.


Except we are talking about scalar multiplication, that was the premise, not matrices.


The point isn't "matrix multiplication != scalar multiplication". The point is "the process of evaluating a reducible expression inherently discards information about the original expression", which is a fact about evalution rather than any specific operator. The fact that "the information discarded is of little consequence to the compressed result" is a quirk specific to scalar multiplication. Thus, the commutative property distracts from explicitly modeling the "AST" so that the student understands what multiplication represents under the hood, beyond the rote memorization of scalar multiplication tables.

Perhaps an analogous situation would be: Suppose a teacher wanted to introduce the notion of limits to a calculus curriculum. "That makes zero sense. The only things a student needs to know are the shortcuts for each parent function, e.g. that (d/dx x^2) reduces to (2x) via handwavey magic." But what if an engineer needs to integrate over an arbitrary curve? Can students solve the problem without being comfortable with Riemann Sums? Maybe 1st-year calc students should rederive the shortcuts from scratch? "Except we're talking about a math course, not an engineering course."

> In particular this bit regarding multiplier/multiplicand makes zero sense to me.

> Isn't 2 rows x 3 chairs the same thing as 3 chairs x 2 rows? It's a bizarre argument.

It's bizarre to simias (and you, I assume) because y'all can't imagine performing the operation without thunking. (Don't get me wrong, I think "repeated addition" is the best method. I'm just attempting to explain the opposite perspective so that it feels less bizarre.)




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: