プログラミング学習で実際にコードを書く必要はあるのか
AIの発達により、AIがプログラムを書けるようになりました。それでは、もう自分でプログラムを書く必要はないのでしょうか。
「AIがあれば、もうコードは書かなくていいのでは?」
結論から言うと、設計を学ぶためにも、プログラムを書く必要があります。プログラムは料理です。
目次
- 料理のレシピ=プログラムの設計
- 計画には基礎の学習がいる
- 基礎の学習には手を動かす必要がある
- まとめ
📹 動画版もあります
同じ内容を動画で解説した版も用意しています。文章より音声の方が好みという方は、そちらもご覧ください。
料理のレシピ=プログラムの設計
料理にレシピがあるのと同じく、プログラムにも設計があります。
料理に慣れた人は、どの食材を使って何を作るか、味付けをどうするかなど、既存のレシピを改造したり、新しいレシピを考えたりします。同じことを、プログラムでも行います。プログラムを作る前に、見た目はどう作るか、中身の構造はどう作るか、データをどう扱うかを考えます。
ちゃんと考えずに料理を始めると、食材や調味料が足りなかったり、ちょうどいいサイズの器がなかったりと、失敗する可能性があります。設計せずに行き当たりばったりでプログラミングをしたり、AIに設計を丸投げしたりすると、全体の整合性が取れず、ちゃんと動かないプログラムになってしまいます。
プログラムはピタゴラスイッチのようなものです。ピタゴラスイッチはパーツを繋げていき、1つ目の仕掛けが次の仕掛けを動かし、さらにその仕掛けが次の仕掛けを動かすという流れで大きな絡繰りを作ります。
プログラムも同じです。文字を繋げていき、いくつもの仕掛けが連動するように繋げていくことで作られる、大きな仕掛けの集合体がプログラムです。ピタゴラスイッチのどこかのピースが抜けるだけで動かなくなってしまうように、プログラムもどこかの文字が一部なくなるだけで、全体が崩壊してしまうこともよくあります。
また、AIは、すでにある設計に沿ってプログラムを作るような作業は得意ですが、こうした全体の整合性をとる作業は不得意です。なので、プログラミングをするうえで、自分で設計できるというのは非常に有用です。
計画には基礎の学習がいる
料理のレシピを改造したり、作れるようになるには、まず調理道具と食材の特性を学ぶ必要があります。包丁の使い方を知らず、初めて見た食材しかない状態では、レシピは考えられません。包丁やフライパンを使いこなし、食材ごとの切り方、茹で方、焼き方を理解して、やっとレシピを改造したり作り出したりできるようになります。
プログラムの設計も同じです。プログラミング言語の特性や、プログラムを作りやすくするために機能をまとめたライブラリなどの使い方、扱うデータがどのようなものかを理解しなければ、設計はできません。プログラムの設計を学ぶ第一歩は、プログラミング言語の特性を把握することです。
基礎の学習には手を動かす必要がある
レシピを作れるようになる基礎として、調理道具の扱いを習得しようとしたとき、説明書や動画を見ているだけでは、包丁やフライパンの扱いは上達しません。その調理器具を何度も使い、習得していきます。
設計を学ぶ基礎として、プログラミング言語を学ぶのも同じです。教科書を読むだけや、AIにプログラムを作らせているだけでは、プログラミング言語の特徴は学べません。教科書にプログラミング言語のすべての振る舞いが書かれているわけではありません。自分で書いて動かすことで、やっと把握できる情報が多くあります。
レトルトカレーの工場を見ていても料理の基礎が身につかないのと同じで、AIが作ったプログラムを見ているだけでは、プログラムの作り方は身につきません。プログラムを自分で書いて、動かし、間違い、どこが間違っているのか、どう書けば目的の動きをするのかを考えているうちに、そのプログラミング言語の特性が身についていきます。
まとめ
AIは、知識がゼロでもいろいろなことができる、という点が注目されがちです。しかし実際は、知識があるほど効果的に使えます。自分の知識を掛け算で増幅してくれるようなツールです。
知識がある人が使えば非常に強力ですが、知識がない状態で大きなものを作ろうとすると失敗してしまいます。プログラムに興味を持ち、いろいろなものを作りたいと思ったなら、ぜひプログラミングの知識を学んでください。
基礎から始めたい方へ
コードハウスプラスは、プログラミング言語の特性が身につくように、プログラムを書くという点にフォーカスしたオンラインスクールです。AI時代に需要のあるPythonを軸に、専門用語は日常の言葉へ置き換えながら進めます。
つまずいても、回数制限のない個別指導で、「今、何が分かっていないか」を確認できます。AIを掛け算で使える土台を、先につくるためのスクールです。

