新刊『13歳からのPython超入門』の著者・大森敏行さんは日経クロステックで人気コラム「大森敏行のプログラミングで行こう」を連載中。このたびは著書に関連する記事2本をBOOKプラスに転載させていただくことに。1本目をお届けします。
ここ2カ月ほど、「13歳からのPython超入門」という自著の制作にかかりきりだった。過去に挫折した人を含め、Pythonを始めたい人に向けた入門書だ。
この書籍の制作では、本文の執筆だけでなく編集も担当した。このため台割作成や進行管理はもちろん、イラストレーターやデザイナー、制作会社、校正会社との契約や業務依頼もすべて自分の仕事だった。作業量は多かったものの、自分の意思を反映させるという意味ではやりやすかったかもしれない。
プログラミングが嫌いになる
この書籍の表紙カバーの一番下には「コードは書いちゃダメ!」というキャッチコピーを大きく入れた。「Pythonによるプログラミングの解説書なのに、コードを書いてはならないというのはおかしいのではないか」と感じる人もいるだろう。
この疑問の答えは、表紙カバーの折り返し部分(出版用語では「前袖」)に書いた。引用しよう。
多くのPython入門者は「コードを書かなければ」というプレッシャーでプログラミングが嫌いになります。この問題を解決するカギがコード生成可能な人工知能(AI)です。
プログラミングを覚えれば、自分が欲しいソフトウエアを自由に生み出せる。だからすべての人がプログラミングを習得するのが理想だとこれまで考えてきた。
しかし、実際にはプログラミングを続ける人はとても少ない。入門して少しやってみたとしても、すぐにやめてしまう人が大半だ。プログラミングを続けられるのは、その才能に恵まれたごく少数の人か、仕事でコードを書かなければならない人だけである。
続かない理由は、多くの人にとってコードを書くことは「楽しくない」からだ。プログラミング言語は日常生活で使う自然言語に比べると不自然で、普段あまり使っていない脳の部分を酷使しなければならないような感覚がある。楽しくないのはある意味、当たり前だ。
それなのに「コードを書かなければプログラミングは習得できない」と心理的に追い立てられるとどうなるか。知らず知らずのうちにプログラミングが嫌いになっていく。たとえ無理やり続けたとしても、嫌いなことだと上達は見込めない。だから「コードは書いちゃダメ!」なのだ。
これまでは、プログラミングがある程度上達して自分の欲しいものがつくれるようにならないと「ソフトウエア完成の喜び」を味わうことはできなかった。そこに到達する前にたいていの人は挫折する。
生成AIが出力したコードから逆算して学ぶ
ところが、今では生成AIが人間の代わりにコードを書いてくれるようになった。プログラミングが上達する前に完成の喜びを味わえるようになったのだ。欲しいソフトウエアを入手するのが目的なら、生成AIにつくってもらうこと自体は何の問題もない。「楽しくない部分」をまるごとオミットできる。
ただし、自分が欲しいものを思い通りにつくってもらうとなると、やはりプログラミングの知識は必要になってくる。自分ができないことは、生成AIにやらせることも難しいからだ。
そこで思いついたのが、生成AIが出力したコードから逆算して学ぶという方法である。自分が欲しいソフトウエアがどのように動いているかであれば、興味を持続しやすい。加えて生成AIが出力するコードは教材に適しているという面もある。適切な機能に分割されており、コメントもきちんと付いているからだ。
実際にこの書籍の後半も、対話型AIサービス「ChatGPT」が出力したブロック崩しのコードを解説する内容になっている。コードの意味をただ説明するというよりは、そこで使われている機能やコードから読み取れるパターンの説明に重点を置いた。プログラミングという広大な分野を理解する手がかりを少しでも提供したいという思いからだ。
それでも、自分でコードを書ける人の中には「コードは書いちゃダメ!」というキャッチコピーに対し、違和感を覚える人もいるだろう。というか私自身、実はそうした違和感を覚えつつこのキャッチコピーを書いた。
私が生まれて初めてプログラムを書いてパソコンで動かしたのは高校1年生のとき。今から40年以上も前のことだ。ただ「自己流で行き当たりばったりの書き方をしている」という引け目はずっと引きずっていた。
転機になったのがちょうど40歳の誕生日。その日の夜、主にソフトウエアエンジニアを対象にした読書会の第1回に参加した。有名なコンピューターサイエンスの教科書を読み、掲載されている演習問題を順番に解いていく会だ。節目の誕生日に始まったその読書会に因縁めいたものを感じ、コンピューターサイエンスに基づくプログラミングを体系立てて学ぶことにした。
それから2~3年間、毎週開催されるその読書会のために、Schemeというプログラミング言語で大量のコードを書いた。コードのパターンを自分の手が覚えるまで。
Schemeは長い間書いていないのでもう当時のようには書けないが、それでもこのときの経験がぼんやりとした「プログラミングに対する自信」のようなものにつながっている。だから「コードは書いちゃダメ!」に対しては私自身、感覚的に受け入れ難い部分がある。
生成AIを駆使する新世代のエンジニア
しかし、年配者が自己の経験を絶対視して新しい手法を拒絶するのは間違っていることが多い。
例えば日本の部活動ではかつて、下半身を鍛えるトレーニングとしてうさぎ跳びが当たり前だった。しかし今ではうさぎ跳びは「非効率かつ有害」という否定的な評価が定着し、より科学的なトレーニングが主流になっている。現代においてうさぎ跳びを強要するのは、意味のない懐古主義、あるいは有害な根性論である。
コードを反復的に書く訓練がうさぎ跳びに相当するのかどうかはまだ分からない。しかしAIによるコード生成の波は、好むと好まざるとにかかわらず押し寄せてくる。プロのソフトウエアエンジニアですら、大半のコードを生成AIに任せるようになるはずだ。
そうした時代に必要なスキルセットは、おそらく今とはガラッと変わっているだろう。新世代のエンジニアは生成AIを駆使してすごいソフトウエアを生み出すようになる。そう信じている。

[日経クロステック 2025年6月20日付の記事を転載]
大森敏行著、日経BP、2090円(税込み)
