スレタイ以外の言語も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
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 それ以前に、めんどくさいからって型書きたがらないような奴は現実にはほとんどテストなんか書いてないんだよ
動的型でテスト書けば問題ないだの必要なテストが増えるだのテストの正しさだのというのははっきり言って机上の空論
そもそも彼等はテストを書かない
動的型でテスト書けば問題ないだの必要なテストが増えるだのテストの正しさだのというのははっきり言って机上の空論
そもそも彼等はテストを書かない
373デフォルトの名無しさん
2017/12/17(日) 08:51:42.24ID:ROemoGKg そんなこというと、動的型付け言語を使っているから型を書いていないって人より
auto/varを使って意識的に型を書かない人の方がテストを書かない傾向があるって
言っているように聞こえるけど。
auto/varを使って意識的に型を書かない人の方がテストを書かない傾向があるって
言っているように聞こえるけど。
374デフォルトの名無しさん
2017/12/17(日) 09:04:39.97ID:cjnEvY5x375デフォルトの名無しさん
2017/12/17(日) 09:06:12.54ID:qBUEKR93 テストの目的は実装のバグを探すことだけか?
むしろ仕様をチェックすることが最も重要だよ
バグは直せばいいだけだが、仕様はうっかり変更されたら直せない
死んだ人が帰ってこないのと同じ
動的型の言語仕様を捨てて静的型に移行するのが難しい理由もその辺にありそうだ
むしろ仕様をチェックすることが最も重要だよ
バグは直せばいいだけだが、仕様はうっかり変更されたら直せない
死んだ人が帰ってこないのと同じ
動的型の言語仕様を捨てて静的型に移行するのが難しい理由もその辺にありそうだ
376デフォルトの名無しさん
2017/12/17(日) 09:14:23.72ID:i+M+l/V2 テストすら正しく書ける気がしないドカタにはメタプログラミングなんて無理
377デフォルトの名無しさん
2017/12/17(日) 09:48:44.61ID:G+5q9UaX378デフォルトの名無しさん
2017/12/17(日) 11:35:01.56ID:v3Bx338J379デフォルトの名無しさん
2017/12/17(日) 11:41:57.99ID:v3Bx338J テストのテストを馬鹿にしてるが、書くからな。
何重まで上に上がる?というのは論点がずれてて、要件定義書でテスト仕様書をテストする。(詳細設計なんかは無視する)
紙の上でかもしれんし、直交表書くかもしれんし、色々あるが、
要件定義や詳細設計からテストだけ書いて、その妥当性も判断せずにオールグリーンこれでオッケー、ならそれは間違ってると思う。
間違えない前提ならテストは要らない、はその通りで、どの開発レイヤにも「この場ではこれは間違っていないとみなす」というブラックボックスがある程度発生していく。
単体試験なんかで担保して、レイヤがあがるにつれてブラックボックスは増えていく。
そこにワザワザ、ヒステリックテストをする必要は無い。
ブラックボックス側から数値しか出さないなら、数値以外をチェックするのは過品質に近い。
何重まで上に上がる?というのは論点がずれてて、要件定義書でテスト仕様書をテストする。(詳細設計なんかは無視する)
紙の上でかもしれんし、直交表書くかもしれんし、色々あるが、
要件定義や詳細設計からテストだけ書いて、その妥当性も判断せずにオールグリーンこれでオッケー、ならそれは間違ってると思う。
間違えない前提ならテストは要らない、はその通りで、どの開発レイヤにも「この場ではこれは間違っていないとみなす」というブラックボックスがある程度発生していく。
単体試験なんかで担保して、レイヤがあがるにつれてブラックボックスは増えていく。
そこにワザワザ、ヒステリックテストをする必要は無い。
ブラックボックス側から数値しか出さないなら、数値以外をチェックするのは過品質に近い。
380デフォルトの名無しさん
2017/12/17(日) 12:06:03.05ID:pDfY69my >>367
細かくいうと「結局製品として必要な質を担保するのに必要なテストコードは変わらない」っていう主張な。少なくとも自分はこう思ってる
あくまで主観だし定量的に示せないんで上で上がってる通り空論といってもいいがな
少なくともコンパイルとLinter通った時点での品質は静的型が上なのは否定しない
が、自分の経験上、型チェック程度は他のテストのついででチェック進むから、そのせいでテストコードがかさむとかそういうケースはそうそうないはずなんだよな
細かくいうと「結局製品として必要な質を担保するのに必要なテストコードは変わらない」っていう主張な。少なくとも自分はこう思ってる
あくまで主観だし定量的に示せないんで上で上がってる通り空論といってもいいがな
少なくともコンパイルとLinter通った時点での品質は静的型が上なのは否定しない
が、自分の経験上、型チェック程度は他のテストのついででチェック進むから、そのせいでテストコードがかさむとかそういうケースはそうそうないはずなんだよな
381デフォルトの名無しさん
2017/12/17(日) 12:11:02.52ID:pDfY69my もちろん「テストコードと、一種の証明である型チェックの性質は違う」とかそういう理屈も理解してるが、
結局「製品としての質担保」という観点で見るなら、その程度の手段の差は全くもって関係なくなる、というのが自分の考え
この辺はテストに求める役割に対する考え方の違いかもしれん
結局「製品としての質担保」という観点で見るなら、その程度の手段の差は全くもって関係なくなる、というのが自分の考え
この辺はテストに求める役割に対する考え方の違いかもしれん
382デフォルトの名無しさん
2017/12/17(日) 12:14:39.63ID:pDfY69my あとPHPディスに絡めようとしてるやつがいるが、PHPは静的型動的型の以前の部分に問題があるし、
この議論で少なくとも自分が動的型言語の念頭においてるのはPythonやRubyだからな?
この議論で少なくとも自分が動的型言語の念頭においてるのはPythonやRubyだからな?
383デフォルトの名無しさん
2017/12/17(日) 12:18:57.69ID:028c4ua0 >>368
論破じゃなく、補足になるが、特に業務でプログラミングするならコスパ考慮して選んでるからねえ。
現実の工数は、要件変動も含めその時点でのコンパイラ・インタープリタで拾えない部分の不整合によるものが大きい(まだ合理化されてないとも言えるが)。
プログラミング言語の歴史見ると判るが、静的・動的とも互いに相手のいいところを取り入れて進化してきてる。
同時に、世の中のニーズ(個人が計算リソースを持つようになった、など)に対応した形でも変わってきている。
これは適用可能な領域を広げようとした結果。
オレ個人の例で言えば、業務要件==>計算モデル==>候補言語を複数選択。
その後、プロジェクト要件(期間、要求品質、メンバースキル、関係者が蓄積しているプログラミング資産など)との組み合わせが適しているものを勧めている。
なので言語仕様やライブラリ含めた挙動だけ比較しても、それはツールとしての現在の瞬間の姿を見てるだけなので、その評価が未来にも、業務にも適用できると考えるなら早計。
論破じゃなく、補足になるが、特に業務でプログラミングするならコスパ考慮して選んでるからねえ。
現実の工数は、要件変動も含めその時点でのコンパイラ・インタープリタで拾えない部分の不整合によるものが大きい(まだ合理化されてないとも言えるが)。
プログラミング言語の歴史見ると判るが、静的・動的とも互いに相手のいいところを取り入れて進化してきてる。
同時に、世の中のニーズ(個人が計算リソースを持つようになった、など)に対応した形でも変わってきている。
これは適用可能な領域を広げようとした結果。
オレ個人の例で言えば、業務要件==>計算モデル==>候補言語を複数選択。
その後、プロジェクト要件(期間、要求品質、メンバースキル、関係者が蓄積しているプログラミング資産など)との組み合わせが適しているものを勧めている。
なので言語仕様やライブラリ含めた挙動だけ比較しても、それはツールとしての現在の瞬間の姿を見てるだけなので、その評価が未来にも、業務にも適用できると考えるなら早計。
384デフォルトの名無しさん
2017/12/17(日) 12:57:26.41ID:v3Bx338J >>380
静的型が上というか、帳尻があっている、と言うことはわかるから、一つの方向としては正しいと思う。
ただ、本当にあっているか?小数は桁落ちしてないか?まで考えると、静的型でも、どの道ピアレビューなんかで担保するしかない。
これは言うとおり、ついでに型が充分かも見る、という動的言語のピアレビューと工数としては変わらん。
静的型が上というか、帳尻があっている、と言うことはわかるから、一つの方向としては正しいと思う。
ただ、本当にあっているか?小数は桁落ちしてないか?まで考えると、静的型でも、どの道ピアレビューなんかで担保するしかない。
これは言うとおり、ついでに型が充分かも見る、という動的言語のピアレビューと工数としては変わらん。
385デフォルトの名無しさん
2017/12/17(日) 13:01:33.13ID:2YAiyrnb 静的型のメリットで最も大きいのは依存関係が静的にほぼ完全に把握できることでしょ
自社事業の開発で常に動いているものを弄るなら、これ以上に心強いものはない
自社事業の開発で常に動いているものを弄るなら、これ以上に心強いものはない
386デフォルトの名無しさん
2017/12/17(日) 13:10:12.04ID:v3Bx338J 依存関係はどっちでも同じ程度じゃないの?
RoRみたいに、そのディレクトリに置いたら勝手に使用される、を想像してたら違うのかもしれんけど。
動的型も静的型も、リテラルでのimportやrequire、参照設定とusingでそれなりに決まる部分もあれば、
Node.jsだと変数でのrequireや、CなんかでのLoadLibraryなんかでも動的ロードなんかで全く決まらん事もあるんだし。
依存関係の解決はちゃんとそれ用に何か用意した方が良いと思うけど。
RoRみたいに、そのディレクトリに置いたら勝手に使用される、を想像してたら違うのかもしれんけど。
動的型も静的型も、リテラルでのimportやrequire、参照設定とusingでそれなりに決まる部分もあれば、
Node.jsだと変数でのrequireや、CなんかでのLoadLibraryなんかでも動的ロードなんかで全く決まらん事もあるんだし。
依存関係の解決はちゃんとそれ用に何か用意した方が良いと思うけど。
387デフォルトの名無しさん
2017/12/17(日) 13:23:12.52ID:qBUEKR93 モジュールの依存関係は型と関係ないね
「モジュール=型」とかいう超怪しい等式に依存するのは嫌だね
「モジュール=型」とかいう超怪しい等式に依存するのは嫌だね
388デフォルトの名無しさん
2017/12/17(日) 14:46:20.78ID:x6mh3PiV テストコードはテスト対象のコードより明快なものが一般的で、明快であれば人の目で判別しやすいってのも考慮すべきよ
テストを重ねるほど品質が上がるってのは空論だし、1重しかテストしないのは妥協してるからというわけでもないよ
テストを重ねるほど品質が上がるってのは空論だし、1重しかテストしないのは妥協してるからというわけでもないよ
389デフォルトの名無しさん
2017/12/17(日) 15:54:09.19ID:F+iLZcQ1390デフォルトの名無しさん
2017/12/17(日) 16:41:56.81ID:PjBbAu1N >>368
形式手法でコード自動生成しててもやっぱり高信頼性のためにはテストは必須だぜ?
形式手法でコード自動生成しててもやっぱり高信頼性のためにはテストは必須だぜ?
391デフォルトの名無しさん
2017/12/17(日) 17:52:05.86ID:v3Bx338J392デフォルトの名無しさん
2017/12/17(日) 19:31:01.08ID:AwDJJh6p 要件に寄らず、テストは最低8重ないとダメ
スレのレベルが低すぎる……♂
スレのレベルが低すぎる……♂
393デフォルトの名無しさん
2017/12/17(日) 23:06:04.33ID:lzYKowQo >>389
良く訓練されたPHPerは超力Grepを使いこなすから問題ないんだよなぁ
良く訓練されたPHPerは超力Grepを使いこなすから問題ないんだよなぁ
394デフォルトの名無しさん
2017/12/17(日) 23:23:38.60ID:qBUEKR93 メソッド呼出元検索、、今回ほど仕様バグが沸き起こる思いをしたことが無い…
395デフォルトの名無しさん
2017/12/17(日) 23:39:30.09ID:LyzNAsst396デフォルトの名無しさん
2017/12/17(日) 23:57:38.71ID:lzYKowQo つまり、動的型言語は山ほどテスト書かないとダメって言いたいんだろw
397デフォルトの名無しさん
2017/12/18(月) 00:07:07.45ID:oET30lFX 一応確認なんだけど動的言語じゃなく動的型付け言語の話なんだよね?
398デフォルトの名無しさん
2017/12/18(月) 00:58:28.12ID:9GZmy5yv >>396
テスト書く量は同じだよ
テスト書く量は同じだよ
399デフォルトの名無しさん
2017/12/18(月) 04:30:42.74ID:p9HDlb+0 >>398
ねーよ
ねーよ
400デフォルトの名無しさん
2017/12/18(月) 08:13:16.77ID:9GZmy5yv >>399
強い型付けの動的型言語なら、値に対するテストを書けば型に対するテストは不要です
assert(x > 0) というテストを書いたのに、さらにxが文字列かどうかテストする必要ははありませんね
反論するなら反例を出してくださいね
クソくだらない長文はいらないので
強い型付けの動的型言語なら、値に対するテストを書けば型に対するテストは不要です
assert(x > 0) というテストを書いたのに、さらにxが文字列かどうかテストする必要ははありませんね
反論するなら反例を出してくださいね
クソくだらない長文はいらないので
401デフォルトの名無しさん
2017/12/18(月) 08:13:41.10ID:UBkq3PS9 >>395
わからんならしたことがないって事だ。
わからんならしたことがないって事だ。
402デフォルトの名無しさん
2017/12/18(月) 08:28:29.94ID:9Kb0ajxH403デフォルトの名無しさん
2017/12/18(月) 09:01:45.44ID:yq3smURe >>400
自演乙
自演乙
404デフォルトの名無しさん
2017/12/18(月) 10:20:33.66ID:/BfrEM8a >>402
つまり、幽霊型とか依存型あたりを使い倒さないと今時のプロジェクトはまわらない、という認識でいいのか?
そりゃその辺りを使い倒さないと回らないプロジェクト前提なら、動的型付けでは無理な話になるが
それが必須な状況が、動的型付け言語のメタプログラミング並みに思い付かないぞ
つまり、幽霊型とか依存型あたりを使い倒さないと今時のプロジェクトはまわらない、という認識でいいのか?
そりゃその辺りを使い倒さないと回らないプロジェクト前提なら、動的型付けでは無理な話になるが
それが必須な状況が、動的型付け言語のメタプログラミング並みに思い付かないぞ
405デフォルトの名無しさん
2017/12/18(月) 12:43:07.93ID:h27G1UNw >>400
用途による。
弱い型付け言語でも、型無言語でも値に対するテストで充分な場合もあるし(要は、不正値が渡されてる時点で異常であって、その場合の動作は不定として構わないという要件の場合。よくある)
逆に強い型付け言語でも、強い磁界やノイズ源の間際で使われるようなものを書くときにはキチガイじみたテストもする。
a=170,b=85,a+b==255みたいなアサーションすら稼働コードにも並ぶし、それが成立しなかったらリセットかかるようにする。
用途による。
弱い型付け言語でも、型無言語でも値に対するテストで充分な場合もあるし(要は、不正値が渡されてる時点で異常であって、その場合の動作は不定として構わないという要件の場合。よくある)
逆に強い型付け言語でも、強い磁界やノイズ源の間際で使われるようなものを書くときにはキチガイじみたテストもする。
a=170,b=85,a+b==255みたいなアサーションすら稼働コードにも並ぶし、それが成立しなかったらリセットかかるようにする。
406デフォルトの名無しさん
2017/12/18(月) 12:54:00.44ID:mr3x/gYU ちなみにvscodeでnode.jsのコード補完が効くのはtypescriptの型情報の恩恵を得てるから
407デフォルトの名無しさん
2017/12/18(月) 21:36:27.12ID:9Kb0ajxH408デフォルトの名無しさん
2017/12/19(火) 01:10:12.61ID:lENhGj5D409デフォルトの名無しさん
2017/12/19(火) 02:45:28.87ID:4MuASRxE 具体例がなくても、長文を書けば何か言った気になれるからなwwwwww
410デフォルトの名無しさん
2017/12/19(火) 04:16:57.53ID:6mJgSo5a411デフォルトの名無しさん
2017/12/19(火) 07:49:40.76ID:yvsoeKM9 >>410
>静的な型で表現しようとしてがんばってる例
まあそういう事になるよね。
もともと計算モデルが違う(=問題解決へのアプローチが違う)
プログラミング言語同士を比較すれば、「一方は率直に実装できる」
フィーチャーが有るのは当たり前だしね。
理想はプロジェクト毎に最適の計算モデル、言語、スキルを揃える事だが
現実には、そういう要素が有ることを知らなかったり、教育投資を捨てたく
ないって理由で、合っていないモデルで無理やり進めてるのが現実。
>静的な型で表現しようとしてがんばってる例
まあそういう事になるよね。
もともと計算モデルが違う(=問題解決へのアプローチが違う)
プログラミング言語同士を比較すれば、「一方は率直に実装できる」
フィーチャーが有るのは当たり前だしね。
理想はプロジェクト毎に最適の計算モデル、言語、スキルを揃える事だが
現実には、そういう要素が有ることを知らなかったり、教育投資を捨てたく
ないって理由で、合っていないモデルで無理やり進めてるのが現実。
412デフォルトの名無しさん
2017/12/19(火) 08:55:34.79ID:9wTQQ92p >>408
反例じゃん?
反例じゃん?
413デフォルトの名無しさん
2017/12/19(火) 09:24:51.77ID:ngbi4CU2414デフォルトの名無しさん
2017/12/19(火) 13:04:54.40ID:lG4ryEsW >>410
動的型で項書き換え最適化や実行前の証明が普通になされているというなら、まあそうだね
動的型で項書き換え最適化や実行前の証明が普通になされているというなら、まあそうだね
415デフォルトの名無しさん
2017/12/19(火) 13:08:42.98ID:9wTQQ92p うん、反例の一つかと。
〜あるし、〜する(こともある)。
前者は言う通りにそれ以下のテストだけど、後者は型テストももちろんするし、その周辺のメモリの値すらテストする、って事なんだが。
カナリア知らんとかはやめてくれよ。
〜あるし、〜する(こともある)。
前者は言う通りにそれ以下のテストだけど、後者は型テストももちろんするし、その周辺のメモリの値すらテストする、って事なんだが。
カナリア知らんとかはやめてくれよ。
416デフォルトの名無しさん
2017/12/19(火) 13:20:03.85ID:/xuMeQeJ 次世代で証明されると期待される定理を今使う
クレジットカードみたいなやつ
動的型付けってそういう仕組みなんだね
クレジットカードみたいなやつ
動的型付けってそういう仕組みなんだね
417デフォルトの名無しさん
2017/12/19(火) 13:22:38.78ID:ngbi4CU2 ID:9wTQQ92p
こいつくせえな話が通じてねえ
例のガイジか
こいつくせえな話が通じてねえ
例のガイジか
418デフォルトの名無しさん
2017/12/19(火) 13:31:22.89ID:xjqFNtfj ガイ・スティール・ジュニア略してガイジ。
419デフォルトの名無しさん
2017/12/19(火) 14:57:09.50ID:9wTQQ92p 通じてないのはそっちだと思うけど。
理解できければ全部レッテル貼って理解を放棄するクセはいかがかと思うが。
理解できければ全部レッテル貼って理解を放棄するクセはいかがかと思うが。
420デフォルトの名無しさん
2017/12/19(火) 15:34:54.93ID:xjqFNtfj 人に理解してもらえることが当たり前だと思ってるようでは人生経験浅すぎるな。
現実とはそういうものだよ。
現実とはそういうものだよ。
421デフォルトの名無しさん
2017/12/19(火) 18:04:10.11ID:9wTQQ92p そこまでは言ってないがな。
まぁ、どうおかしいか理解させられない時点で同じ穴の狢かそれ以下なんだろ。
理解させる、という側の能力だけを評価するなら。
そこまで卑下しなくても良いのに。
まぁ、どうおかしいか理解させられない時点で同じ穴の狢かそれ以下なんだろ。
理解させる、という側の能力だけを評価するなら。
そこまで卑下しなくても良いのに。
422デフォルトの名無しさん
2017/12/19(火) 18:52:02.43ID:ngbi4CU2 >どうおかしいか理解させられない時点で同じ穴の狢
あDHDには何回か丁寧に説明してやったし、その度に「そういうことか。理解してなかった」って言われて来た
もううんざりだ。おまえであることがわかった以上もう説明せんよ
あDHDには何回か丁寧に説明してやったし、その度に「そういうことか。理解してなかった」って言われて来た
もううんざりだ。おまえであることがわかった以上もう説明せんよ
423デフォルトの名無しさん
2017/12/19(火) 19:28:03.33ID:cqTye8WP 「AならばB」に対して「Aでないときには〜」って話をして
反例になってると思う>>415ってプログラマとしてヤバない?
反例になってると思う>>415ってプログラマとしてヤバない?
424デフォルトの名無しさん
2017/12/19(火) 19:54:56.57ID:/xuMeQeJ ヤバい人がいても最近は誰も批判しない
批判は建設的じゃないと考えられているから
批判は建設的じゃないと考えられているから
425デフォルトの名無しさん
2017/12/19(火) 20:05:56.79ID:XSrelQ4n426デフォルトの名無しさん
2017/12/19(火) 20:47:02.26ID:dep2iFkQ 現実もほったらかしにしてるわ。
だからまともにテストのないコードがあちこちにある。。
だからまともにテストのないコードがあちこちにある。。
427デフォルトの名無しさん
2017/12/19(火) 21:09:05.12ID:+t5AZThl >>422
ほら、理解させられないw
ほら、理解させられないw
428デフォルトの名無しさん
2017/12/19(火) 21:45:39.68ID:hKOvQSVX 次世代言語の話をしろよ…
429デフォルトの名無しさん
2017/12/19(火) 22:19:39.18ID:IFsKBc84 次世代言語は静的型か動的型か?
430デフォルトの名無しさん
2017/12/19(火) 22:22:03.65ID:VYW2hLxr 静的型に決まってるやろ…
431デフォルトの名無しさん
2017/12/19(火) 22:42:35.74ID:ngbi4CU2 動的言語Clojureさん
432デフォルトの名無しさん
2017/12/19(火) 22:47:01.55ID:Vp6Wk3js 暗黙的な静的型付けが主流になると思う
頭の良い人間が多相を明示的に駆使して必死に辻褄合わせするんじゃなく、
コンパイラがフロー解析を頑張ることで人間に負担をかけずに厳密な静的型付けを実現する
メジャーどころだとTypeScriptはそういう方向へ向かいつつあるね
頭の良い人間が多相を明示的に駆使して必死に辻褄合わせするんじゃなく、
コンパイラがフロー解析を頑張ることで人間に負担をかけずに厳密な静的型付けを実現する
メジャーどころだとTypeScriptはそういう方向へ向かいつつあるね
433デフォルトの名無しさん
2017/12/19(火) 23:52:06.32ID:LaOLTVhQ 型無し旧世代ガイジどもは死ね
434デフォルトの名無しさん
2017/12/19(火) 23:55:12.83ID:IFsKBc84 ドカタ部門やハッカー部門など、部門ごとに次世代言語を決めた方が良さげ
435デフォルトの名無しさん
2017/12/20(水) 01:24:03.63ID:fcm+RWAl HaskellのIOモナドみたいのが主流になってきたら
実行時型付けも局所的に使えるけど
全体としては静的型付け、みたいな感じになりそう
実行時型付けも局所的に使えるけど
全体としては静的型付け、みたいな感じになりそう
436デフォルトの名無しさん
2017/12/20(水) 01:28:01.05ID:HrNa8kdY コードのどの部分で静的型チェックするのかってのが争点になるかもね。
437デフォルトの名無しさん
2017/12/20(水) 01:40:49.86ID:RSIhrBYE >>433
動的型付け言語の方が新しいんだよなあ
動的型付け言語の方が新しいんだよなあ
438デフォルトの名無しさん
2017/12/20(水) 02:07:25.86ID:KBs5e3Jn 新しければ常にいいなら世の中楽だな
439デフォルトの名無しさん
2017/12/20(水) 02:08:13.16ID:yTANvvcN 新しいものが良くないのは地獄すぎる
440デフォルトの名無しさん
2017/12/20(水) 06:17:59.95ID:megjw+LT 2世議員とかな
441デフォルトの名無しさん
2017/12/20(水) 07:55:10.76ID:YSR/eiRE >>437
プッ 恥ずかしい子・・・
プッ 恥ずかしい子・・・
442デフォルトの名無しさん
2017/12/20(水) 08:39:38.13ID:ODk3G9Dt >>439
単に新しいものでは地獄がまだ見えてないかもしれないだけかもしれんぞ。
単に新しいものでは地獄がまだ見えてないかもしれないだけかもしれんぞ。
443デフォルトの名無しさん
2017/12/20(水) 08:44:51.44ID:megjw+LT 人間万事塞翁が馬ということだな。
444デフォルトの名無しさん
2017/12/20(水) 22:58:07.90ID:HrNa8kdY とりあえず言っとくが
cobol だって perl だって vba だって php だって当時は新しかったんだよ。
cobol だって perl だって vba だって php だって当時は新しかったんだよ。
445デフォルトの名無しさん
2017/12/23(土) 01:16:52.24ID:t3UiuX8x 多重ディスパッチ
446デフォルトの名無しさん
2017/12/24(日) 00:50:02.64ID:g6gmcbUh Lispは神の言語
447デフォルトの名無しさん
2017/12/24(日) 01:04:50.15ID:WikwUycQ >>446
lisp のどのような特徴が、あなたをして神の言語と判断させるのか?
lisp のどのような特徴が、あなたをして神の言語と判断させるのか?
448デフォルトの名無しさん
2017/12/24(日) 03:09:03.29ID:zxcNg14q LISPは神がかってるけどSmalltalkはゴミ
449デフォルトの名無しさん
2017/12/24(日) 12:09:04.21ID:L0WbVZsM 神さまが話していたので神の言語です
450デフォルトの名無しさん
2017/12/24(日) 14:00:03.00ID:Em2lfTvP もう30年くらい前なのか、むかし16M位のメモリーのワークステーションで
LISPやってた連中は、メモリが足りないからLISPは流行らないんだみたいな言い訳言ってたけど、
個人用PCに32Gのメモリーが詰める時代になっても同じこと言ってるんだろうな。
LISPやってた連中は、メモリが足りないからLISPは流行らないんだみたいな言い訳言ってたけど、
個人用PCに32Gのメモリーが詰める時代になっても同じこと言ってるんだろうな。
451デフォルトの名無しさん
2017/12/24(日) 14:10:43.44ID:g6gmcbUh 実は俺はsetqとか嫌い
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国軍機がレーダー照射 小泉防衛大臣の説明に「矛盾している」中国外務省報道官が批判 [♪♪♪★]
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- 「これいいじゃん!!!」 セブン-イレブンの1620円で買える“1人用クリスマスケーキ”🎂に注目殺到「天才すぎる」 [パンナ・コッタ★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 ★2 [Hitzeschleier★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 【悲報】ジャップ、日中戦争に賛成が5割弱...軍歌の音が聞こえる... [856698234]
- とくに話題もないのでウンコ盗撮されたJKの動画でもどうですか
- ホロライブの天音かなたと角巻わためが不仲な理由ってなんなん???
- 死にたい
- ディルドは神
- 【悲報】小泉防衛大臣、中国のレーダー照射事件をNATO事務総長に報告 [834922174]
