Have you ever taken a step back and looked at all the funny characters we use in programming computers?
I did this yesterday. Sometimes, when you look at familiar things in just the right light, they seem so strange.
I use the period to terminate all my sentences. In many programming languages the period is more of a continuation character. It says: “I’m going to act on this thing, and here is what I want it to do”.
boss.MakeMeASandwhich();
That code uses a semicolon to finish a statement; in writing the semicolon joins independent clauses. If symbols are so powerful, how can we juggle the conflicting meanings in our mind? Maybe Perl and C++ had part of it right using –> as a dereferencing operator.*
Sometimes a symbol will mean different things depending on how many times you type it. Like & versus &&. Or the = in JavaScript:
var x = 3; // assignment
if(x == "3") // check for equality
if(x === "3") // check for equality and i really really mean
// equality because i typed an extra = character
Then we use symbols that impart meaning due to their shape.
{
// i'm trapped inside a { } and I can't escape.
}
It’s really not a far stretch from using { } to creating ASCII art.
$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$'`$$$$$$$$$$$$$'`$$$
$$$$$$ $$$$$$$$$$$ $$$$
$$$$$$$ '$/ `/ `$' .$$$$
$$$$$$$$. i i /! .$$$$$
$$$$$$$$$.--'--' $$$$$$
$$^^$$$$$' J$$$$$$
$$$ ~"" `. .$$$$$$$
$$$$$e, ; .$$$$$$$$
$$$$$$$$$$$.' $$$$$$$$$
$$$$$$$$$$$$. $$$$$$$$
$$$$$$$$$$$$$ $by&TL$
In fact, I think you could get the above picture to compile into something useful in APL.
* It’s amusing that the Wikipedia entry for Dereference operator has a single “See also” link at this time, and that link points to Segmentation fault.