或阿呆のブログ

Pythonを好んで使っているプログラマです。Ruby,Perl,PowerShell,VBAなどでもたまに書いています。最近はスロット放浪記やってます。。

Pythonのインデントを強制されるのが嫌いについて。

Pythonのインデントを強制されるのが嫌い,Lispの括弧が嫌いってのはよく見かけるけど,CやJavaの文法が嫌いってのはあまり見かけない.どちらも言語に自分をあわせていることにはかわらないというのに.

何か、偏見入ってるなぁ。インデントを強制するのはPythonだけじゃないぞ。makeだって、タブでインデント入れないとエラー出すぞ。。。C言語やってても、make使うこともあると思うのだが、そっちは気にならんのだろうか。

C言語はむしろインデント強制するくらいでもいいんじゃないか・・・。

for(i = 0; i < 10; ++i){
  if(i == 5){
    break;
  }
}

だったり、、、

for(i = 0; i < 10; ++i)
{
  if(i == 5)
  {
    break;
  }
}

だったり、

for(i = 0; i < 10; ++i)
  {
  if(i == 5)
    {
    break;
    }
  }

だったりね。

ネストしていたりすると、ブロックの構造がわかりづらかったり、インデントがずれていたりして、紛らわしいことが多々ある。こんなくだらないところでバグの温床になるくらいなら、インデントも強制したほうがいいんじゃないかと。

最後のは、変態的と言われることもあるSymbianのインデントスタイル。Symbianがこんなスタイルをやっているのは、Pythonと似たような背景が理由になっているかと思われる。つまり、見た目でブロック構造がわかるようにするってところじゃないかな。

最初に使った言語がたまたまC言語だったりJavaだったりしたから、そう感じるだけじゃないのかなと。

要は慣れなんだよ。慣れると、インデントを強制されたほうが、気持ち良いもんだよ。例えて言うなら、空手とか剣道とかの型みたいな感じだろうか。窮屈な動作にこそ美しさがあるみたいな。

俺はというと、Pythonに慣れてからは、文末にセミコロン;つけるのも面倒だわ・・・。/*コメント*/もいまいち書きづらいしね。C言語でコーディングするときは、もはや、indentコマンド頼み。PerlでコーディングするときにPerltidy頼みになるのと同じ感覚。わかるかなこの気持ち・・・。