見出し画像

(第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についてはちゃんと納得できた。冒頭のイラストよろしく

画像1

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に書くことにしよヽ(´ー`)ノ

この記事が気に入ったらサポートをしてみませんか?