http://anond.hatelabo.jp/20080731154801
- インデントうぜー。ブロックの終端がわからんしワンライナーかけないし。
- アンダーラインをつかいすぎて美しくない。クォート3文字とか変すぎる。
- 二つ関係ないだろ、箇条書きの行分けろよ。
- アンダーライン使いすぎって__len__ とか? あれのおかげで普段回避しなくても良いし、使い方判らないときに検索しやすいよ。大量の予約語覚えなくていいのは便利だよ。
- クォート2文字だと、空白文字列と見分けつかないじゃん。
- クォート3つだと、奇数だから、対応してないエディタでも色分けが動いたりして便利。
- C言語族っぽい文法にしてよ。変える必要別にないじゃん。
- 下手に一部だけ似せて一貫性無くなる方が嫌。
- たとえば C の && と Python の and は別物。名前だけ同じにして動作違うとか逆に判りにくいじゃん。
- タプルってほんとに使いこなしてる人いるの?
- めっちゃ使ってる。リストと同じくらい使ってる。
- むしろ、関数の結果を参照渡しされた引数に入れるとかキモイ
- 内包表現わかりにくい。あれ英語圏の人にはわかりやすいらしいね、でも日本人だから。
- JavaやCには無いから、そーゆー言語しか使った事無い人には慣れるまでは判りにくいかもね。
- でも、リスト作って、forでまわして、リストに追加していくと、最低3行になるんだよね。超便利だから慣れろ。
- len() が美しくない、ちょう嫌。どこのBASICだよ、lengthにしてくれよ。つか全部オブジェクトにして .length にしてくれ。
- selfうぜー、ちょううぜー。
- for in rangeとかさいあく、基本の文がこんな仕様なのはいや。この点rubyのイテレータのほうがきれい。
- イテレータ?意味不明
- 3..5 みたいな記法のこと?なら、確かにうらやましい。
- 微妙にクラス機構が後付けなのが汚い。selfいらない。
- 後付というか、Rubyに比べるとクラスや関数を特別扱いしてない。多少面倒な事はあるかもしれないが、シンプルであって「汚い」というのは違うだろ?
- オブジェクトの外から見たらメソッド、中から見たらタダの関数ってのは結構良いぜ。
- ファイル=名前空間がなんか嫌。
- 気分の問題
- ボキャブラリが微妙にC言語・Unix文化からずれてて使いにくい。あたまわるいから新しいの覚えられないよ、過去の遺産は活用しようよ。
- 言語組み込み機能が少なすぎる。ライブラリインポートが多くてめんどい。reとかめんどい。いまどき言語コア最小機能主義って。もうちょっと入れようよ。
- インタラクティブモードなら、普段使うヤツを設定ファイルでimportしておけばいい。
- 汎用言語だから、どんなジャンルでも汎用に使う機能以外特別扱いしない方が綺麗じゃん。正規表現なんて使わないプログラム大量にあるし、使うアプリでも使う部分はごく一部だろ。
- ライブラリは結構充実してるけど Perl には劣る。
- そだね。でも、最近はPythonモジュールだけ標準添付なCライブラリ多いぜ。libxml2とか。
- 日本語のドキュメントがぜんぜんない。ちょっと深いことをやろうとすると全部英語。
- 英語のドキュメントがしっかりしすぎてて、わざわざ日本語で劣化ドキュメント書く気になれない。
- ソースコードが他の言語に比べて読みやすい。名前つき引数とかのおかげでコメントが一切無くても読みやすい。ドキュメントよりソースの方が信頼できる。
総評:とにかく微妙というか、中途半端につかいにくい。いまだにPerlが生きていたり、Rubyにキャッチアップされてるのも納得の出来。これがLL界を制覇したらPerlよりうっとうしい。
総評:他の言語の「常識」を刷り込まれた人には疑問に思うことが多いかもしれないけど、Pythonの開発者だってちゃんと他の言語を知った上で、常識にとらわれずメリットデメリット(書きやすさ vs 読みやすさとか)を比較して、ポリシーを持って設計してる。