複数行コメントを導入した場合、複数行コメントのネストが問題になりますね。
たとえば、
コード:
ProcA()
procB()
=begin
procC()
procD()
=end
procE()
このようなコードを記述したあと、何か事情があり procB() 以降をすべてコメントアウトする必要が生じたとします。
コード:
ProcA()
=begin
procB()
=begin
procC()
procD()
=end
procE()
=end
こうすると、はじめの =begin 以降は =end までコメントと見なされるので、コンパイラからは次のように見えます。
コード:
] ProcA()
=begin
ここはコメント行
=end
procE()
=end
みてのとおり、ブロックの開始と終了が対応しません。 =begin 1個に対し =end は2個です。
とまあ、複数行コメントに関しては昔からよく怨嗟の声を聞きますから、個人的には =begin ~ =end のようなコンパイラの認識レベルではなく、エディタレベルでの複数行一括コメントアウト機能がよいと思います。
たとえば、選択行の先頭に ' を付加したり、それらを取り除いたりする機能です。
それに、 =begin ~ =end という書き方は何となくBASIC的じゃないですし。