その本の「はじめに」には、著者の「伝えたいこと」がギュッと詰め込まれています。この連載では毎日、おすすめ本の「はじめに」と「目次」をご紹介します。今日は増田智明さんの『GitHub Copilot×Python入門 プログラミングに特化した生成AIを使った実践的学習法』です。

【はじめに】

 本書はPythonプログラミングの初心者向けの本ではありますが、筆者もPythonプログラミングについては初心者です。少なくとも本書を執筆する前は初心者であって、文法やライブラリの使い方に精通している訳ではありませんでした。この文章を書いているときにも、あまり上級者とは言えませんが、程よくPythonを使ってプログラミングができるようになっています。本書を書くときにかつPythonを覚えるときに使った学習ツールが、プログラミングに特化した生成AIであるGitHub Copilotです。

 プログラミングを手助けする生成AIはさまざまなものがあります。ChatGTPやGeminiなどの会話形式で進められる一般的な生成AIもあります。しかし、GitHub CopilotとVisual Studio Codeを組み合わせて使えば、Visual Studio Code内で生成AIに質問ができ、コード上のコメントを使って生成AIにコードを書いてもらうことができます。ブラウザとエディターを行き来するのではなく、いつもプログラミングに使っているVisual Studio Codeの上でさっと使えるのがGitHub CopilotとVisual Studio Codeの組み合わせのよいところです。

 本書はPython入門とは銘打ってはいますが、実質は生成AI(本書ではGitHub Copilot)を活用したプログラミングの学習本です。いままでの入門書では、対象となるプログラミング言語の文法やライブラリの詳細を話すところから始めています。最終的には1つのアプリケーションを作るまでのステップバイステップという学習方法を使うこともあります。筆者もその形式の本をいくつか執筆しています。

 しかし、本書に限ってはその手順を取ってはいません。プログラミングをしていく中で、覚えることを極めて少なくしてあります。極端なことを言えば、Pythonの細かい文法を本書では解説していません。効率的なコードの書き方や効率的なライブラリの使い方を解説するわけでもありません。本書の基本的な説明方針は、逐次的に生成AIに質問をして回答を得ていくというものです。

 質問の仕方にルールがある訳ではありません。まさしく、GitHub Copilotの「副操縦士(Copilot)」を読者の傍らに座らせてください。わからなかったら聞く。回答がわからなかったらさらに聞く。うまく回答が導き出されるまで、自分で質問を考える。読者とCopilotが共同で作ったコードを動かしながら、自分の目的が達せられるように工夫する。うまく達成できない場合は、再びCopilotに尋ねてみる。それらを繰り返していくだけです。そして、筆者がその経緯を逐一書き示したものが本書となっています。

 本書では、具体的な機械学習の処理方法やスマホアプリ/ デスクトップアプリ/Web アプリの作り方などまで解説してはいません。しかし、本書の想定読者はPythonの初心者ですが、学習ツールとしてGitHub Copilotを存分に活用することで、Pythonの習得を効率的に行えるようになると思います。いえ、必ずなります。特に学生のかたは無償で使えるので、ぜひ使ってみてください。そして、ちょっとCopilotを使いこなせば、機械学習、スマホアプリ/デスクトップアプリ/Webアプリのすべてを作れる可能性、Pythonを使いこなす可能性を、能力を得ることができるのです。

 ただ、Copilotを使ってPythonの基本文法を解説するだけではちょっと物足りないので、CSV形式のファイルの扱いやWeb APIの扱い方、グラフの書き方といった、実務に必要となる基本技術のプログラミングの仕方を本書は示してあります。ほかのPython解説本のように難しいことはできませんが、最初の取り掛かりには十分でしょう。Copilotと共同でコーディングをするときの落とし穴もいくつか用意してあります。Copilotと一緒に楽しんでPythonを学んでいってください。GitHub Copilotの使い方に慣れていくと、プログラミングという行為自体が少し変わってきます。黙々と1人でプログラミングをするのではなく、Copilotと相談しながらチームでプログラミングをするという楽しさを読者は味わってください。

2024年12月 筆者記す


【目次】

画像のクリックで拡大表示
画像のクリックで拡大表示
画像のクリックで拡大表示
画像のクリックで拡大表示
画像のクリックで拡大表示
画像のクリックで拡大表示