The EQUAL Dilemma

Equality is good.  Since politicians usually insist on their efforts to strive for equality, I believe equality is a positive thing. However, in computer programming, the equal sign is actually always a source of confusion, especially for beginners. You may believe that 1 + 2 = 3 is true. Sadly, it’s completely wrong in many programming languages. 1 + 2 == 3 is the way to go. In other words, to compare 2 things, we use 2 equal signs instead of just one.

C is odd and complicated. But it is very influential.

Since this usage of the equal sign has been replicated in many programming languages, it is a meme. The main way of building a new programming language is improving an existing programming language. C is the first programming language that uses “==” as a relational operator. Since it is a very influential one, many popular programming languages including Java, C#, Python that are strongly influenced by C picked up this usage. I’m sure that every computer programmer now gets used to this way of comparing things. Needless to say, C has been very successful in replicating this odd usage of the equality sign.

According to Susan Blackmore, “imitation is what makes us special”. Understandably, people learn how to code by imitating the ones who already know how to code. Therefore, this meme does involve a behavior. This behavior is simply required for everyone who wants to learn a popular programming language. Computer programmers simply continue to imitate this way of using the equal sign merely because this usage has been widely accepted.

This usage has always had a competitive variation. Surprisingly, it is the one equal sign (“=”). Admittedly, it is actually the way that adheres to the correct mathematical meaning of the equal sign. Some programming languages like Pascal, Smalltalk do use this way of comparing things. However, the way of using two equal signs has always won out. I believe that creators of programming languages and computer programmers really don’t want to make them special by using a meme that is a blatant violation of mathematics. The reason that they allow themselves to violate the rule is that they reserve the equal sign for the assignment operator. When x = 3, it means that they set the variable named x to the value 3. Programming languages that use only one equal sign for comparison invented the operator “:=” for assignment. Personally, I believe that the way of using two equal signs is more popular because we use the assignment operator more often. Typing only one equal sign will help programmers save their time a bit. That’s why the mathematically wrong meme is more widely replicated. Also, this meme seems to belong to a memeplex that somehow helps it replicate itself more effectively. Other operators in this memeplex like “!=” and “~=”  make the programmers become more familiar with this type of notation.

Personally, the most exciting thing about meme theory is the meme’s replicator power via a seemingly unreliable mean like imitation. It is totally understandable that DNAs that can store genetic information with high accuracy are the key to the success of gene’s replicator power. In contrast, it is reasonable to doubt that imitation is a trustworthy method to transmit information. In fact, in the above example, programmers can use just one equal sign to compare two things as it is more intuitive, however, they still can accept the two-equal-sign notation by imitating others and more importantly, they get used to it. The fact that the way of using two equal signs is very popular shows the power of imitation.

However, I disagree with Richard Dawkins about the idea that memes are selfish and it explains its replicator power. I think the meme’s replicator power sometimes can depend on people’s decisions to replicate the meme or not. For example, if the creators of some C-style programming languages like Java, C# decided not to use the two-equal-sign operator, it would not become very popular as it is now. In other words, one can only accept a meme if he or she intentionally imitate others.

This entry was posted in Blog #3. Memes and tagged , , , . Bookmark the permalink.

Leave a comment