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

You're trying too hard. The problem with "=" is usability. If you read the previous article about "why does = mean assignment" you'll find the true reason:

Since assignment is about twice as frequent as equality testing in typical programs, it’s appropriate that the operator be half as long.

Of course, that's wrong. Trying to make it easier to type, a bigger usability problem is created, assigning counterintuitive symbols to functionality that most people would not associate to them.

So the problem is not what = means in maths, it's what it means for people learning a language. Anyway, smadge is right: most of the uses in maths are of the kind "a little imprecission saves tons of explanation". In other words: that's not a question of what = is, but a question of how we use it to get things done.

Oh and then there is the "I'm used to it so it must not be so bad" crowd and the rationalization ensues.




I disagree with what the previous article states: There are languages such as Prolog where = doesn't mean assignment. In logic, = means equality, often modulo some theory. In Prolog, = means (syntactic) unification, which is distinguished from identity only by the different quantification of variables.

I would like to emphasize the distinction that smadge made, since distinguishing between universal and existential quantification is important to properly discuss different meanings and usage modes of equations.


> Trying to make it easier to type, a bigger usability problem is created, assigning counterintuitive symbols to functionality that most people would not associate to them.

How do you know? It seems no such problem has been reported, so the burden is on you to show it exists. I don't think people assume that the same token has the same meaning in different languages.


It seems no such problem has been reported

Oh, please. This has been a flamewar since the 80's. Every angle you can think of has been tried before. The real question is why are we still using plain text. A lot of the difference between languages is this kind of absurd minutiae taken too seriously as if we're discussing about the reality fabric instead of mere conventions.


A flamewar is a disagreement of opinion. I am not aware of any actual problem reported as a result of using the `=` sign for things other than equality or anything suggesting it is generally counterintuitive.


If I were you, I would start searching articles about a more interesting question: can everybody learn to program?

When you're teaching children, this is one of the most common complaints.




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: