三項演算子なんてなくなればいいw [プログラミング]
三項演算子って見にくいですよね。goto文ほど悪いってわけじゃないですけど、可読性を犠牲にして短く書こうとする典型的な例な気がしますね。
まだ単体で三項演算子を使っている分ならいいですが、入れ子にして使うとか狂気の沙汰としか思えません。意図的に読みにくくしたいと思っているとしか思えない。C言語がまだメジャーだった時わざと読みにくくするようなテクニカルな書き方をする馬鹿者がいたけれど、UNIXを扱っている人関係に多いようであった。
たぶん三項演算子はC言語から始まったと思うんだけど、C言語のメジャーさから三項演算子も広まっていってしまったんだろうなと。C言語にはポインタ周りをはじめとした、わかりにくい書き方が結構オンパレードなんだけど、最近の言語はそういうところは気を付けて繰り返さないようにはしているっぽい。
PHPでも三項演算子は良く使われていた。確かに一行で済む分、コード的にはすっきりするんだけど、やはり三項演算子を入れ子にしているところもあって、いい加減にせいやと思ってしまう。
PHP7では三項演算子を入れ子にしていることに文句を言いだすようになって、意図的に丸かっこを使って順序を指定しないと、ワーニングかなんかが出るようになっていた。というかPHPの三項演算子って他の言語と発動する順序が違うみたいなんだよね。
https://qiita.com/suin/items/fb5f21f8d1a75542bd8e
そういうところがPHPが嫌われる要素になっているのだろうけど、そういう処理をするんだから仕方がない。ただ常識と違うところに何か意図的な何かがあればいいんだろうけど、大した理由もなく一般的な理解から離れたことをしていると、みんなから違和感があると言われる。
PHPがディスられることについて、自分としてはそれほど叩くほどではないと言ったことがあるが、個別の事項については納得できるわけじゃない。世間で言われているのは、そういう積み重ねなんだろうけど、使っていて文句が出ない言語っていうのはないんじゃないかと思うんだよね。一長一短だからこその色々な言語のある世界があるのだろうし。
言語があまりたくさんあるのは面倒だけど、色々選べた方が健全な社会といえるだろう。ただ、仕事になるとメジャーな言語はあるし、メジャーじゃなくてもやらないといけないこともあるわけで。ただ、普通の言語よりか違いは少ないので、多言語を使うと言うこと自体はそんなに無理があるわけではない。普通の言語と違ってイディオムは少ないし、組み合わせで仕組みを作ると言う点についてはどのコンピュータ言語も同じだ。組み合わせて使うから可読性というか読みやすさは使いやすさに直結してくる。メンテを考えると書きやすいけど読みにくいというのはまかりならないというのは切実だったりはするけど。
三項演算子は短い分には書きやすいし、読み難くもない。だけど使い方がぞんざいだと一気に可読性が下がる。今は言語レベルから読みにくいものは排除されがちなので、今後採用されることは少なくなるかもなと思ったりしている。Swiftにはなかったような気がする。普通に考えればなくてもいいものは無くしてしまうというのが英断だとは思う。
まだ単体で三項演算子を使っている分ならいいですが、入れ子にして使うとか狂気の沙汰としか思えません。意図的に読みにくくしたいと思っているとしか思えない。C言語がまだメジャーだった時わざと読みにくくするようなテクニカルな書き方をする馬鹿者がいたけれど、UNIXを扱っている人関係に多いようであった。
たぶん三項演算子はC言語から始まったと思うんだけど、C言語のメジャーさから三項演算子も広まっていってしまったんだろうなと。C言語にはポインタ周りをはじめとした、わかりにくい書き方が結構オンパレードなんだけど、最近の言語はそういうところは気を付けて繰り返さないようにはしているっぽい。
PHPでも三項演算子は良く使われていた。確かに一行で済む分、コード的にはすっきりするんだけど、やはり三項演算子を入れ子にしているところもあって、いい加減にせいやと思ってしまう。
PHP7では三項演算子を入れ子にしていることに文句を言いだすようになって、意図的に丸かっこを使って順序を指定しないと、ワーニングかなんかが出るようになっていた。というかPHPの三項演算子って他の言語と発動する順序が違うみたいなんだよね。
https://qiita.com/suin/items/fb5f21f8d1a75542bd8e
そういうところがPHPが嫌われる要素になっているのだろうけど、そういう処理をするんだから仕方がない。ただ常識と違うところに何か意図的な何かがあればいいんだろうけど、大した理由もなく一般的な理解から離れたことをしていると、みんなから違和感があると言われる。
PHPがディスられることについて、自分としてはそれほど叩くほどではないと言ったことがあるが、個別の事項については納得できるわけじゃない。世間で言われているのは、そういう積み重ねなんだろうけど、使っていて文句が出ない言語っていうのはないんじゃないかと思うんだよね。一長一短だからこその色々な言語のある世界があるのだろうし。
言語があまりたくさんあるのは面倒だけど、色々選べた方が健全な社会といえるだろう。ただ、仕事になるとメジャーな言語はあるし、メジャーじゃなくてもやらないといけないこともあるわけで。ただ、普通の言語よりか違いは少ないので、多言語を使うと言うこと自体はそんなに無理があるわけではない。普通の言語と違ってイディオムは少ないし、組み合わせで仕組みを作ると言う点についてはどのコンピュータ言語も同じだ。組み合わせて使うから可読性というか読みやすさは使いやすさに直結してくる。メンテを考えると書きやすいけど読みにくいというのはまかりならないというのは切実だったりはするけど。
三項演算子は短い分には書きやすいし、読み難くもない。だけど使い方がぞんざいだと一気に可読性が下がる。今は言語レベルから読みにくいものは排除されがちなので、今後採用されることは少なくなるかもなと思ったりしている。Swiftにはなかったような気がする。普通に考えればなくてもいいものは無くしてしまうというのが英断だとは思う。
タグ:PHP
Twitterまとめ投稿 2020/06/13 [Twitter]
carbonhydratRT @tekina_osamu: 外交の安倍の実績。ロシアには三〇〇〇億円を貢がされた挙句、共同開発で主権問題を棚上げ。北方領土はロシアの法の下にあるという話になってしまった。この件に関して「日本の主権を守れ」と論陣を張ったのは共産党と『赤旗』ですよ。安倍ウヨの頭の中ってどう…06/12 20:26 carbonhydratRT @meow164: 庶民へのコロナ給付金を、渋って、ケチって、遅らせて、持続化給付金事業では中抜き問題まで引き起こしてる安倍自民党が、身内には臨時で200万円を渡してましたって、違法性が無くてもこんなん擁護してる奴は庶民の敵やろ。日本の敵やろ。06/12 20:28 carbonhydratRT @badassceo: 調子に乗っていいんだよ。他人を見下すのがダメなの。自分に自信を持つ事と他人を見下す事は全く別の話。調子に乗ると他人を見下すをセットでやっちゃうからダメなんです。調子には乗れ。ガッツリ乗ってけ。自信満々で何事にも果敢に挑んでいくのは良い事だ。だが他者…06/12 20:29 carbonhydratRT @Mkandhi091: もうこの国の政府むちゃくちゃか!! むにゃむにゃ!!06/12 20:32
2020-06-13 05:01
コメント(0)