見出し画像

「プログラミングとブラックボックス」

お金を入れてボタンを押せば、飲み物が出てくる装置が、自動販売機。

僕は、これの仕組みについてはよく知らないし、近いものを自作できる自信もない。

でも日常的に利用している。


同じように、プログラミングの学習も、最初は内部の仕組みまで理解しないで、利用できれば良いんだと思う。

そして、何度も利用するうちに、一般的な方法以外にも、いろんな柔軟な使い方ができるようになってくる。

何度も利用していれば、少しずつ内部を理解していくんだ。
そして、それに近いものを自作できるようになったりもする。

だから、第1に、利用できるようになる事が大切だ。


それは同時に、ブラックボックスの扱いに慣れるという事でもある。

僕と同じように文系出身の人は、これが苦手の人が多い印象だ。

「なぜ」は知らなくてよくて、「何」ができるのかを知る必要がある。

まずは、そういうものだと思って進むことが重要なんだ。

ブラックボックスの中身に関しては、後々、段階的に理解して行けばいい。


ん、使えるだけじゃ不十分だって? 理解しなくていいというのは極論だって?

それも一理ある。

でもこれは、物事に対する学習を深めていくプロセスの話だ。

それには、まず一般的な方法で使えるようにする事が、最初のステップであると強調したい。


そこから、次第に使用上の注意(ほとんどの場合、公式ドキュメントや、Github上のイシューでのやり取り)を読むことも、覚える必要がある。

特に、認証や決算系などの機能を導入する際は、取り扱いに注意したい。

それは、自分の体の中に入れる薬や注射と同じように、注意・確認すべきだ。


もう1つ知っておくべきは、素晴らしい開発者は、抽象化が上手いということだ。

あなたが箱の中の仕組みについて一切知らなくても、簡単に使いこなせるように設計する。

それがブラックボックスであり、適切な抽象化なんだ。


メモ:
最初は理解しなくていい、とは言うものの、
チュートリアルや公式ドキュメントで示されているような、一般的な方法で利用できるようになった状態は、皮肉にも「完全に理解した」と言われている。

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