LoginSignup
15
6

SNSにて

この話は
2021年12月30日 10:42
N氏の

1 知っている
2 理解している
3 説明できる
4 伝えられる
5 実現できる

それに対して、H氏から
2021年12月30日 10:45
という3分後に

4と5は半順序

というつっこみ。

それに対して、私が書いたこと。

「知らなくても実現できることはいっぱいありますし、いっぱいありました。1、2、3、4ができなくても5ができる。人間と会話したくなくてもプログラミングで生きていける経験則。5さえできれば、3と4がすごく簡単になり、作る人も使う人も1、2が必要なくなったりする。」

最初の5つの並びを、ある業界では、落水模型(water fall model)というらしい。

音楽家のF氏の書き込み

楽器はいきなり⑤から入って、降りていくケースが結構あります。

への私のコメント。

「プログラミングは原則5から。大学の演習では、説明せず、伝えず、教えなかった。これだと、自分が知らない題材、自分が理解していない題材でも演習できた。動いた人に、どう動かしたかを説明してもらう。こちらは、学会発表で必要なことを説明する。結果の整理の仕方とか、どの学会だとどういう突っ込みがあるから、逆の場合もデータを用意するとか、汎用化してみるとか、、、。」

プログラムは音楽だ

プログラムは音楽だ (A program is a music.) 仮説・検証(54)

C言語は文法を教えない。言語教育の母語方式として学会で何度も発表している。コンパイルすれば分かることを事前に教えても仕方ないし。

知らなくても、理解していなくても、実現できるところが、プログラミングの嬉しさ。これを機敏(agile)というらしい。

プログラミング言語教育のXYZ。Youtube(1) 仮説・検証(52)

具体例をあげます。

事例1 アセンブラで移植

VZエディタ移植に当たって実施したことと成果。仮説・検証(115)

コメントアウトした1行は、何の行か知りません。

コメントアウトした1行は、何のための行か理解していません。

コメントアウトした1行は、何のための行か説明できません。
現象として、画面のスクロールを遅くしていることだけは測定しています。

コメントアウトした1行は、何のための行か伝えられません。

それでも、移植は成功し、移植前よりも快適に走り、多くの方の生産性を向上させ、社会にも貢献できました。

大事なのは、実現することであって、その前の4つは、仮説に過ぎません。
仮説に振り回されることなく、実現するプログラマに今日もなりたい。

アセンブラへの道

事例2 dockerでクロスコンパイル

あなたもdocker, 私もdocker。docker(130)

で紹介している

Dockerをどっかーらどうやって使えばいいんでしょう。TOPPERS/FMP on RaspberryPi with Macintosh編 5つの関門。「名古屋のIoTは名古屋のOSで」。docker (37)

2.1 docker

dockerfileについて、ほとんど何も知りません。
docker composeは、ほとんど知らないだけでなく、自分でやって成功したことが、意識した場合はありません。誰かのScriptで自動的に成功していることはあるかもしれません。

dockerfile, docker compose、何も理解していません。

dockerfile, docker compose、何も説明できません。

dockerfile, docker compose、何も伝えるおとができません。

2.2 gcc クロスコンパイラ

gcc クロスコンパイラ、ほどんど知りません。
gcc クロスコンパイラ、コンパイル成功したことは数えるくらいです。

gcc クロスコンパイラ、理解していません。

gcc クロスコンパイラ、説明できません。

gcc クロスコンパイラ、実現抜きには伝えられません。
dockerで実現した内容だけは伝えようと努力はします。
伝わったという自信は全くありません。

gcc クロスコンパイラ、実現しています。
講習会を開催し、大勢の人に参加していただきました。
知らないこと、理解していないこと、説明できないことはお伝えしました。
実現していることをお伝えしました。

実現が最初です。

ソフトウェア設計は、知らない人が知らなくても作れて、必要な人が知らなくても使えるようにすること。

知っていることよりも大事なのは、子育てなどのAX(Analog Experience)。DXではないかも。

「 10年後のために今勉強しておきたい技術」は勤務時間内だけで。時間外は子育てで。

DXによるDXのDXのためのDX

事例3 DoCAP(実現(Do)、検査(Check)、改善(Action)、計画(Plan))

@kazuo_reve 見積りに関する情報と知見

@vvakame 「オープンソースプロジェクトで上手いことやってくための10の方法」を拝読し」

こまけぇことはいいんだよ!まずはやろう!

手を動かす

「手を動かす」ということは、感覚を掴むための手段なのかもしれません。

コメントへ付け加えたいこと。

手を動かすことは、感覚を掴むための手段でもあるし、実現するための手段でもあります。
そのため、感覚をつかんだ時と、実現したときと、好きになるときが、同時の場合だってあるというのが持論です。それは機敏(agile)だという表現を取ることがあります。
順番を決めたり、時間を決めたりするのが落水模型(water fall model) 。知らんけど。

手を動かすと、偶然、プログラムが完成してしまうことがあります。
遊びだと思って手を動かそうと、
勉強だと思って手を動かそうと、
できあたってまえば、実現したことになる。

最初から実現してしまうことがあるのが、小学生、中学生、高校生のプログラマを見て思うことです。
全員がそうではなく、天才も、秀才も、凡人でも、偶然うごいてしまうことがあるかもしれません。
天才は天才だから、
秀才は秀才だから、
凡人は偶然だから、
という表現ができるかもしれません。
実現してしまうと、天才に変身するかもしれません。
実現してしまうと、秀才に変身するかもしれません。
実現してしまっても、凡人でいつづける人がいるかもしれません。(私)

感覚をつかむのは、実現する感覚をつかむのがいいかと思っています。

@kazuo_reve さん のように、意思がしっかりした人は、中間目標に到達したら加速できるでしょう。
私のように、意思が弱い人は、最終目標にすぐに達しないと、離脱してしまって、別の方向へ進み始めるかもしれません。

実現する

好きになる

感覚をつかむ
が同時の人がいます。

運動神経のいい人は、感覚をつかんでから、実現するかもしれません。
頭のいい人は、感覚をつかんでから、本で体系的に勉強するかもしれません。

人それぞれの順番でいいのではないかというのが感想です。

凡人

凡人にお勧めするのは、まず実現すること。

プログラミングを含む教育で、午前中に一度はコンパイルする教育じゃなければうけないし、講師はしないようにしています。
受講者の場合は、座学の途中でも、自分だけでこそっとコンパイルしています。
まず、話を聞いてから操作せよというのは反対です。
最初っからコンパイルすれば、感覚がつかみやすいからです。

凡人は天才、秀才と違うことをして生きていく

いつか来た道

2020年の12月30日にも、似たような会話があった。

人間が計算機に勝てる3つのこと。統計と確率(26)

ちょうど1年前の同じ登場人物の議論。

6019 views 44 いいね 22 ストック

という、自己ベスト50に入る結果となっています。感謝。

2022年1月2日にTweetしていただきました。ありがとう。

参考資料

データサイエンティストの気づき「勉強だけして仕事に役立てない人。大嫌い!」。『それ自分かも ? 』ってなった。

趣旨は同じだが表現が真逆の記事が、今年の自己3位になりました。
ありがとうございます。

今年のQiita振り返りレポート(12/28 メールで来たやつ)

公開算譜は機敏だ(An Open Source Project is Agile)GitHub with Docker。Youtube(2) 仮説・検証(51)

公開算譜は機敏だ。後書き

技術を極める。近寄りたい人。近寄りたくない人。三分類、五集合。

文書履歴

ver. 0.01 初稿 20211230
ver. 0.02 プログラムは音楽だ 参考資料追記 20220102
ver. 0.03 凡人は天才、秀才と違うことをして生きていく URL追記 20220123 12時
ver. 0.04 手を動かす 加筆 20220123 13時

最後までおよみいただきありがとうございました。

いいね 💚、フォローをお願いします。

Thank you very much for reading to the last sentence.

Please press the like icon 💚 and follow me for your happy life.

15
6
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
6