Well, depends on your layout. That might be the case on a US keyboard but for many others (for example German, Spanish, the Nordic countries' layout and many other European and non-European layouts) it would be preferred over for example "//". For "//" you need to use a modifier (just as with '#') but you need to stretch more (or use both hands) and as well tap it two times. That's one of the reasons why I prefer to code using an English layout in my IDE/editor :)
Also relevant: http://rosettacode.org/wiki/Main_Page
Some parts are about language features, others are about implementations of algorithms in many languages.
There are a few other dimension to explore beside syntax. Like "are arrays 0 or 1 based?" etc
Apparently the author is now part of the opalang effort. They used to have a slightly weird syntax for their language and later changed that to have it look more like JavaScript. That's a strange move when concise syntaxes à la Ruby or CoffeeScript seem popular.
I haven't looked at everything, but the Perl variable identifier regexp is incorrect, as Unicode characters are allowed as of 5.12, which was released in 2010. For that matter, same goes for Java, except Unicode letters are allowed.
Java also allows currency symbols (e.g. £€$) as identifiers.
I know this because I had a colleague who was quite proud of having switched to Dvorak, and another colleague who immediately wrote a code-generation tool that emitted € characters in variable names...which are untypeable on a Dvorak keyboard. :)
My big takeaway is that Ruby generally does things the "most-popular" way, and that maybe a lot of those obscure languages are obscure for a reason (object["method"](params) to invoke a method?!?)
Go is missing from the analysis (sadly, because it's definitely more popular than some of the languages listed!) - but yes, casing is used to determine the scope of your variables. It's actually a rather elegant solution (I find Go's syntax to be generally elegant, but YMMV)
This glosses over some important syntactic differences. For instance, a semicolon is used differently in C than it is in Pascal. In C, it's a terminator; in Pascal, it's a separator.
Fair enough, my underlying point is that `assembly` isn't a language, it's a family of languages which have a set of characteristics which are tied very tightly to the instruction set used (often called an architecture). Comments would be a characteristic of the compiler, which you may call an 'assembler' if you wish, however an assembler is not a language.
http://hyperpolyglot.org/ provides comparisons between various "families" of languages - not just the above. But there isn't a comparison between, say, Ruby and Haskell.