Why are there so many notations for Boolean logic?
 - English "and" "or" "not"

 - Sets `∩ ∪ '`

 - First order logic `∧ ∨ ¬`

 - Combinational logic `* + '`

 - C-style programming `&& || !`

 - Circuit diagrams

![and gate][1] ![or gate][2] ![not gate][3]

Set notation can be explained by the fact that set operations are different from bit operations.

C-style notation can be explained by the limitations of ASCII code (no caps or cups).

But still, there's a lot of unnecessary translation.

Why don't circuit diagrams just use boxes containing the mathematical symbols? Then you wouldn't have to look up every logic gate you're unfamiliar with. Not to mention that it's very hard to Google: ![and gate][1]

  [1]: http://i.stack.imgur.com/jjLsr.png
  [2]: http://i.stack.imgur.com/TjZx5.png
  [3]: http://i.stack.imgur.com/eSC44.png
Why are there so many notations for Boolean logic?
===

 - English "and" "or" "not"

 - Sets `∩ ∪ '`

 - First order logic `∧ ∨ ¬`

 - Combinational logic `* + '`

 - C-style programming `&& || !`

 - Circuit diagrams

![and gate][1] ![or gate][2] ![not gate][3]

Set notation can be explained by the fact that set operations are different from bit operations.

C-style notation can be explained by the limitations of ASCII code (no caps or cups).

But still, there's a lot of unnecessary translation.

Why don't circuit diagrams just use boxes containing the mathematical symbols? Then you wouldn't have to look up every logic gate you're unfamiliar with. Not to mention that it's very hard to Google: ![and gate][1]

  [1]: http://i.stack.imgur.com/jjLsr.png
  [2]: http://i.stack.imgur.com/TjZx5.png
  [3]: http://i.stack.imgur.com/eSC44.png