見出し画像

ChatGPTとはじめてのプログラミング言語に挑戦する

みなさん、初めまして。かぬと申します。かぬコンのソフトウェア作るときに、これまで使ったことのないに言語に挑戦することになりました。その際に、話題のChatGPTを使いながらどのように学習を進めていくことが出来たのかをお伝えできればと思います。オリジナルコントローラーなどを作っていると、基板設計や部品選定よりもソフトウェアで作ったほうが良い機能など見つかります。その際に、オープンソースプロジェクトなどへ、少し機能を追加して目指していたコントローラーを実現することが、ソフトウェアから出来るようになります。今回は、プログラミング初心者の私がC++というプログラミング言語で開発されたプロジェクトで、どのようにコードを書いたのかを記事にしました。そこで、私がChatGPTとどのようなやり取りを行ったのか、どんなメリットがあるのかなど、経験を通じてわかったことをお伝えします。この記事を書くことによって、プログラミングに興味がある方や、ChatGPTを使ってみたい方が、新しい言語やツールに挑戦できるようになれば嬉しいです。

ChatGPTによって新しい言語に挑戦できた

まず、簡単に私の経歴をご紹介します。私は情報系の大学やプログラミングスクールには通っておりません。モデリングソフトなどで、部分的にC#やPythonを使用した経験が少々あります。しかし、必要な部分だけスクリプトを書く程度なので、Visual Codeなどのスクリプトエディタを用いた開発はほとんど経験がありません。また、チームでプロジェクトを開発するという経験もありませんでした。そんな中で、新たにC++という未知の言語に取り組むことにしました。はじめは、そのプロジェクトに書かれた内容がほとんど理解できませんでした。例えば、C++特有の記法や型(uint32_tなど)、ヘッダーファイルの役割、そしてそもそもの環境構築について理解するのに苦労しました。初めて、0x7FFFという文字を見て、色のことかと思う程度の知識しかありませんでした。ある程度完成したプロジェクトには、初見では理解するのが難しい問題がたくさんありました。

ChatGPTは最強の先輩

気が利いて、几帳面で物知り

ここでChatGPTが大いに役立ちました。私にとってChatGPTは先輩のような存在で、プログラミングにおける多くの問題を解決するのを助けてくれました。新たな機能を作るためには、まず何からを考え始めないといけないのか、どのようなソースコードを探すべきかを判断する必要があります。そして、そのコードを自身のプロジェクトで使用してみて、必要な機能を追加するという手順を踏みます。このような行動や何がしたいかは、私自身で考える必要があります。次のフェーズでChatGPTが非常に役に立ちます。どこに新たな機能を追加すれば良いのか、どの部分が関連しているのかという調べていくことになります。その際に、ChatGPTに質問や関係のありそうなコードをチャットしてみると、的確なアドバイスや適切なコードを提供してくれました。たとえば、エラーコードが出た場合に、その内容をChatGPTにコピー&ペーストするだけで解決策と修正したコードを提案してくれたりもします。

気軽な質問が効率化を加速する

他にも、よく使う作業の効率化やわからない用語などを気軽に聞けることも大きな長所だと考えます。コマンドプロンプトで以下のようなコマンドを入力すると、一つ前のディレクトリに戻ることができます。

cd ..

これまで、二つ前のディレクトリに戻るときは、2回同じコマンドを入力し、特定のディレクトリに移動するときは何度もこういったコマンドを入力していました。そこで、ChatGPTにはその操作方法を質問することにしました。簡単な質問に対して、的確に必要なコマンドを教えてくれます。

ChatGPTには複数のことを同時に質問することが出来る。

調べる労力が高いと感じていたので、検索しておりませんでした。検索するためには、適切なキーワードを見つける必要があります。今回の例では「コマンドプロンプト 2つ前 移動」と検索すると、いくつかの記事が見つかります。さらに、続いてその記事の中から、必要なコマンドを見つけていくことになります。もし専門用語や概念が使用されていた場合、まずはそれらを検索しないといけません。そのため、使用頻度の低いものやなんとなく動いているコードを深堀せずに、そのまま作業を続けてしまうことがありました。しかし、ChatGPTへ気軽にフランクな文章で質問することが出来るので、気になったときに気になったことを調べることが出来るようになります。

調べる力を最大化する

ChatGPTとの対話を通じて、検索ための適切なキーワードを見つける技術を身につけることができました。Google検索では精度の高いキーワードを見つけ、検索を行う必要がありました。しかし、ChatGPTではふわっとした質問でも、ある程度適切な回答を提供してくれます。その一方で、ChatGPTがプロジェクト全体を把握することはできません。したがって、プロジェクトの中身を自身で調査し、ほしい内容を探索していく必要があります。少しずつ、質問を行いながら、理解していくことによって、プログラムの仕組みをしっかりと掴むことができます。そのことによって、次に質問するときは以前と比べて、一歩進んだ質問や検索を行うことが出来るようになりました。また、よく視聴しているYouTubeチャンネルで、プログラマーの業務内容について話をしていました。ここでは、プログラマーはコードを書くことよりも調べている時間が多い人もいると述べられておりました。私は、ChatGPTを使用することで、調べることの効率を向上させ、より正確な理解を短時間で得ることが出来るようになると考えています。

自発性を育むことが出来る

ChatGPTを使用していると、ちょっと考えればわかることや些細なことまで質問してしまうことがあります。しかし、ChatGPTは有料版を使用しても3時間に25メッセージまでという制限があります。細々と質問しているうちに、あっという間に制限まで達してしまうことがありました。そこで、私が感じたもう一つの利点は、ChatGPTとのやり取りを通じて、自分自身で問題を解決する力を育むことが出来ることです。メッセージの上限を意識して、エラーメッセージの解読や簡単な修正などは自分で行うようになりました。また、できる限り正確な回答を少ないやり取りで得るために、質問の仕方も工夫するようになります。伝えたい内容とその条件を正確に伝え、どんなアウトプットが欲しいかも文章で表現できるようになりました。また、このChatGPTのメッセージにある制限は、適度な休憩を取るきっかけにもなります。複雑な内容や自分の考えが整理されていないときに、制限に達しリフレッシュすることで、学習の効率化につながりました。

おわりに

新しいことに挑戦するときは、わからないことがいっぱいあります。そのため、何から始めたらよいかわからず、先に進めないこともあるかと思います。そのような時に、気になることを気軽に聞くことができる存在は、私たちの学習を促進してくれます。これらの経験を通じて、私はプログラミングに関する新たな知識とスキルを獲得し、新たな挑戦に対する自信を持つことができました。もし機会があれば、ChatGPTに興味がある方やプログラミングに興味がある方などは、ぜひ一度試してみてください。ChatGPTの存在によって、これまでは高かったハードルを程よい高さにすることが出来ます。さまざまな方から刺激を受けて、新しいことに挑戦することが出来ました。情報を発信してくださっている方に少しでも還元できるように、本記事を書かせていただきました。この記事を書くことで、新しいことに挑戦する方が少しでも増えてくれると嬉しいです。

この記事が参加している募集

AIとやってみた

この記事が気に入ったらサポートをしてみませんか?