Ah yes...exponentiation. There's a mildly interesting (mostly annoying) history around the choice of operator for it. Back in the good ol' days of C, it was much more common to find oneself twiddling bits than doing higher order math. A very useful operation if you are dealing with bits is the bit-wise XOR. In mathematics, this operation is usually represented with the ⊻ character. However, since this is not part of the base ASCII set of characters, the developers of C chose to use the next closest thing: ^.
But not Julia. Julia made two decisions early on in its development. First, Julia is very mathematics focused and tries to keep as close to traditional conventions from mathematics as possible. Second, Julia (like Swift and many other languages today) embraced the full unicode set for operators. Julia also made it easy to use these operators by allowing one to type \xor at the REPL, hit <TAB>, et voila:
julia> 2 ^ 3
julia> 2 ⊻ 3
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.