2011年11月2期プログラム24: やっぱり動的型付け言語は大規模開発で効率が悪い 4 (40)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
やっぱり動的型付け言語は大規模開発で効率が悪い 4
- 1 :11/11/21 〜 最終レス :11/11/24
- 大規模と書いてドカタと読む。
やっぱり動的型付け言語は大規模開発で効率が悪い 3
http://hibari.2ch.net/test/read.cgi/tech/1320832914/
- 2 :
- スレタイで興味持った新規さん向けの要約
> 163 :デフォルトの名無しさん:2011/11/12(土) 00:37:41.74
> つーか日本の標準的な組織でどうかって話じゃないと意味なくね?
> ファウラーの環境を引用してどうすんの?
> 君らファウラーに匹敵するスキルを持っていて、周りもそういうレベルの奴に囲まれた環境で仕事してんのか?
>
> 165 :デフォルトの名無しさん:2011/11/12(土) 00:42:56.66
> >>163
> つまり日本の底辺ドカタに動的型は使いこなせるか?を議論すればいいのか
> じゃあスレタイも「動的型付け言語ではドカタは大規模開発できない」に変更しなきゃな
仕事で活用できないとあんま意味ないよ派
仕事でプログラミング学んだので他は知らね派
家でも趣味やOSSでプログラミングしてるよ派
仕事なんてしてませんが何か派
ファイッ
- 3 :
- PHPの動的型付け嫌だけどね
$a = "100";
これが文字列ではなく整数とみなされたりね
- 4 :
- 整数でいいと思うけど。
- 5 :
- だからPHPは「HTMLを構築して出力する」という特化目的に於いて許容される仕様(とどう煮ても焼いても許されざる仕様)が山ほどあると何度
PHPは汎用プログラミング言語ではない
- 6 :
- "100" + 1 とか 1 + "100" が
エラーにならない言語は
- 7 :
- あのさ、俺思うんだ。
PHPは知能を持っている。
「10:12」こんなメモを渡されたとする。
これなんだろう?
10対12?10時12分?
これ人間だったら状況に応じて意味をくみ取るわけ。
たとえばさ、秘書に「10:12に集合するよう徹底してください」こんなメモ
渡すでしょ。
ここで秘書が「10対12ってなんですか?ちゃんとわかるように書いてください」
とか言い出したら、この娘アホの子なのか?って思うよね。
結局、JavaとかCってアホの子なんだよね。
っていうか無能なの、知能がないの。
まああたりまえだけど。
でもね、PHPにはこれができる。
やっぱりPHPには知能があるんだよ。
- 8 :
- $a = "百";
と書けばいいだけ
- 9 :
- perlとかDみたいに文字列連結と足し算を区別してないのが問題だな
- 10 :
- awkをdisってんのか?
- 11 :
- JavaとJavascriptも?
- 12 :
- 個々の言語仕様ごとに意味が違うのに表層しか見えない >>9 の脳みそが問題
- 13 :
- awkは数の加算と文字列結合は分かれてる
1 1と並べて書けば文字列結合と解釈されて11になるし、1 + 1は2だ
- 14 :
- というか、どの言語もきちんと区別はしている(じゃないと処理できない)
人間が判断する見た目または他の言語と乖離していることがあるというだけに過ぎない
- 15 :
- エラーにもならず、人間が判断する見た目でも区別が付き難かったら
ミスに気付かず意図しないデータ型で動かしてしまう可能性が高まる
処理系が区別してるなんて話はそもそもしてない(んなもん当たり前)
- 16 :
- ポリモーフィズム全否定来ましたw
ハードディスクを交換したらファイル操作のコマンドが全部別のものになるのが正義なんだそうですw
- 17 :
- ポリモーフィズムじゃなくて、オーバーロードや暗黙の型変換の話ですが
- 18 :
- 同じ見た目でも、対象によって異なった動作をする、ということが気にくわないのでしょ?
- 19 :
- "1" + "1" => "11" で 1 + 1 => 2 のときに
"1" + 1 => ? をどうするかという問題だから
"1" + 1 => 11 なら数値が文字列に、
"1" + 1 => 2 なら文字列が数値に型変換されてる
こういう暗黙の型変換は分かり難い
"1" + "1" や 1 + 1 は否定してないので、
ポリモーフィズム全否定ではない
- 20 :
- >>18
同じ見た目なら常に同じ動作だ
1+"1"が文脈やランダム性によって2になったり11になったりすることはない
- 21 :
- …まあ、あれだ、 x + 1 が x の「型」によって結果が違う、みたいな話にしないと
リテラルで話をしていても微妙に埒があかない
- 22 :
- なんでいつもの人が反論してるんだろう...と思ったら
Javaも批判の対象だからかwww
- 23 :
- だれがいつもの人なんだろう
- 24 :
- >>17
じゃあ暗黙の型パラメータとか型クラスのメソッドの名前解決とかも全否定ですね。
- 25 :
- あ、それは全否定でいいや
両方持ってるScalaはRuby並みにキタネーし
- 26 :
- >>9
Perlは文字列の連結と足し算を演算子で区別すると思うが…
- 27 :
- 型がないと型ごとに演算子が増えるよね。
+ 数値足し算
. 文字連結
== 数値比較
eq 文字比較
みたいに。
- 28 :
- >>27
おまえ正気か?
- 29 :
- 変数に型がある/ない
値に型がある/ない
まずこれを区別するところからはじめようか
- 30 :
- その程度も区別できないからこそ
ドカタなわけですよ
- 31 :
- 数値の足し算と文字列連結の両方+にしたいと言ってる人は
足し算を意図している所で連結が起こる可能性を無視したバグプログラマと
文字列連結にされたくないってときに必ず
Number(a) + Number(b) とか書くような作業が大好きな人だけだろ
- 32 :
- 記号が増え過ぎる、って主張も解らんでもない
Haskell で ++ とか初めて見た時は「…それ、なんか無理してね?」と思ったし
- 33 :
- ・内部形式が数値か文字列かによって、足し算か連結か変わるのは良くない
・文字列の内容が数値かによって、足し算か連結か変わるのは良くない
・記号が増えすぎるのは良くない
・既存の記号に違う意味を与えるのは良くない
だれかこの堂堂巡をどうにかしてくれ
- 34 :
- 静的型付なら問題にならないでしょ
- 35 :
- 暗黙の変換がやたらあるのはよくない
静的なものではC、動的なものではJavaScriptの==演算子
- 36 :
- ていうか、Goを触ってみろ。
Cを作った奴等の次の次の言語、だけあって、Cのいいところを残して、
ダメな所がよく潰されている。
- 37 :
- >>34
静的型で暗黙コアージョンしまくりな言語がいいのか?
- 38 :
- >>36
Dartもそんな感じがするな。JavaScriptのスコープとトホホな点とかは
きっちり潰している。
- 39 :
- stやrubyみたいな規則だとわかりやすい
phpが場当たりなだけ
jsの==はある意味必然だろ
- 40 :11/11/24
- goいいよね
スクリプト的にも書けるし
ちょい面倒なとこもあるけどさ
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲