- rokujyouhitoma
- 30980
- 6
- 95
- 18
言語の使いやすさ使いにくさ、慣れ不慣れ、手に馴染む馴染まない、みたいなの、結局普段書くコードに対してのあらゆる要素を複合した話なので、どのリテラル/機能/文法がどうだからどう、という話をしてもだいたい意味ないと思う。作る側には多分意味があるけど、使う側は馴染むものを使えばよい。
2013-12-16 01:39:46セミコロン必須・推奨されてたらタイプするし非推奨ならタイプしないし、インデントも推奨に合わせるし、正規表現リテラルもあれば使うだろうし、あまり表面的な構文には興味が無い。一貫性がないとか、エラー処理のポリシーが破綻してるとか、玄人でも推奨する書き方に差が大きいのはダメだと思う。
2013-12-16 01:49:24その道の玄人が、他人には $q->bindParam($x, PDO::PARAM_INT) しろと教えておいて、自分は $x = (int)$x; $sql = "... LIMIT $x;"; みたいなコードを書くのとか良くないと思う。
2013-12-16 01:51:50ちなみに $x = (int)$x; が行けないのは、 $x が空文字列や全然違う文字列だった時にも $x = 0; になるので、エラーが起きてもさかのぼって $x の値が何か調べないと何が起こったのか解らなくなるから。
2013-12-16 01:54:48@junzabroP なんだけど、面倒で $q->execute("... LIMIT $limit", array($a, $b)); みたいに書いちゃうんですよね。。。 Python みたいに安全な書き方が簡潔な書き方というポリシーに慣れてるとその罪悪感で精神的に辛い
2013-12-16 01:57:41@kaoriya Python は int("Foo") が例外投げますが、 php は $x = (int)"foo"; は例外投げないですね。
2013-12-16 01:58:16“正規表現リテラルがあると便利な例。これを文字列操作メソッドで解決するとなるとかなり難しいと思われますがどうでしょう。 また、正規表現リテラルがなくてもじっさいにはあまり変” http://t.co/FsdXxWvYMO #正規表現
2013-12-16 09:12:29Python は正規表現リテラルないけど、リテラルある言語に比べて import re と数タイプのオーバーヘッドで正規表現使えて、その程度のオーバーヘッドを避けるために正規表現よりも面倒な文字列操作とかはしない。
2013-12-16 09:25:50w in x や w.startswith(x) を strpos($x, $w) >= 0 とか strpos($x, $w) === 0 とか書かないといけない言語で、正規表現必要ないのにシンプルな文字列操作の可読性が低いから正規表現を使うというケースの方が多いんじゃないか?
2013-12-16 09:28:21@methane 単純な固定文字列に対してのマッチングなら別に正規表現はいらないんですよ。特定パターンのマッチングや抜き出し、置き換えの時にこそ正規表現は力を発揮します。そいういう意味では昨日のgistの例は単純すぎました。
2013-12-16 09:31:19.startswith() があれば、コードレビューの時に ^ は文字列の先頭じゃなくて行頭だから \A 使え、いや multiline じゃないから ^ は文字列の先頭だ、いやいやそんなライブラリ依存のフラグとか覚えなくてもメンテナンスできる正規表現書けみたいな議論が要らない
2013-12-16 09:32:22startsWith()のある言語でstartsWith()で済ませられるケースなら、正規表現構文のある言語でもstartsWith()使いますよ。^か\Aかという議論は避けたいので。
2013-12-16 09:33:29@__gfx__ そんなことはないです。正規表現は必要です。ただ、すべての人が毎日使うものではないので、数タイプ削減するためにリテラル導入すると、逆に正規表現を使うために覚えないといけないことが増えるので、あったら便利だけどなくてもいいし、自分が言語設計者なら追加したくない。
2013-12-16 09:34:06@__gfx__ 単純な固定文字列に対してのマッチングのために正規表現使うコードをたくさん読んできたんですよ… (PHP...
2013-12-16 09:34:43@__gfx__ if (strpos($s, $needle)) を見て、先頭にあったら条件盛れるだろ >= 0 書けみたいなやりとりがある言語だと、 if (preg_match("^foo", $s)) みたいに書く人がいたりするんですよ…
2013-12-16 09:38:07@methane PHPの正規表現まわりはプログラミング言語屈指のカオスっぷりとききいています。PHPの経験で正規表現まわりの批判につなげるのはあまり適切とも思えません…。
2013-12-16 09:40:17