独学プログラミングハック

プログラミング独学をハックする初心者のためのTips

ブラックボックスの取り扱い方

ブラックボックス化について考えている開発者の写真

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

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

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

 

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

 

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

何度も利用していれば、少しずつ内部を理解していくんだ。

そして、それに近いものを自作できるようになったりもする。

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

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

 

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

「なぜ」は知らなくてよくて、「何」ができるのかを知るべきなんだ。

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

ブラックボックスの中身を理解していく事は、段階的でいいんだ。

 

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

それも一理ある。

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

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

 

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

特に、認証系や決算系などは影響が重大だ。

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

 

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

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

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

 

メモ:

最初は理解しなくていい、と言うものの、

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