このブログを書いていているのは自分ためのメモのため、自分がわかっていることで、それほど疑問に思っていないことは、あまり詳しく調べていない。
なので、「ノード」、「アトリビュート」といった内容は現在の所触れていないが、そのうち自分がどのようにその言葉を、理解していったかを書いていきたいと思う。
また自分独自の考え方かもしれないが、ノードも関数も「スイッチ」の一種と考えている。
スイッチの構造を考えると、
1)電気の入力
2)電気の出力
3)レバーやボタンを押す
の3つの入出力があるが、それぞれ
1)入力値
2)出力値
3)人為的な入力値
「3」については「2」の出力を促すきっかけとなること、もしくは「2」の出力の内容を変えるきっかけとなることと考えている。現時点では、引数に相当する可能性もあるのかもしれないと考えている。
という感じだ。
どんなスイッチでもそれを押すタイミング、ONにしておく時間などの加減は任意であり、それを操作する側に任せられる。
これがどれだけ通用するかは、他の言語も習ってみないとわからないことだが、
初心者のころから現在に至るまで、ほぼ問題なく適用できた考え方であり、
いろいろな思考をシンプルにしてくれている。
特にプログラミングにおいては、自動性がその大半を占めており、混乱してくると、自分にはコントロールできないと感じてくるが、上記の考え方にすると必ず、大元のスイッチは自分が押している(コントロールしている)という風に考えることができる。
もちろん他のスイッチからの電気信号をうけて自動的にONになるスイッチも存在する。
それはトランジスタであり、CPUの主要要素だ。
だが、それらの自動スイッチも、大元は人間が押してOnにしている。
そして細かく見ていけば、そこから派生した流れをどのように個々のスイッチ内で制御しているかということに過ぎない。
それを源流から一つ一つたどっていくようにそれぞれの関数、ノードを見直して言えばよい。
こういった考え方は軽視されることも多いが、
応用範囲の広い、普遍的な考え方というのは、それ以降の細かい理解を導いてくれる索引力となり、
迷ったときの灯火ともなってくれる力強い味方だ。
自分にとっては、Melスクリプトの習得においてなくてはならない考え方だったと思っている。
ただ、この考え方はコンピュータの構造にも関連して説明しないと、すっきりとまとまらない。
今の自分にはそれをまとめきる自信がないので、とりあえずは放置している。
0 件のコメント:
コメントを投稿