Original Post
With the advent of the next-generation programming languages (C++, Java, C#) that are more accessible to the global community, and the explicit support of Unicode code pages, has the time come to rethink our variable naming to include Unicode symbols? Here's a real-world example. This is from some C# code I wrote that implements T. Vincenty's iterative algorithm to find the path between two geodetics on an ellipsoid:
lambdaCurrent = deltaLambda +
((1 - C) * GeoLineCalculator._flatteningEllipsoid * Math.Sin(alpha)) *
(sigma + C * preComputedSinSigma *
(preComputedCos2SigmaM + C * preComputedCosSigma *
(2 * preComputedCos2SigmaM * preComputedCos2SigmaM - 1)
)
); Here's the same code, after being Unicode-ized: λc = δλ + (1 - C) * ω * Math.Sin(α) * (σ + C * sinσ * (cos2σm + C * cos2σm * (2 * cos2σm * cos2σm - 1)));</tt> Clearly the second is more readable than the first, and it looks closer to the sort of thing you might see in a textbook. To be fair, I didn't include the explanatory comments in the first version that might have helped the reader understand what was going on. But the point stands -- with widespread platform, language, and compiler support for Unicode, isn't it time we started rewriting our old rules for [0-9a-Z_] as the only valid set of identifier characters?

