(第26回)「プログラミングやりたくない!」〜下から目線のコーディング武者修行〜
【Objectって何だよ委員会、の巻】
丸1年ほっぽり放しにしていた、Stoyan Stefanov, "React Up & Running" (O'Reilly, 2016)を何気なく手に取ると、「読める…読めるぞ!」(©ムスカ)状態。
こっちは8ヶ国語も節操なく外国語をベンキョーしてきたけど、「しばらくほっておいて、久し振りに再開すると分かるようになってる!」というのはプログラミングも同じみたい。
そういうことで言えば、Reactを再開するまで、Vue.jsでMVCの方式とroutingを把握し、TypeScriptの書き方を身につけ、更にはEmber.jsまで見ておいたのが良かったみたい。
Reactを再開して、なーるほど、Reactでこう書くと、HTMLがこんな風に生成されるのねーーという所までは良かったんだけど、
propTypes
あたりの記法で「?」が「????」くらいに。よくよく考えたら
どういう時にObjectが必要になるか
をまるで実感もって理解してないので、どうもそれが「????」の理由らしい。
objectName.objectProperty
と、ドットでつなぐのは知ってたものの、「こういう書き方をすることのメリット」についてはなーんにも知らない。
データ云々ということで言えば、Arrayについてはちゃんと納得できた。冒頭のイラストよろしく
Main MemoryではAddressが一直線になっているので、その上で扱うDataも一直線のArrayにする
と腑に落ちた。いくらプログラミングと言ったところで、キカイのHardwareはいじくれないもんな、と。
ところがそのArrayとは違って、
let object = {
property1: "value1",
property2: "value2",
property3: "value3"
},
と書くこのObject、「どうしてこういう書き方をするのか」を知らないままだと、どうもReactのベンキョーもおぼつかないみたい。「マネ」から「理解」までがえらい遠い。
そういえばプログラミングのベンキョーを始めた頃、平山尚さんの『プログラムはこうして作られる』(秀和システム)を読んだら、
コードを1000行ぐらい書いたところから、オブジェクトのありがたみが分かってくる
という話が。
そりゃ実作者として「ありがたみ」を実感もってわかるのは嬉しいだろうけど、こっちとしてはObjectを「使うとベンリする」(=使わないとドエライことになる)文脈を知りたかったりする。
どうにかして、1000行以上のコードを書くプロジェクトに参加せずに、Objectの仕様文脈を分かることはできないだろうかーー
というのが2020年の当座の目標。大きい目標なのか小さい目標なのかわからん(^_^;)
Arrayも結局Main Memoryという「Hardwareに理由があった」ので、Objectも何かしら「キカイの都合」なのではないかとふんでるんだけど。
Object指向はあるのにSubject指向はなぜないのか
については、True/Falseの生みの親George Booleさんの本を読んだらわかったけど、「Objectの書き方すると、こんな時にベンリ!」ということまでは、Booleさんの本に書いてなかったからなぁ。
ちゃんと調べてそのうち分かったら、またこのnoteに書くことにしよヽ(´ー`)ノ
この記事が気に入ったらサポートをしてみませんか?