this post's header image


2 + 2 = 4

Whenever you've done math, you've used operators. +, -, /, * are all operators that tell you what to do with a set of operands. In fact, the definition is quite similar:

"A symbol which communicates how to change an input or set of inputs."

In math, we think of operating on numbers, but we can also operate on booleans, strings, and other data types.

Unary, Binary, Ternary operators

The prefix is the important part here. "Un-", meaning one, is an operator that operates on one input. Likewise, "bin-" and "ter-" mean two and three respectively.

Here are some examples.

Assignment vs Comparison Operators

You may have realized that "=" is an operator. In programming, you could assign something like, "x is equal to y," or you can compare something like, "is x equal to y?"

In both cases you would write that our more or less like "x = y". So programming languages often specify the assignment with one equals sign and the comparison operator with two. A valid example looks like this:

// assignment "="
var x = true;
var y = false;

// comparison "=="
if (x == y)
    Console.WriteLine("x and y are equal");
else if (x == true)
    Console.WriteLine("x is true");

Operators vs Functions

One thing that interests me is that an operator is almost like a special type of predefined function. If you think about it, functions take in 0-n parameters and return 0-1 values. We could replace the add operator with an add function relatively easily. If I was going to design a language today, I might try that out.

Next steps

I've told you what an operator is, but I haven't talked about many specific operators. Go look up boolean operators (as these are the basis for a lot of programs), and then make sure you understand the modulus operator. Learning these will give you practice replacing operator symbols with meaningful words, and then reading operations as a sentence in your head.

Respond to this post and join the conversation on DEV