全体像把握と再利用のために生まれた関数

拙著「コーディングを支える技術」 p.25 第5章 関数
>「関数的に書きましょう」の方が近いが、問題はそれがまったく一般的なたとえではない
まったく一般的でないどころか、この場にいる人にもあまり伝わらなくて

がけちょんけちょんになってて面白かった
メタファーが誕生した段階でそれが広く他人に伝わるものである必要はない、まずは発展させて構造を明らかにした方がいい
この種の関数的概念は少なくとも1949年のEDSACでは既に使われており、プログラミング言語を読み書きできる人にとっては見慣れた概念
>プログラムが大きくなってくると、だんだん全体像を把握しにくくなります。また、よく似た処理を何度も使いたくなることもあります。
> 関数は、この問題を解決するために生まれました。意味的にひとかたまりのコードをくくりだして名前を付けることで、そのコードが何をしてい るか把握しやすくなります。そして、その関数をほかの場所から呼び出して使えるようにすることで、再利用ができるようになります。(コーディングを支える技術 p.56)
この「プログラムが大きくなってくると全体像を把握しにくくなる、その問題を解決するために関数が作られた」の「プログラム」の部分を「言語によって記述されたもの」に一般化することができる
Scrapboxの「リンク」と「バックリンク」「リンク位置へのスクロール」によって関数的な「ジャンプ」「戻る」が可能になった
「関数のメタファー」というタイトルをつけてから書き始めてしまった
「全体像把握と再利用のために生まれた関数」に変えた
この関数という概念の別名、というか「より汎用的に使える」呼び方がatomicなのかもしれない

逆ジェンガという関数をつくりました、と言われてもプログラム知ってる人以外にはわからない
え?数学の二次関数?え?とかなりそう
逆ジェンガというatomic
「相手が積み上げられるように積むこと」 ← こういう概念を指す何かが欲しい
これにジェンガというメタファーを持たせて、逆ジェンガという名前をつけた
別のatomicもつくれるだろう
たとえば

がすぐ思いついたのは
相手も積めるようにする → 優しい、配慮してる → 優しいに関する英語をちょっと調べる → gentle kind mild sweet soft → 「積む」も英語で → stack load put → ……
みたいな思考
途中でだるくなったので強引に切り上げるが、そうだなぁ、sweet stack とでも名付けてみるか(たぶん英語のニュアンスさして考えてない、いいかげんな名付けだが)
sweet stack
あるいはsweet stacking
逆ジェンガという概念をつくりました
概念、だと広すぎる
逆ジェンガというatomicをつくりました
概念ではなくatomicと呼ぶと、原子のニュアンス(何かの構成要素になっている感)があるように思う

逆ジェンガやsweet stackingというatomicは、何かの構成要素になる(ないしはできる)ことを期待してつくられたものだ
そしてatomicは、プログラマが好き勝手に関数をつくるように、我々知的生産者が好き勝手につくってもいいのである

さんは逆ジェンガというatomicをつくった

はsweet stackingというatomicをつくった(かなり荒削りだがと言い訳しておく……)
他の人も別のatomicをつくることができるだろう
---
このatomicの、別の実装(つくりかた)を考えてみる

とりあえず「概念的原子(atomic concept)」を思いついた
atomiconcept?w
軽率に前後の言葉を繋げるのが好きである


あるいは「概子」