【ChatGPT】プログラミング勉強活用の10の方法

スキルアップ プログラミング

【ChatGPT】プログラミング勉強活用の10の方法

現在、ChatGPTを活用していますか?
ChatGPTは仕事にも勉強にもめちゃくちゃ使えます!
プログラマーを目指す人であっても、現役のITエンジニアでも使わない手はありません。

プログラミングの勉強にも、仕事のサポートにも有効活用できます。
ChatGPTが出てきたことでエンジニア不要論も出てきたりしていますよね。
個人的にはエンジニア不要になるどころか、より高度な知識を持ったエンジニアがさらに必要になると考えています。

例えば、AIが建物の設計図を従来の100倍の速度で次々と作成できるようになったとします。
でも、その成果物の責任を負うのは人間であり、その正しさを判断できる知識が必要ですよね?
少なくとも、今私は一級建築士ではないため、設計図の正当性をチェックできないです。

ITエンジニアも全く同じです。
AIでどんどんそれっぽいものは高速でできるようになるので、それを有効活用して高速で開発を進められる人間が必要です。
AIの生成物を有効活用して、うまく結びつけて開発できるようにするためには、ITエンジニアとしてスキルが必須です!

ChatGPTを有効活用できる人間になりましょう。

この記事ではプログラミング勉強に役立つ10の方法をChatGPT自身に紹介してもらいました。
現役エンジニアの視点でChatGPTの回答内容を見ていきます!

ChatGPTは2021年9月までのデータをもとに回答しています。
情報が最新でない可能性がありますので注意! (2023/05/02時点)

ChatGPTの衝撃

少なく見積もっても3倍以上、開発効率が上がっています。
私が業務で使っている領域は以下の通り。

  • ドキュメントの自動生成
  • 既存ソースコードの解析
  • エラー解析
  • 開発の下書き作成

ドキュメントの自動生成

ドキュメント作成ほど、やる気の出ない仕事はないですよね。
コード見ればわかるでしょとか言いたくなります。
それでも他の人と開発を進めるにあたり、資料は必須です。

ChatGPTはソースコードや必要な情報をインプットすれば、ある程度まとまった形でドキュメントを生成してくれます。
これでたたき台を作ってから編集することでかなりのスピードアップが可能です。

既存ソースコードの解析

話が分かりづらい人がいるように、ソースコードも書き方の癖が出ます。
時代が違えば、流行りも違い、書き方も変わってきます。
それでも過去の作成物を保守しないといけないことは往々にあります。

ChatGPTはドキュメントの自動生成ができるくらいなので、ソースコードの解析、解説も可能です。
さらに考えられる問題点までレビューしてくれます。
ソースコードを読むときのサポーターとしても非常に優秀です。

エラー解析

プログラミングをしていると、していなくても問い合わせという形で何かとエラーメッセージと格闘することになります。
今まではGoogle検索だったのですが、ChatGPTでも問い合わせるという別のアプローチができるようになりました。

英語のサイトの情報も含めて、情報をかき集めて、エラー情報をかみ砕いた上でエラー解析をしてくれます。
Googleで検索するときはある程度編集して、検索をすると思います。
ChatGPTは、そのままのメッセージで放り込んでも、かなりの精度で解決策を提示してくれます。

開発の下書き作成

まだChatGPTに開発を丸投げというレベルではないです。
でも、こんな機能を作りたいと指示すれば、たたき台となるソースコードを作ってくれます。
さらにテストコードや、テスト実行のために必要なデータセットの作成もすぐにやってくれます。

開発に関わる、ちょっとした雑用はほとんど任せられるし、相談も可能なので、非常に優秀なパートナーとして使えます。

以降の記事では実際にChatGPTを使った時の動きを見ていきます!

1.コーディング例を提案してもらう

ChatGPTを使用してコーディング例を提案してもらうための手順はこんな感じのようです。

  1. 使用したいプログラミング言語を明確に指定してください。たとえば、Python、JavaScript、Java、Rubyなど、あなたが学習している言語や実装したい機能に関連する言語を選びます。
  2. どのような機能やタスクを実行したいのかを具体的に説明してください。例えば、ファイルを読み込んで内容を表示する、ウェブページからデータをスクレイピングする、特定のアルゴリズムを実装するなど、求める機能を詳細に述べます。
  3. 必要であれば、既に試みたコードや、特定の問題点についても言及してください。これにより、ChatGPTがあなたのニーズに合った回答を提供しやすくなります。

今回はこのように質問してみました。
「Pythonを使って、リスト内のすべての要素を2倍する方法を教えてください。」
実際の実行結果は以下の画像の通り、バッチリですね!

2.デバッグのアシスタント

続いてデバッグのアシスタントです。以下の通り質問しました。

「Pythonで次のエラーが発生しています:"TypeError: unsupported operand type(s) for +: 'int' and 'str'"。このコードの問題を特定し、修正方法を教えてください。」

実際の実行結果は以下の画像の通りです。これも的確ですね。

3.アルゴリズム理解のサポート

どんどんいきます。質問は以下の通り。
「バブルソートアルゴリズムの基本的な仕組みと、それがどのようにしてリストをソートするのかを教えてください。」
利用用途についても教えてくれました。

4.シンタックスヘルパー

次はシンタックス(構文、文法)について確認してみます。
Pythonの理解が深まりそうですね。

5.学習リソースの推奨

続いての質問はこちらです。日本と指定しないと英語のサイトが出てきます。
「初心者向けの日本のPythonプログラミングのオンラインコースを推奨してください。」
ドットインストールのみリンク切れですが、いい感じです!
でも、PyQがないですね。Python勉強の場合だと結構おすすめなのですが。。

6.プロジェクトアイデアの提案

これは少し難しそうに見えますが、やってみましょう。
「Pythonと機械学習を使用した中級者向けのプロジェクトアイデアを提案してください。」
この技術を使って何を作ろうというアイデア出しにはよさそうですね。

7.プログラミング言語の比較

これはChatGPTの得意分野ではないでしょうか。ちょっと違和感のある質問を投げてみました。
「ウェブ開発において、PythonとJavaScriptのパフォーマンスと適用性を比較してください。」
Python遅いのか。。これも良い回答のように思えます。

8.プログラミングコミュニティへの紹介

こちらも日本に限定して確認してみます。
「初心者向けのPythonプログラミングの日本のオンラインコミュニティを紹介してください。」
やはり多少リンク切れは発生しますが、ちゃんと探せますね。

9.モチベーション維持のサポート

これはちょっと活用方法のイメージが湧かないので方法を聞いてみました。
「モチベーション維持のサポートの具体的な方法を教えてください」
定期的に連絡して、フィードバックがもらえるようです。コーチもできるんですね。

10.ペアプログラミングのパートナー

以下の通り聞いてみました。
「ChatGPTとペアプログラミングのセッションをする方法を教えてください。」
残念ながらパートナーにはなってくれないようですが、ペアプログラミングの方法は少しわかりますね。

所感

エンジニアは、案件次第で新しい言語の習得が必要になります。
そんなとき、ChatGPTは優秀なパートナーになりえるのではないでしょうか。
1言語習得していれば、プログラミングで何が実現できるか大体わかりますよね。
しかし、新しい言語の細かい部分が分からないときに、橋渡しとして活躍してくれそうです!

ChatGPTがあるからプログラミングの勉強は不要、と思っていませんか?

ChatGPTあるから、プログラミングの勉強は不要ですね、とは全然思っていないです。
計算機があっても、算数、数学の勉強は必須です。
なぜなら、その根底にあるもの、思考法や脳の使い方が重要だから。

プログラミングも同じで、一つ言語ができるようになるとアルゴリズムや自動化の考えた方がわかってきます。
そうすると、他のプログラミングであっても習得が非常に速くなります。

そもそも、ChatGPTがいくら素晴らしいプログラムを作ってくれても、自分自身がそれを判断できる知識がないと使えないです。
プログラマーを目指すならば、ChatGPTを使いこなせるようにするためにもきっちりプログラミングを勉強しましょう!

-スキルアップ, プログラミング
-, , , ,