LL言語 と // コメント

C++ ユーザーだったら、 // といったらコメントアウトでしょう。
誰がなんと言おうと。

//コメントアウト

なのに、LL言語だとそれは少数派らしい。
なんで?

試してみよう

perl
//hello!
print "Hello Wolrd!\n";

perlはダメぽ。

rti@debian:~/lang$ perl a.pl
Bareword found where operator expected at a.pl line 3, near "//hello"
        (Missing operator before hello?)
syntax error at a.pl line 3, near "//hello"
Execution of a.pl aborted due to compilation errors.
php
<?
        //Hello!
        echo "Hello World!\n";
?>

php はOK。すばらしか。

rti@debian:~/lang$ php a.php
Hello World!
rti@debian:~/lang$
python
//Hello
print "Hello World!"

pythonはダメ。

rti@debian:~/lang$ python a.py
  File "a.py", line 2
    //Hello
     ^
SyntaxError: invalid syntax
ruby
//Hello
puts("Hello, world!");

ruby もダメ。

rti@debian:~/lang$ ruby a.rb
a.rb:1: unknown regexp options - Hll
・評価

一般的なサーバサイドなLL言語PHP以外 // でコメントができませんでした。
なんで、私はPHPを使いますw。
それが理由かよっ!! っていわれそうですが、そうなんですが何かといいたい。

、、、なんで、みんな // コメントが嫌いなんでしょう。。。
Cのコメント技法がそんなに嫌いなんでしょうか。


さて、サーバサイドではまだあまり利用されていないマイナー未来の言語いってみよーwww

lua
//Hello
print "Hello, world!"

lua もだめぽ

rti@debian:~/lang$ lua a.lua
lua: a.lua:2: unexpected symbol near `/'

'

haskell
//hello
main = interact $ const "Hello,World!\n"

haskellもだめぽ

rti@debian:~/lang$ ghc a.hs

a.hs:2:0: parse error on input `//'
・Spider-Monkey(javascript / firefoxjavascriptエンジン)
//Hello
print('hello, world');

javascriptなのでOK。
当然のように動作する!!!! すてき。

rti@debian:~/lang$ js a.js
hello, world


どの言語もたいていC言語で開発しているわけぢゃないですか。
なのにC言語風のコメントを採用しないのは、そこまでC言語が嫌いなんでしょうか。

何? // は C++スタイルだろうがボケェェェェって?

それならこれでどうだ!!

ブロックコメント調査 /* */

perl
/* hello! */
print "Hello Wolrd!\n";

perlはだめぽ

rti@debian:~/lang$ perl a.pl
Quantifier follows nothing in regex; marked by <-- HERE in m/* <-- HERE  hello! */ at a.pl line 2.
php
<?
        /* Hello! */
        echo "Hello World!\n";
?>

phpはもちろん動作する!!

rti@debian:~/lang$ php a.php
Hello World!
python
/* Hello */
print "Hello World!"

pythonもだめぽ

rti@debian:~/lang$ python a.py
  File "a.py", line 2
    /* Hello */
    ^
SyntaxError: invalid syntax
ruby
/* Hello */
puts("Hello, world!");

rubyはだめぽ

rti@debian:~/lang$ ruby a.rb
a.rb:2: invalid regular expression; there's no previous pattern, to which '*' would define cardinality at 1: /* Hello */
lua
/* Hello */
print "Hello, world!"

luaはだめぽ

rti@debian:~/lang$ lua a.lua
lua: a.lua:2: unexpected symbol near `/'
haskell
/* hello */
main = interact $ const "Hello,World!\n"

haskellだめぽ

rti@debian:~/lang$ ghc a.hs

a.hs:2:0: parse error on input `/*'
・Spider-Monkey(javascript)
/* Hello */
print('hello, world');

javascript は、もちろん動作する。

rti@debian:~/lang$ js a.js
hello, world
評価

と、言うわけで /* */ のコメントも phpjavascript しか動作しませんでした。
やっぱり、LL言語や他の言語の作者はC言語嫌いなの?