アカウント名:
パスワード:
プログラムは(最終的に)テストが出来ます。(最終的に)テストが可能なのに、なんでTDD可能と不能が出来るのか、が問題です。そして「不能」側のカテゴリーは、(実用)プログラム学習に於いて、・全体が分からない・手順書を誰も作ってくれず、引継ぎがうまく行かないという、(実用)プログラムの「痼疾」について知見をもたらすかも知れません。 ・TDD可能プログラムカテは、 因果関係が必ず「xFy」になる。・TDD不能プログラムカテは、たとえば、 因果関係が「x1~x100Fy1~y20G(z1~z10Hr1~r2000)s1~s5It1~t30」 と言った複雑な因果関係となり、 しかもその因果関係が確定するのが、
>要するに、この様な木構造や入れ子構造の因果関係を持った(実用)>プログラムは真に「高階関数」でありと申しましたが、ゴールポストを動かさせて頂きます。 上記の内、「プログラム」というのが嘘です。そうでは無く、・アーキテクチャーレベルの検討を経て得た方針(世界の切り捨て) の範囲内での、・すべての可能世界(到達しうるすべての世界線)での「プログラムの バリエーション全て」です。 具体的に言うと、プログラムを考えている際の、・(インターフェースを壊すレベルの)リファクタリングによる プログラムのバリエーション・もはやリファクタリングと言えないレベルの(動作すら違うレベルの) プログラムのバリエーション全てを「高階関数」と言うという風に、ゴールポストを動かしたいのです。 この様な「高階関数」なら、"調べ学習をして初めて因果関係が判る"のも頷けます。トゥットゥルー!!
実用的なプログラムを作る際、プログラマーは「本当の事」を知りません。プログラマーはプログラムを何とかするだけでその人生の全部を使わなければやっていけないからです。 他人から「本当の事」を聞き出すのはまず無理です。同じことを何度でも裂いて、円環の理でも得れば別でしょうけれど、無いです。 とするとどうするか、・世界を切り捨てる。この最低ラインだけは「本当の事」を知る人間 にも守ってもらう。・その中で、「なになには正しい」ともその真反対とも、有り得ると して備える。・あらかじめテストでピン止めしておけば、「本当の事」は動かない などというのは幻想。です。動き得る全ての可能世界のプログラム全てを考える必要が有ります。 例えば、・複数人数でプログラムを作っていて、クラスのキャラが被ってしまった時、 別の可能世界に移る必要が有ります。・複数人数が、同じクラスを別のキャラと考えていても、別の可能世界に移る 必要が有ります。・「本当の事」を知っている人の、個々の知識と、まとめた知識が矛盾している 事が有ります。まとめた知識が個々の知識より簡便な場合、みんなから 褒められるからです。善意からの地獄です。 ですので、まとめた知識の簡便さと、その真反対はいずれも到達可能な 世界線です。・学校の先生がその講義内でのみなら、特定の可能世界のみにピン止めする事は 可能で、ならばTDDも可能でしょうけれど、それは学校の講義内だからです。とか、有ります。 つまり、動き得る全ての可能世界のプログラム全てを考える必要が有ります。仕事でやっているプログラマーはみんなそうだと思います。だから形にこだわったりして、少しでもあらかじめ世界を切り捨てておくのです。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
最初のバージョンは常に打ち捨てられる。
「陽にどういう分類の物になるか」試案 (スコア:1)
プログラムは(最終的に)テストが出来ます。(最終的に)テストが
可能なのに、なんでTDD可能と不能が出来るのか、
が問題です。
そして「不能」側のカテゴリーは、(実用)プログラム学習に於いて、
・全体が分からない
・手順書を誰も作ってくれず、引継ぎがうまく行かない
という、(実用)プログラムの「痼疾」について知見をもたらすかも
知れません。
・TDD可能プログラムカテは、
因果関係が必ず「xFy」になる。
・TDD不能プログラムカテは、たとえば、
因果関係が「x1~x100Fy1~y20G(z1~z10Hr1~r2000)s1~s5It1~t30」
と言った複雑な因果関係となり、
しかもその因果関係が確定するのが、
「高階関数」に関するゴールポスト (スコア:1)
>要するに、この様な木構造や入れ子構造の因果関係を持った(実用)
>プログラムは真に「高階関数」であり
と申しましたが、ゴールポストを動かさせて頂きます。
上記の内、「プログラム」というのが嘘です。そうでは無く、
・アーキテクチャーレベルの検討を経て得た方針(世界の切り捨て)
の範囲内での、
・すべての可能世界(到達しうるすべての世界線)での「プログラムの
バリエーション全て」
です。
具体的に言うと、プログラムを考えている際の、
・(インターフェースを壊すレベルの)リファクタリングによる
プログラムのバリエーション
・もはやリファクタリングと言えないレベルの(動作すら違うレベルの)
プログラムのバリエーション
全てを「高階関数」と言うという風に、ゴールポストを動かしたいの
です。
この様な「高階関数」なら、"調べ学習をして初めて因果関係が判る"
のも頷けます。トゥットゥルー!!
実用性とは (スコア:1)
実用的なプログラムを作る際、プログラマーは「本当の事」を
知りません。プログラマーはプログラムを何とかするだけでその
人生の全部を使わなければやっていけないからです。
他人から「本当の事」を聞き出すのはまず無理です。同じことを
何度でも裂いて、円環の理でも得れば別でしょうけれど、無いです。
とするとどうするか、
・世界を切り捨てる。この最低ラインだけは「本当の事」を知る人間
にも守ってもらう。
・その中で、「なになには正しい」ともその真反対とも、有り得ると
して備える。
・あらかじめテストでピン止めしておけば、「本当の事」は動かない
などというのは幻想。
です。
動き得る全ての可能世界のプログラム全てを考える必要が有ります。
例えば、
・複数人数でプログラムを作っていて、クラスのキャラが被ってしまった時、
別の可能世界に移る必要が有ります。
・複数人数が、同じクラスを別のキャラと考えていても、別の可能世界に移る
必要が有ります。
・「本当の事」を知っている人の、個々の知識と、まとめた知識が矛盾している
事が有ります。まとめた知識が個々の知識より簡便な場合、みんなから
褒められるからです。善意からの地獄です。
ですので、まとめた知識の簡便さと、その真反対はいずれも到達可能な
世界線です。
・学校の先生がその講義内でのみなら、特定の可能世界のみにピン止めする事は
可能で、ならばTDDも可能でしょうけれど、それは学校の講義内だからです。
とか、有ります。
つまり、
動き得る全ての可能世界のプログラム全てを考える必要が有ります。
仕事でやっているプログラマーはみんなそうだと思います。
だから形にこだわったりして、少しでもあらかじめ世界を切り捨てておくのです。