スレタイ以外の言語もok
前スレ
次世代言語Part7[Go Rust Swift Kotlin TypeScript]
http://mevius.5ch.net/test/read.cgi/tech/1508403098/
次世代言語Part8[Haskell Rust Kotlin TypeScript]
■ このスレッドは過去ログ倉庫に格納されています
2017/12/01(金) 23:08:21.45ID:FxdZTiuZ
273デフォルトの名無しさん
2017/12/14(木) 08:31:59.97ID:GokG4kFP 連投ガイジ
274デフォルトの名無しさん
2017/12/14(木) 10:21:22.17ID:vseOcHr4 動的型付けの恩恵を一切受けないコードを書くなら
動的型でも型推論で補完が効くし、
補完が効かないなら動的型の恩恵を受けるようなコードを
知らないうちに書いてるってことだよ
動的型でも型推論で補完が効くし、
補完が効かないなら動的型の恩恵を受けるようなコードを
知らないうちに書いてるってことだよ
275デフォルトの名無しさん
2017/12/14(木) 12:16:59.44ID:vWSIvs9F なんでもガイジだなぁ
276デフォルトの名無しさん
2017/12/14(木) 12:51:31.09ID:rvUZFKGD なんでもガイジというか、ガイジがいっぱい沸いているだけ
277デフォルトの名無しさん
2017/12/14(木) 13:13:13.86ID:kS2O37CV 同じ人間でも脳の構造の違いにより考え方が全然違う。
つまり生まれつき脳の仕組みが全く違う人達がいる。
つまり生まれつき脳の仕組みが全く違う人達がいる。
278デフォルトの名無しさん
2017/12/14(木) 16:27:32.32ID:w0b2qkK/ 仕組みが全く違うというのがもし本当なら
速度のみを測定するベンチマークが信用できなくなる
だから仕組みは同じで速度だけが違うと考えるのが無難である
速度のみを測定するベンチマークが信用できなくなる
だから仕組みは同じで速度だけが違うと考えるのが無難である
279デフォルトの名無しさん
2017/12/14(木) 19:49:58.30ID:ZmHWuRBr >>272
rxはSubject使い始めると一気に邪悪化するからな
rxはSubject使い始めると一気に邪悪化するからな
280デフォルトの名無しさん
2017/12/15(金) 00:41:45.52ID:8bhjGnw1 型無しガイジどもは死ね
迷惑なんじゃ
迷惑なんじゃ
281デフォルトの名無しさん
2017/12/15(金) 07:01:30.05ID:18KhAamS 型推論より要件推論ください。
282デフォルトの名無しさん
2017/12/15(金) 07:10:42.24ID:lXr5oGUf プロミスってモナドだよな。いい意味で。
283デフォルトの名無しさん
2017/12/15(金) 08:27:21.30ID:TYCzXsyM 型があれば解決するかのように思ってる人が生き方を改めてほしいな。
実際問題、それだけに頼って地雷踏んだときはコアダンプ読む型なんて飾りですみたいなオッサン呼ぶ事になるんだし。
実際問題、それだけに頼って地雷踏んだときはコアダンプ読む型なんて飾りですみたいなオッサン呼ぶ事になるんだし。
284デフォルトの名無しさん
2017/12/15(金) 08:32:03.35ID:onuFSj3r だがそれは型による静的検証をしない理由にはまったくならない
285デフォルトの名無しさん
2017/12/15(金) 09:26:28.87ID:y+u48ms5 別にやればいいじゃんとしか言いようがない。
大抵糞どうでもいいキャストを付け加えるどうでもいい作業に時間を追われるだけだけどな。
大抵糞どうでもいいキャストを付け加えるどうでもいい作業に時間を追われるだけだけどな。
286デフォルトの名無しさん
2017/12/15(金) 09:27:43.95ID:onuFSj3r 底辺凄いな(こなみかん
287デフォルトの名無しさん
2017/12/15(金) 09:41:39.57ID:TYCzXsyM 型による静的検証で満足する理由にもならん。
288デフォルトの名無しさん
2017/12/15(金) 09:51:32.76ID:KrZVgz++ 静的型があれば全て解決するとは誰も言ってないが
動的より良いというだけだぞ
動的より良いというだけだぞ
289デフォルトの名無しさん
2017/12/15(金) 10:01:44.25ID:EYhpAKtT そらフレームワークに乗っかって用意された関数を呼ぶだけのドカタには
静的型の制約なんて関係ないだろうね
メタプログラミングなんてした事ないでしょ?めんどくさいよ静的型だと
静的型の制約なんて関係ないだろうね
メタプログラミングなんてした事ないでしょ?めんどくさいよ静的型だと
290デフォルトの名無しさん
2017/12/15(金) 10:19:01.73ID:CUNT7XlU こいつ相手をドカタかつメタプログラミングをしたことない奴と決めつけて何がしたいんだ……
291デフォルトの名無しさん
2017/12/15(金) 10:29:03.83ID:Wavcz0jA なんで静的型のほうが動的型より良いって前提で話を進めるんだこいつらは……
そんなに静的型が好きならYesodでRailsレベルのシステム構築してみろっつーの
そんなに静的型が好きならYesodでRailsレベルのシステム構築してみろっつーの
292デフォルトの名無しさん
2017/12/15(金) 10:44:03.14ID:CUNT7XlU そんな面倒なこと要求するならお前も何か動的言語でRails並のもの実装しろよな
293デフォルトの名無しさん
2017/12/15(金) 10:47:18.85ID:Wavcz0jA 静的型なら動的型より生産性高いって主張してる側が実装しろよ
なんで実証をこっちがやんなきゃいけないんだよ
なんで実証をこっちがやんなきゃいけないんだよ
294デフォルトの名無しさん
2017/12/15(金) 10:49:44.96ID:CUNT7XlU 実証責任を押し付ける上にテーマまで押し付けんなよ
テーマ量子化学で良ければ無限に実証してやるがやるか?
テーマ量子化学で良ければ無限に実証してやるがやるか?
295デフォルトの名無しさん
2017/12/15(金) 10:55:43.94ID:Wavcz0jA 静的型の言語はいちいちキャスト書いたり無駄にコード量がかさむ抽象クラス書いたりしてコード当たりの生産性低くなるし
メタプログラミングがかなり面倒になるしで、動的型と比べて工数が倍以上かかる
型チェックで検出できる程度のエラーなんて単体テスト書きゃ確認できる程度のモン
テスト書きたくないクソプログラマ未満には魅力的に映るんだろうがな
メタプログラミングがかなり面倒になるしで、動的型と比べて工数が倍以上かかる
型チェックで検出できる程度のエラーなんて単体テスト書きゃ確認できる程度のモン
テスト書きたくないクソプログラマ未満には魅力的に映るんだろうがな
296デフォルトの名無しさん
2017/12/15(金) 10:57:08.06ID:Wavcz0jA297デフォルトの名無しさん
2017/12/15(金) 11:06:17.66ID:lXr5oGUf 動的と静的は兄弟のようなものでお助けあっていきているんだね。
298デフォルトの名無しさん
2017/12/15(金) 11:23:17.29ID:CUNT7XlU おぅん?
なんだその妄想。静的型でもテスト書くぞ
それにJavaじゃあるまいしちゃんと書いてりゃキャストはいらんしょ
メタプログラミングはともかく、その二つは言語の問題じゃない
言語の問題じゃない所を挙げて優位を主張すれば良いなら
↓みたいなこと書けばいいのか?
動的型は引数の型情報をちゃんと書かないから人のコード読むのめっちゃしんどくて生産性が低くなるし、テストが足りずにいざ動かしたら意外な所で引っかかるボケコードも存在する(しかも型があれば引っかからないような所)
いちいちクラスのメタ的なマニアックな機能を使って書いた本人以外の読解がそれなりにしんどいコードにして拡張性を下げたりし始めるし
コードを読む時間が倍以上かかる
実例としては動的型付けとしてaseとpyquante、静的型付けとしてvaspとbigDFTでも提示しておこうかな
こんな感じでええんか?
なんだその妄想。静的型でもテスト書くぞ
それにJavaじゃあるまいしちゃんと書いてりゃキャストはいらんしょ
メタプログラミングはともかく、その二つは言語の問題じゃない
言語の問題じゃない所を挙げて優位を主張すれば良いなら
↓みたいなこと書けばいいのか?
動的型は引数の型情報をちゃんと書かないから人のコード読むのめっちゃしんどくて生産性が低くなるし、テストが足りずにいざ動かしたら意外な所で引っかかるボケコードも存在する(しかも型があれば引っかからないような所)
いちいちクラスのメタ的なマニアックな機能を使って書いた本人以外の読解がそれなりにしんどいコードにして拡張性を下げたりし始めるし
コードを読む時間が倍以上かかる
実例としては動的型付けとしてaseとpyquante、静的型付けとしてvaspとbigDFTでも提示しておこうかな
こんな感じでええんか?
299デフォルトの名無しさん
2017/12/15(金) 11:27:03.08ID:CUNT7XlU 挑発に乗って色々滅茶苦茶書いたものの実は俺は静的信者では無かったりする
300デフォルトの名無しさん
2017/12/15(金) 11:52:43.43ID:Wavcz0jA >>298
コードリーディングの過程で型情報がほしいって言うのは一理あるな。そのために間違った方のハンガリアン記法使うのもアホ臭い
ちゃんと設計してればキャストはいらないっていうのは、静的型言語では整数と浮動小数点数の組み合わせで四則演算すらできないって問題がある。OCamlがわかりやすいな
これを無理矢理できるようにHaskellみたくNum型クラスみたいなのを導入するとオーバーヘッドがかさむ
テストについては、結局型が通るか通らないか程度はテスト書く過程で見れるだろって話で、きちんとテスト書けばその程度の差は優位性にはならないんじゃないかってことな
そりゃテスト書かないと静的型でも動的型でも壊れたコードだ
コードリーディングの過程で型情報がほしいって言うのは一理あるな。そのために間違った方のハンガリアン記法使うのもアホ臭い
ちゃんと設計してればキャストはいらないっていうのは、静的型言語では整数と浮動小数点数の組み合わせで四則演算すらできないって問題がある。OCamlがわかりやすいな
これを無理矢理できるようにHaskellみたくNum型クラスみたいなのを導入するとオーバーヘッドがかさむ
テストについては、結局型が通るか通らないか程度はテスト書く過程で見れるだろって話で、きちんとテスト書けばその程度の差は優位性にはならないんじゃないかってことな
そりゃテスト書かないと静的型でも動的型でも壊れたコードだ
302デフォルトの名無しさん
2017/12/15(金) 12:18:48.75ID:Wavcz0jA OCamlは今時の静的型付け言語ではないのか?
303デフォルトの名無しさん
2017/12/15(金) 12:21:43.33ID:Wavcz0jA Scalaはこの問題を暗黙の型変換で対応してるが、これはこれで闇を醸造してるよな
304デフォルトの名無しさん
2017/12/15(金) 12:26:18.04ID:yHEncU/L 演算子オーバーロードを嫌う人がいるのは事実
演算子オーバーロードすると実行時にオーバーヘッドがかさむというのは嘘八百
演算子オーバーロードすると実行時にオーバーヘッドがかさむというのは嘘八百
305デフォルトの名無しさん
2017/12/15(金) 12:26:29.05ID:Q6E9xMBX 組み込みの数値型は自動変換する言語が多いし
静的・動的と関係ないね
静的・動的と関係ないね
306デフォルトの名無しさん
2017/12/15(金) 12:39:33.81ID:TYCzXsyM307デフォルトの名無しさん
2017/12/15(金) 12:41:17.66ID:TYCzXsyM308デフォルトの名無しさん
2017/12/15(金) 12:50:20.64ID:Wavcz0jA309デフォルトの名無しさん
2017/12/15(金) 12:56:07.91ID:Wavcz0jA 静的型でチェックできることは、単体テストを書く過程で自然とチェックできる
静的型のチェックにより、メタプログラミングが書けなくなり、本質的でない型合わせのための余計なキャストも増える
結局この二点なんだよな
静的型のチェックにより、メタプログラミングが書けなくなり、本質的でない型合わせのための余計なキャストも増える
結局この二点なんだよな
310デフォルトの名無しさん
2017/12/15(金) 12:58:02.72ID:Wavcz0jA 可読性についてはまあわからんでもない。正しい方のハンガリアン記法でも、接頭辞の管理はコード上にないからな
IDEのサポート込めば確かにリーディング速度は上がると言える
IDEのサポート込めば確かにリーディング速度は上がると言える
>>309
>静的型でチェックできることは、単体テストを書く過程で自然とチェックできる
逆だ、
単体テストでのチェック内容の一部は、テストを書くまでもなく静的型でチェックできる、だ
テストを書くまでもなく、成果物の品質を一定のレベルまで引き上げるのが静的型の特徴だ
メタプログラミングはそれようの総称型を使えばよい
本質的でないキャストは総称型(ジェネリクス)で基本的に全廃できる
>静的型でチェックできることは、単体テストを書く過程で自然とチェックできる
逆だ、
単体テストでのチェック内容の一部は、テストを書くまでもなく静的型でチェックできる、だ
テストを書くまでもなく、成果物の品質を一定のレベルまで引き上げるのが静的型の特徴だ
メタプログラミングはそれようの総称型を使えばよい
本質的でないキャストは総称型(ジェネリクス)で基本的に全廃できる
312デフォルトの名無しさん
2017/12/15(金) 13:45:16.34ID:Wavcz0jA >>311
>テストを書くまでもなく、成果物の品質を一定のレベルまで引き上げる
だからって単体テスト書かないって訳でもなかろう
その単体テストを書く過程で型検査などは自然とテストされるということ
型チェックをテスト書かない言い訳にするのはそれこそ最悪
>テストを書くまでもなく、成果物の品質を一定のレベルまで引き上げる
だからって単体テスト書かないって訳でもなかろう
その単体テストを書く過程で型検査などは自然とテストされるということ
型チェックをテスト書かない言い訳にするのはそれこそ最悪
313デフォルトの名無しさん
2017/12/15(金) 13:46:32.11ID:Wavcz0jA ジェネリクスで不要なキャストが撤廃できるなら、それはそうなんだろう
上で挙げた四則演算問題がジェネリクスでなんとかなるとも思えんが
上で挙げた四則演算問題がジェネリクスでなんとかなるとも思えんが
314デフォルトの名無しさん
2017/12/15(金) 13:59:37.30ID:6UtRgQBN315デフォルトの名無しさん
2017/12/15(金) 14:00:37.68ID:U+kqpzL7 四則演算問題って何?
316デフォルトの名無しさん
2017/12/15(金) 14:07:11.13ID:6UtRgQBN317デフォルトの名無しさん
2017/12/15(金) 14:58:25.54ID:57xWWF8w 走らせないとわからないテストより前に、コンパイルでエラーが検出できたほうがいいやろ
テストについて一から勉強しなおしなさい
テストについて一から勉強しなおしなさい
318デフォルトの名無しさん
2017/12/15(金) 15:13:05.84ID:yHEncU/L 静的型と動的型の対立をいくら勉強しても新しい発見はない
次世代の静的型を考えてるやつらは現在の静的型と対立するのだ
静的型と静的型を対立させる
どっちが勝つか全く予測できないから全く新しい成果を出せるのだ
次世代の静的型を考えてるやつらは現在の静的型と対立するのだ
静的型と静的型を対立させる
どっちが勝つか全く予測できないから全く新しい成果を出せるのだ
319デフォルトの名無しさん
2017/12/15(金) 15:50:55.50ID:y+u48ms5 コンパイラがバグもなく絶対的に正しければな。
コンパイラにそこまでの期待を背負わせた結果がc++の現状なわけだ。
ユーザーの仕様要求にはぼろくそ文句言う奴に限って、
コンパイラに理不尽な要求してる奴が多いってのはほんとなんなんだろうな。。
コンパイラにそこまでの期待を背負わせた結果がc++の現状なわけだ。
ユーザーの仕様要求にはぼろくそ文句言う奴に限って、
コンパイラに理不尽な要求してる奴が多いってのはほんとなんなんだろうな。。
320デフォルトの名無しさん
2017/12/15(金) 15:54:40.37ID:Wavcz0jA >>320
かわるねえ、テストはテスト書かなければならないし、すると書いたテストが間違っている可能性も否定できない
コンパイル時の型チェックは、つまるところソースの矛盾をつくのだから、それだけでソースの検証になりうる
ただ、型情報はコンパイル結果には含まれないのが普通だから、いうなれば無駄を書いているわけだ…
かわるねえ、テストはテスト書かなければならないし、すると書いたテストが間違っている可能性も否定できない
コンパイル時の型チェックは、つまるところソースの矛盾をつくのだから、それだけでソースの検証になりうる
ただ、型情報はコンパイル結果には含まれないのが普通だから、いうなれば無駄を書いているわけだ…
322デフォルトの名無しさん
2017/12/15(金) 16:03:06.34ID:Wavcz0jA >>321
結局「型チェックあるからテストの手が抜ける」論者か。話にならんな
結局「型チェックあるからテストの手が抜ける」論者か。話にならんな
>>322
それはお前の思い込み、テスト不要とはひとこともいっていないだろう?
それはお前の思い込み、テスト不要とはひとこともいっていないだろう?
324デフォルトの名無しさん
2017/12/15(金) 16:17:12.00ID:85mmUd/p 動的型付け言語でメソッド先頭に引数型チェックをずらずら書いてるコードを見た時は心底アホだなと思いました
325デフォルトの名無しさん
2017/12/15(金) 16:19:20.03ID:6UtRgQBN >>322
その言い方は「手を抜く」ことに関して批判しているのように聞こえるな。
プログラマなら手を抜くことに積極的なのはむしろ褒められるべきことだと思うが。
手を抜かないことを美徳とするなら伝統工芸の職人さんにでもなれば。
少なくともそんな考え方をするような人間はプログラマには向いていないよ。
その言い方は「手を抜く」ことに関して批判しているのように聞こえるな。
プログラマなら手を抜くことに積極的なのはむしろ褒められるべきことだと思うが。
手を抜かないことを美徳とするなら伝統工芸の職人さんにでもなれば。
少なくともそんな考え方をするような人間はプログラマには向いていないよ。
326デフォルトの名無しさん
2017/12/15(金) 16:28:14.91ID:Tb7zQwK9 >>324
そんなに自分のバカさを自慢しなくても…皆よくわかっているから
そんなに自分のバカさを自慢しなくても…皆よくわかっているから
327デフォルトの名無しさん
2017/12/15(金) 17:07:38.29ID:WQPs5rl9 >>300
javaの場合はクラス間のキャストと整数、小数間のキャストが同じ構文だから分かりにくいけどあれ全くの別物だから
後者はどちらかというと関数に近い
例えばStringをObjectにキャストしても変数の値(=メモリアドレス)は変わらない
でもlongをdoubleに変換したら変数の値自体が変わる
これは大きな違い
javaの場合はクラス間のキャストと整数、小数間のキャストが同じ構文だから分かりにくいけどあれ全くの別物だから
後者はどちらかというと関数に近い
例えばStringをObjectにキャストしても変数の値(=メモリアドレス)は変わらない
でもlongをdoubleに変換したら変数の値自体が変わる
これは大きな違い
328デフォルトの名無しさん
2017/12/15(金) 17:10:15.06ID:WQPs5rl9 静的型付けでもテストはいるけど数を減らせる
わざわざ機械がチェック出来る事を人がやる意味は?
あとオーバーヘッドどうのこうのって動的型付けの方がオーバーヘッドでかいやん
わざわざ機械がチェック出来る事を人がやる意味は?
あとオーバーヘッドどうのこうのって動的型付けの方がオーバーヘッドでかいやん
>>324
いや、それが、Java の本番コードでは執拗な null チェックはかかせないようですよ、はじめてみたときは目をうたがったな…
いや、それが、Java の本番コードでは執拗な null チェックはかかせないようですよ、はじめてみたときは目をうたがったな…
330デフォルトの名無しさん
2017/12/15(金) 19:17:26.70ID:Tb7zQwK9 >>328
静的型はより少ないテストデータで同等の品質を確保できるという実証データはある?
静的型はより少ないテストデータで同等の品質を確保できるという実証データはある?
332デフォルトの名無しさん
2017/12/15(金) 19:39:38.59ID:57xWWF8w >>329
今時NotNullアノテーションで対応するけどな
今時NotNullアノテーションで対応するけどな
333デフォルトの名無しさん
2017/12/15(金) 19:42:37.27ID:Q6E9xMBX スレタイの言語はどれも静的型付けやなw
334デフォルトの名無しさん
2017/12/15(金) 20:07:05.04ID:6UtRgQBN >>330
説得力のある実証データはたぶんないだろうな。
だが逆説的に、動的型でも静的型と同等のテスト量で同等の品質を確保できる
という実証データがないだろうこともやはり同じだ。
「型付け」と「テスト量と品質」に関係性は「あるかもしれない」し、「ないかもしれない」。
そのことについて議論する価値はあるかもしれないが、
説得力のある実証データがないことが静的型付けを批判する理由にはなり得ない。
説得力のある実証データはたぶんないだろうな。
だが逆説的に、動的型でも静的型と同等のテスト量で同等の品質を確保できる
という実証データがないだろうこともやはり同じだ。
「型付け」と「テスト量と品質」に関係性は「あるかもしれない」し、「ないかもしれない」。
そのことについて議論する価値はあるかもしれないが、
説得力のある実証データがないことが静的型付けを批判する理由にはなり得ない。
335デフォルトの名無しさん
2017/12/15(金) 20:17:29.09ID:6UtRgQBN ちなみにあまり説得力のない実証データなら腐るほどある。
何故それらに説得力ないかというと、
テストの品質というものを正確に数値化できないからだろうな。
つまり、品質を正確に数値化する方法がない限りはそのことについては誰も実証はできない。
まずは品質の数値化について誰もが納得できるような方法を考えることからだ。
そして、それが簡単にできれば苦労はしていない。
何故それらに説得力ないかというと、
テストの品質というものを正確に数値化できないからだろうな。
つまり、品質を正確に数値化する方法がない限りはそのことについては誰も実証はできない。
まずは品質の数値化について誰もが納得できるような方法を考えることからだ。
そして、それが簡単にできれば苦労はしていない。
336デフォルトの名無しさん
2017/12/15(金) 21:49:32.08ID:HGhk3PLi 静的型と動的型の言語で、同程度の品質を担保するために必要なテストの量が変わらないと仮定するなら、
メタプログラミングのしやすさとコードリーディングの難易度を天秤にかけるだけの話になりそうだ
キャストについては、さすがにGoのinterfaceやらJavaのObjectは別として、それが本当に「本質的でない」場面があるとはどうしてもピンと来ない
上で例に出されてるOCamlの浮動小数点数と整数の演算だって、本来この2つを四則演算した結果が
浮動小数点数になるか整数になるかは本来非自明だから、どっちかに明示的に型を揃えろっていうのは
静的型動的型関係ない問題だと自分は思う
メタプログラミングについてはこれももう出てるけど、本当にそれが必要かって言われるとなあ
確かに記述量自体は短くなるけど、間違いなく可読性とトレードオフになる
メタプログラミングのしやすさとコードリーディングの難易度を天秤にかけるだけの話になりそうだ
キャストについては、さすがにGoのinterfaceやらJavaのObjectは別として、それが本当に「本質的でない」場面があるとはどうしてもピンと来ない
上で例に出されてるOCamlの浮動小数点数と整数の演算だって、本来この2つを四則演算した結果が
浮動小数点数になるか整数になるかは本来非自明だから、どっちかに明示的に型を揃えろっていうのは
静的型動的型関係ない問題だと自分は思う
メタプログラミングについてはこれももう出てるけど、本当にそれが必要かって言われるとなあ
確かに記述量自体は短くなるけど、間違いなく可読性とトレードオフになる
337デフォルトの名無しさん
2017/12/15(金) 22:40:22.38ID:19GjPIYk 「ノコギリと刺し身包丁の優劣」みたいな無意味な話はつまらん。
338デフォルトの名無しさん
2017/12/15(金) 23:34:56.14ID:WQPs5rl9 メタプログラミングみたいなのは型システム関係なくunsafeみたいな感じで一部分に閉じ込めて使うのが普通だからな
339デフォルトの名無しさん
2017/12/15(金) 23:53:14.51ID:/50W1d3E 最近は、Pythonでも型アノテーション書くようにしてるよ。
見返した時に、コメントで型情報を書くよりは
楽なんで(;´∀`)
見返した時に、コメントで型情報を書くよりは
楽なんで(;´∀`)
340デフォルトの名無しさん
2017/12/16(土) 00:22:41.60ID:ocig5iu9 >>333
TypeScriptは動的だよ。
TypeScriptは動的だよ。
341デフォルトの名無しさん
2017/12/16(土) 00:39:35.88ID:TWnq2dTt >>340
静的型でもあり動的型でもある不思議な言語
静的型でもあり動的型でもある不思議な言語
342デフォルトの名無しさん
2017/12/16(土) 00:56:52.03ID:puMNteBt TypeScriptは静的な型検査をしたいから作ったんじゃないんか?
343デフォルトの名無しさん
2017/12/16(土) 01:22:56.08ID:TZZbndKv 新しい言語の新しい議論でもあるのかと思って開いてみたら
20年前くらいの動的vs静的の罵り合いしかなかった
5ch死んでるな
20年前くらいの動的vs静的の罵り合いしかなかった
5ch死んでるな
344デフォルトの名無しさん
2017/12/16(土) 01:34:19.93ID:fQ+nYBte そう思うなら貴方にはこのスレは向いていなかったのでしょう。どうぞ卒業なさいませ
345デフォルトの名無しさん
2017/12/16(土) 07:38:33.30ID:g6YeJGmB 20年は言いすぎだが確かに今更な話題だな
346デフォルトの名無しさん
2017/12/16(土) 07:39:24.99ID:0YcySKum >>334
>説得力のある実証データがないことが静的型付けを批判する理由にはなり得ない。
完全に同意するし、同様に、
説得力のある実証データがない以上は動的型付けを批判する理由にはなり得ない。
と思うね。
>説得力のある実証データがないことが静的型付けを批判する理由にはなり得ない。
完全に同意するし、同様に、
説得力のある実証データがない以上は動的型付けを批判する理由にはなり得ない。
と思うね。
347デフォルトの名無しさん
2017/12/16(土) 10:07:20.76ID:pj2GdbCH 説得力のある実証データが無いとは限らない得ない。
発見されてない可能性のあるものを存在しないと断定し得ない。
発見されてない可能性のあるものを存在しないと断定し得ない。
348デフォルトの名無しさん
2017/12/16(土) 11:54:08.21ID:0YcySKum >>347
信頼できる具体的なデータを出してから出直してきな、ばーか!
信頼できる具体的なデータを出してから出直してきな、ばーか!
349デフォルトの名無しさん
2017/12/16(土) 12:02:59.86ID:pj2GdbCH 信頼できる具体的なデータがないことはなり得ない。
完全に同意するし、同様に、
信頼できる具体的なデータがない理由にはなり得ない。
完全に同意するし、同様に、
信頼できる具体的なデータがない理由にはなり得ない。
350デフォルトの名無しさん
2017/12/16(土) 14:57:13.50ID:GPVNoJ1v そういう白いカラスを探すような真似をせんでも。
動的静的、どちらも良いものだし、どちらにも反対側に寄せるような機能も今時はある。
そういう意味では「静的型付け言語だから間違いが少ない」と言う発想は明後日というか「間違うなと言うだけの話」として扱われても仕方ないっちゃ仕方ない。
今まで一回もキャストやポインタデリファレンスを使ったコードを書いたことがない奴だけがギリギリ石を投げても良いと思うが、そんなやつはごく少数だろ。
チェックが厳しくなるのは良い事だが、それがないと物が作れない(はず)なんて言うのは補助輪付きの自転車を指して「これが至高の自転車だ、なぜなら倒れないからだ!」って言うのと同じくらい暴論。
動的静的、どちらも良いものだし、どちらにも反対側に寄せるような機能も今時はある。
そういう意味では「静的型付け言語だから間違いが少ない」と言う発想は明後日というか「間違うなと言うだけの話」として扱われても仕方ないっちゃ仕方ない。
今まで一回もキャストやポインタデリファレンスを使ったコードを書いたことがない奴だけがギリギリ石を投げても良いと思うが、そんなやつはごく少数だろ。
チェックが厳しくなるのは良い事だが、それがないと物が作れない(はず)なんて言うのは補助輪付きの自転車を指して「これが至高の自転車だ、なぜなら倒れないからだ!」って言うのと同じくらい暴論。
351デフォルトの名無しさん
2017/12/16(土) 14:58:31.90ID:GPVNoJ1v そういう奴がRustのコンパイラにバタバタと倒れていくのは至極愉快だけどな。
最初からそれぐらい考えて作っとけよ、と。
最初からそれぐらい考えて作っとけよ、と。
352デフォルトの名無しさん
2017/12/16(土) 15:18:00.92ID:4mgESDS3 数値を引数にとる関数作ったら
境界値やゼロ値をテストするのが静的型
数値文字列オブジェクト思い付く限り全てテストしないと発狂するガイジが型無し池沼
こういうことでしょ?
境界値やゼロ値をテストするのが静的型
数値文字列オブジェクト思い付く限り全てテストしないと発狂するガイジが型無し池沼
こういうことでしょ?
353デフォルトの名無しさん
2017/12/16(土) 15:28:08.68ID:Dp1B/626 >>352
境界値やゼロ値をテストするコード書けば、文字列オブジェクトが入ってきたらエラーになるから
動的型でもそんなテストは必要ありません。
そんな当たり前の事も分からないなんて、君は本当に低脳だな。
境界値やゼロ値をテストするコード書けば、文字列オブジェクトが入ってきたらエラーになるから
動的型でもそんなテストは必要ありません。
そんな当たり前の事も分からないなんて、君は本当に低脳だな。
354デフォルトの名無しさん
2017/12/16(土) 15:32:04.21ID:GPVNoJ1v 逆の発想でしょ。
数値以外で呼んでなけりゃいいんだから、呼び出し箇所で引数が数値と推論できなければエラーにしときゃいいじゃん。解析上で。
仕様として数値しか取らないなら、数値に対するテストで十分でしょ。
静的言語でも数値以外を渡す方法が無いわけでも無い。程度論。
静的言語でもヒステリックなチェックが必要な案件もやっただけに、ホントに夢見てるんだろうなって思うわ。
引数を手当り次第にチェックする、という解法しか出て来ないのがそもそもキチガイじみてる。
数値以外で呼んでなけりゃいいんだから、呼び出し箇所で引数が数値と推論できなければエラーにしときゃいいじゃん。解析上で。
仕様として数値しか取らないなら、数値に対するテストで十分でしょ。
静的言語でも数値以外を渡す方法が無いわけでも無い。程度論。
静的言語でもヒステリックなチェックが必要な案件もやっただけに、ホントに夢見てるんだろうなって思うわ。
引数を手当り次第にチェックする、という解法しか出て来ないのがそもそもキチガイじみてる。
355デフォルトの名無しさん
2017/12/16(土) 15:34:15.25ID:GPVNoJ1v スタックもメモリも疑え、みたいなプログラム書いたこと無いんだろうな。
356デフォルトの名無しさん
2017/12/16(土) 15:41:18.50ID:4mgESDS3 お前も頭がパーエッチパーなのか?
357デフォルトの名無しさん
2017/12/16(土) 15:47:08.12ID:0YcySKum358デフォルトの名無しさん
2017/12/16(土) 17:20:40.73ID:4mgESDS3 型無し能無し糞バカパーエッチパーのバカがなんだって?
早く10年熟成のウリジナル社内フレームワーク保守する作業に戻れよ
早く10年熟成のウリジナル社内フレームワーク保守する作業に戻れよ
359デフォルトの名無しさん
2017/12/16(土) 20:13:15.10ID:GPVNoJ1v どーやっても無関係のPHPをけなしたいんです!
というある種の精神的ハンディキャップを持ってるみたいだから仕方あるまい。
というある種の精神的ハンディキャップを持ってるみたいだから仕方あるまい。
360デフォルトの名無しさん
2017/12/16(土) 20:18:13.50ID:GPVNoJ1v 考えてみたけど、むしろPHPの問題は型があったとしても多分変わり無く問題としてあり続けると思うな。
361デフォルトの名無しさん
2017/12/16(土) 20:50:00.94ID:GPVNoJ1v QCやると>>335は痛感するがな。
品質保証しなかった物が万一起こす損害と、品質保証したから避けられた損害はイコールじゃないし、
品質保証してしまった時点で、避けた損害の計上は机上の空論になってしまう。
避けるも何も起こらなかったんじゃないの?と過剰な心配とみなされがち。
起こっていたに違いない、と言うのは確かに空論だからな。
「改善できている品質」自体を点数化(そしてある程度これは王道もある)しても、「改善しなかった場合の品質」が見積値のままなので、恣意的と言われても仕方が無い。
同様の問題にコストカットもあるが、これも最初から織り込んで当初目的を果たしてしまうと話がややこしくなる。対費用効果が品証と同様に、実績値と見積値の比較になる。正しい比較じゃないのは確か。
一番、営業部や企画部や、ことによると開発部とも喧嘩になる数字。
なので、これに関して実証値を出せと言うのは、同じ事を、2つの方法で、全く同じ能力の人間が、二の轍を避けるというバアイスをかけないために初見で行った場合、の数値を出せと言う、無茶苦茶な要求になる。
パラレルワールドが発生してそれが一つの状態として観察出来る神が存在しない限りイチャモンのつけ放題。
要は無意味。
品質保証しなかった物が万一起こす損害と、品質保証したから避けられた損害はイコールじゃないし、
品質保証してしまった時点で、避けた損害の計上は机上の空論になってしまう。
避けるも何も起こらなかったんじゃないの?と過剰な心配とみなされがち。
起こっていたに違いない、と言うのは確かに空論だからな。
「改善できている品質」自体を点数化(そしてある程度これは王道もある)しても、「改善しなかった場合の品質」が見積値のままなので、恣意的と言われても仕方が無い。
同様の問題にコストカットもあるが、これも最初から織り込んで当初目的を果たしてしまうと話がややこしくなる。対費用効果が品証と同様に、実績値と見積値の比較になる。正しい比較じゃないのは確か。
一番、営業部や企画部や、ことによると開発部とも喧嘩になる数字。
なので、これに関して実証値を出せと言うのは、同じ事を、2つの方法で、全く同じ能力の人間が、二の轍を避けるというバアイスをかけないために初見で行った場合、の数値を出せと言う、無茶苦茶な要求になる。
パラレルワールドが発生してそれが一つの状態として観察出来る神が存在しない限りイチャモンのつけ放題。
要は無意味。
362デフォルトの名無しさん
2017/12/16(土) 20:53:09.27ID:GPVNoJ1v バイアスがどう間違ったかバアイスになってるわ。以外に読めるもんだな。ごめん。
363デフォルトの名無しさん
2017/12/16(土) 22:08:20.37ID:/LKsQL98 >>353
phpでも?
phpでも?
364デフォルトの名無しさん
2017/12/16(土) 22:37:18.69ID:ocig5iu9 >境界値やゼロ値をテストするコード書けば、文字列オブジェクトが入ってきたらエラーになるから
それをテストで確かめるんだろうが
それをテストで確かめるんだろうが
365デフォルトの名無しさん
2017/12/16(土) 23:57:56.53ID:g6YeJGmB 間違えない前提ならテストもいらんなw
366デフォルトの名無しさん
2017/12/17(日) 00:07:22.96ID:lzYKowQo367デフォルトの名無しさん
2017/12/17(日) 00:17:16.85ID:w0yPK3Np >>364
そこなんだよなぁ。
>>353は、動的静的どちらでも同じようにテストを書くことになるんだから
「結果、テストを書く手間(量)は一緒だろ」と言いたいんだろうが、
型については「テスト時に確かめるのが動的」、「コンパイル時に確かめてくれるのが静的」という違いがある。
「テスト時だろうがコンパイル時だろうがきちんと確かめることには変わりないんだからいいだろ」
という意見が動的派の主張のような気がするんだが(俺の勘違いだったら指摘してくれ)、
個人的にはテスト自体にバグが含まれる可能性があるという点で違うので、静的のほうが好ましいと思う。
コンパイラにバグがない保証はないがその可能性はかなり低いし、
まして、どこの誰が書いたかも分からないテストと比べればどちらが信用できるかは明らか。
静的でもテスト自体にバグが紛れることはもちろんあるが、型についてはコンパイル時にチェックされるので、
型チェックだけに焦点を絞ってみれば、やはり静的言語の方が信頼性は上だろう。
そこなんだよなぁ。
>>353は、動的静的どちらでも同じようにテストを書くことになるんだから
「結果、テストを書く手間(量)は一緒だろ」と言いたいんだろうが、
型については「テスト時に確かめるのが動的」、「コンパイル時に確かめてくれるのが静的」という違いがある。
「テスト時だろうがコンパイル時だろうがきちんと確かめることには変わりないんだからいいだろ」
という意見が動的派の主張のような気がするんだが(俺の勘違いだったら指摘してくれ)、
個人的にはテスト自体にバグが含まれる可能性があるという点で違うので、静的のほうが好ましいと思う。
コンパイラにバグがない保証はないがその可能性はかなり低いし、
まして、どこの誰が書いたかも分からないテストと比べればどちらが信用できるかは明らか。
静的でもテスト自体にバグが紛れることはもちろんあるが、型についてはコンパイル時にチェックされるので、
型チェックだけに焦点を絞ってみれば、やはり静的言語の方が信頼性は上だろう。
368デフォルトの名無しさん
2017/12/17(日) 00:30:03.31ID:w0yPK3Np >>365
すごく良い意見だと思う。
そもそもテストがあるのは人間は間違えるからというのが前提だからで、
そしてそのテストを書くのも人間なのでテスト自体も間違えている可能性がある。
それでもテストを書くのはチェックによって間違いを完全になくすことはできなくても
ある程度まで減らすことはできるという考えがあるからだろう。
そして、その考え方でいくとテストを重ねれば重ねるほど信頼性は上がるということになる。
つまり、テストのテストを行えば2重チェックとなりさらに信頼性が上がることになるが、
テストのテストを書くというのはあまりにもアホらしいので普通そんなことはしない。
つまり、通常のテストでのチェックは1重のチェックまでが限界となる。
それに対してコンパイラはコンパイラ自体がしっかりとテストされている。
つまり、コンパイラによる型チェックは言い換えればコンパイラ自体によるチェックと
コンパイラのテストによるチェックの2重チェックを同時に受けていることになる。
この考え方でいけば、ただのテストは1重のチェックだが、コンパイラによるチェックはそれだけで2重チェックとみなせる。
つまり、コンパイラによるチェックのほうが信頼性が高いということになるはずだ。
一応理論はしっかりと通っているはず。
自分で書いといてこんなこと言うのもなんだが「なんだかこじつけな気がして、あまり気に入らない」。
誰か論破してくれ。
すごく良い意見だと思う。
そもそもテストがあるのは人間は間違えるからというのが前提だからで、
そしてそのテストを書くのも人間なのでテスト自体も間違えている可能性がある。
それでもテストを書くのはチェックによって間違いを完全になくすことはできなくても
ある程度まで減らすことはできるという考えがあるからだろう。
そして、その考え方でいくとテストを重ねれば重ねるほど信頼性は上がるということになる。
つまり、テストのテストを行えば2重チェックとなりさらに信頼性が上がることになるが、
テストのテストを書くというのはあまりにもアホらしいので普通そんなことはしない。
つまり、通常のテストでのチェックは1重のチェックまでが限界となる。
それに対してコンパイラはコンパイラ自体がしっかりとテストされている。
つまり、コンパイラによる型チェックは言い換えればコンパイラ自体によるチェックと
コンパイラのテストによるチェックの2重チェックを同時に受けていることになる。
この考え方でいけば、ただのテストは1重のチェックだが、コンパイラによるチェックはそれだけで2重チェックとみなせる。
つまり、コンパイラによるチェックのほうが信頼性が高いということになるはずだ。
一応理論はしっかりと通っているはず。
自分で書いといてこんなこと言うのもなんだが「なんだかこじつけな気がして、あまり気に入らない」。
誰か論破してくれ。
369デフォルトの名無しさん
2017/12/17(日) 01:33:04.30ID:DD3iPSz/ コンパイラにバグはないとかさ。。
とりあえずvcを一通り使ってみてから言ってほしいな。
浅はかすぎる。
まあしかし静的チェックと動的チェックを両方やるならいいと思うよ。
これは結局、仕様と実際の動作のどっちもしっかりチェックする必要があるってこと。
とりあえずvcを一通り使ってみてから言ってほしいな。
浅はかすぎる。
まあしかし静的チェックと動的チェックを両方やるならいいと思うよ。
これは結局、仕様と実際の動作のどっちもしっかりチェックする必要があるってこと。
370デフォルトの名無しさん
2017/12/17(日) 02:06:25.44ID:an2T/Jmb 一般的な話をvc固有の問題で批判する方が浅はかと言わざるを得ない
371デフォルトの名無しさん
2017/12/17(日) 02:24:22.59ID:lzYKowQo 型も書けないような奴が
正しいテストを書けるだろうか?(irony)
正しいテストを書けるだろうか?(irony)
372デフォルトの名無しさん
2017/12/17(日) 08:41:58.60ID:cjnEvY5x それ以前に、めんどくさいからって型書きたがらないような奴は現実にはほとんどテストなんか書いてないんだよ
動的型でテスト書けば問題ないだの必要なテストが増えるだのテストの正しさだのというのははっきり言って机上の空論
そもそも彼等はテストを書かない
動的型でテスト書けば問題ないだの必要なテストが増えるだのテストの正しさだのというのははっきり言って机上の空論
そもそも彼等はテストを書かない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国とロシアの爆撃機、日本周辺で共同飛行 [少考さん★]
- 「中国側も日本機のレーダーを感知していた」 中国メディアが報道 [♪♪♪★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 高市早苗首相、消費税減税に後ろ向き 足かせはレジシステム? 「責任ある積極財政」期待高いが [蚤の市★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 低所得層のマクドナルド離れが深刻に 広がる「ファストフード格差」の真相 米国 [少考さん★]
- 防衛省、中国を完全論破www 「事前通告があったのは海自であって空自ではない」 高市早苗勝利 [175344491]
- 【朗報】カプコン「これからはロックマン・デビルメイクライ・逆転裁判を主力IPになれるように育てるわ」 [394133584]
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ★4 [597533159]
- 【悲報】JA「全然米が売れなくて倉庫を圧迫してる。助けて!」米卸売り業者「安売りしたら赤字になる…助けて!」 [802034645]
- 気が狂いそう
- 俺とお前らが美少女になりきってエロトラップダンジョンに挑戦するお話
