新しいものを表示
orange さんがブースト

であればこそ、方法論の前に十分なメンタルモデルが欲しい、という発想になるわけです(最初の話に戻った)

スレッドを表示
orange さんがブースト

逆に言えば、「前提となる環境等を十分に調査・把握しないうちから設計をしようとしたって真っ当にできるわけがない」みたいな話になるかな?

スレッドを表示
orange さんがブースト

「ソートせよ」が存在しないというのは、命令の一覧を眺めることで知ることができるわけで、それは設計という作業を通して知るべき知識ではなくて、設計に先立って把握しているべき条件や知っているべき知識から察せられるべき事柄ですよね

最終的には当然そうなるし、脇道を極めていけば目の前の計算機ではその方法では処理できないので新しく考えた計算機を作るんだけどその為には鉱石を採掘・・・みたいな話にもなるかも><
そういう脇道は無限(比喩)にあるし、真に全ての前提条件を記述する事も不可能だし、その部分であっても初学者が理解するのは困難(というか混乱させる)なので、実際にぶつかる場所で「じゃあそれはどうやってやればいいとおもう?><」って聞いて結果的にとめるのも重要かも><(とめなくてもいいけど><)

orange さんがブースト

その「できるのかを知る」は低位のレイヤーにいくとたとえば「コンピュータアーキテクチャを知る」などになるわけで、それは必要な知識かもしれないけど、やりすぎればもはや設計とは別のレイヤーではと思います

例えばすごく第一歩として言うのであれば、CPUの命令表には「ソートせよ」とは書かれてない>< そういう意味での制限><

それは全ての前提条件ではないかも>< 制限としての前提条件のうちのかなり限られた部分集合かも><;
オレンジが言いたい事はそういうことじゃなく、それができるのかを知るためには、それをさらに分解して考えていく必要があるみたいな事が言いたい・・・><

orange さんがブースト

たとえば CPU で実行可能なあらゆる命令が列挙されているとして、それはソートアルゴリズムを必然的に記述できるので設計が完了しているとは見做せませんよね

orange さんがブースト

それはバックトラックと再帰的な問題の分割により達成されるものなので、前提条件と無関係では……?
そもそも「よく考えたら出来ない」というのがどう判定されるかというと、「操作の最小単位まで分割できなかった」という条件によるわけで、結局最小単位がわかっていないと失敗判定もできないような

前提条件を真に全て細かく出せてしまったら、それはそれ自体が設計かも><(それはつまり前提条件により必然的に決まるので><)

ストレスフルなのもわかるけど、設計って自分が思いついたアイディアが、自分にとって未発見の制限にぶつかって取り下げる事も大きく含まれると思うのでなんとも><; 「あ!><; よく考えたら出来ない!><;」って大切かも>< じゃなきゃ設計にならない><

orange さんがブースト

「操作を組み上げるのではなく、問題をだんだん分割していきましょう」というのと「最小単位がわかりません」というのは独立していると思うのですが

スレッドを表示
orange さんがブースト

それは最小単位を組み合わせて大きなものを作ろうとするから混乱するのであって、それはまあわかるんですが。
かといって、大きいものから分割していこうというとき、最小単位を隠すというのは回答者にとってストレスフル(かつ実践的とは限らない)のではないか、というのが考えです

orange さんがブースト

で、私の言う「完了条件」というのは、「目的の動作を、『片手で一度に一枚までカードを持つ』などなどの前提条件を満たすような操作のみに分割できたこと」という風なものです

スレッドを表示

オレンジはそのイラッとさせながら教えてるかも><; じゃないと前提の見つけ方自体を学べないかも><
それを教えないと「設計とは全く迷わずに一回でできるもの」みたいな誤った発想にもなりそう><

orange さんがブースト

ここで「カードを持てるのは片手までです」とか「一度に注視できるカードは一枚までです」とか、そういう前提条件の提示は、ソートアルゴリズムを設計するうえで解答を記述することにはなりませんよね

スレッドを表示
orange さんがブースト

たとえばトランプを並べ替えるソートを設計するとして、両手での swap を使って選択ソートを表現できた人がいたとして、「でも両手は使えないよ?」と後から言われるとイラッとするわけで、であれば最初から「カードを持てるのは片手までです」と提示してほしい、というレベルの話です

スレッドを表示

難しい><; オレンジ的に実際に教えた時の経験上は、プログラミングできない人に1対1で教える時にはその部分逆に取っ払わないと混乱してしまうので「とりあえず忘れて><」ってしてる
ので、このあたり書いた><
mstdn.nere9.help/@orange_in_sp
mstdn.nere9.help/@orange_in_sp

orange さんがブースト

「設計という作業の完了条件(メタな条件)を誰が判断するか」という話で、まあ普通に設計者がそれを判断するものだと思います。
であれば、その完了条件は「そこまで分割したならこういう部品がありますね!」という(教えられる側から見て偶発的な)指摘のみに依るのではなく、教えられる側が最初から参照できる場所に「おっ、これならもうこの部分の設計は完了したといえるな」と判断できるように提示されているべき、という意図の話です

土台って前提で前提条件ってどう説明するのか?><みたいな話だと思うんだけど・・・><

古いものを表示
:realtek:

思考の /dev/null