トップページ > プログラム > 2016年08月15日 > 8uNftPIu

書き込み順位&時間帯一覧

20 位/169 ID中時間01234567891011121314151617181920212223Total
書き込み数0011000000000000000000002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net

書き込みレス一覧

【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
508 :デフォルトの名無しさん[sage]:2016/08/15(月) 02:54:07.24 ID:8uNftPIu
Pythonが複数行ラムダで困っているのは
特殊な変数スコープのせいだよ
参照だけならアウタースコープ
代入があればインナースコープ
っていう糞みたいなアイデアのおかげで
もうどうにもならないよ
それで、Pythonの人たちは、無名関数なんか糞で、名前が無いのは糞
明示的に関数名を書け!って言いだして、そんな感じ
個人的に代入の有る無しでスコープが変わるのは気持ちが悪い

そもそもの原因は変数宣言を代入で代用したことに始まっていて
だから代入があればインナースコープに新しい変数が宣言されたことになるし
代入無しで参照のみなら宣言がないのでアウタースコープの変数ってことになってしまった
動的型言語で宣言時に型を決める必要がないからと、宣言を無くそうって、早とちり
残念ながら変数宣言には変数の型を決める役割の他に、スコープを決める仕事もあるわけだが
宣言をなくして、これを代入で代用したのがそもそもの失敗だね

結局スコープを決めるために変数宣言は必要なんじゃね?って話で
だったらついでに型名を書くのもアリだし、型推論させてもよいよねってことで
制的型言語大勝利!!
【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
509 :デフォルトの名無しさん[sage]:2016/08/15(月) 03:10:48.21 ID:8uNftPIu
動的型言語はどうも宣言を無くそうっていうエネルギーがあって
それもそのはずで
var i = 0 とか宣言書かされるのなら
int i = 0 って書くのも、auto i = 0 って書くのもタイプ量は大差ないわけで
そうすると動的型言語のディメリットばかりが目立ってくるから
明らかな目に見えるアドバンテージを得るために
どうにかして宣言を無くそうと企むわけだが
変数のスコープをどうやって表現するんだってところで煮詰まる
あの手この手って感じではあるが
Pythonのとった、代入に変数宣言を兼ねさせるという手は最悪手といえる
本質的に別なものが同一表現となり区別がない
X軸を動かすと一緒にY軸も連動するようなもの
確かにレバーは一つで済むが、これは便利なのか?

てことで、スコープの問題があるので変数宣言はあったほうが良いし
どうせ宣言をするなら型名を書いてもよいだろうし、型推論もあるので
静的型言語大勝利となったわけだ


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。