「他人の書いたソースコードが読みにくい、わからん」といった経験はないでしょうか。
「前日に自分が作成したプログラムすらわからん」ということもあるかと思います。
そんな時はChatGPTに丸投げして簡潔に解説してもらいましょう。
今回はChatGPTに直接プログラムを入力して、内容について解説させたらどうなるのかを検証してみました。
次のような問題を抱えている方には、ChatGPTは強力なサポートツールになるでしょう。
- 他人の作ったプログラムに補足資料や解説コメントがない。読み解くのが面倒
- 理解不能なスパゲッティプログラムを解読したい
- 課題として出題されたプログラムについて解説してほしい
- プログラムを作ってみたけど、誰かに添削、指導してほしい
ChatGPTの使い方についてはこちらの記事を参考にしてください。
今回扱うテストプログラムについて
今回ChatGPTに解説してもらうソースコードはPythonで画像を表示するだけのシンプルなプログラムです。
import cv2
img = cv2.imread("gohan.png")
cv2.imshow("GOHAN", img)
cv2.waitKey(0)
このプログラムをご自身の環境で試してみたい方はこちらの記事を参考にしてください。
プログラミング環境のインストールから実際にプログラムを実行するまでを初心者向けに解説しています。
プログラムの内容を解説してもらう
ChatGPTに「このプログラムについて解説して」という問いかけのあとにPythonのソースコードを入力してみます。
全文としては次のような応答がありました。
このプログラムは、OpenCVライブラリを使用して、画像ファイル “gohan.png” の読み込みと表示を行っています。
import cv2
で OpenCVライブラリをインポートしています。img = cv2.imread("gohan.png")
で、画像ファイル “gohan.png” を読み込んで、変数img
に格納しています。cv2.imshow("GOHAN", img)
で、変数img
に格納された画像を “GOHAN” という名前のウィンドウに表示します。cv2.waitKey(0)
で、ユーザーがウィンドウを閉じるまで処理を停止します。
冒頭に全体の概要が一言で解説されていています。
不親切な他人の作ったプログラムの場合、まずは何をやっているものなのかを探るだけでも大変なので、簡潔にまとめてくれるのはありがたいです。
続けて一行ずつプログラムが解説されています。
見慣れない書式や使ったことのないライブラリを調べる手間も省け、効率よく読み解けそうです。
もちろんこれらは世の中で広く使われているからこそ比較的正しい解説として表示されます。
すべてを鵜呑みにせず、疑わしい箇所はご自身で事実確認を心掛けましょう。
(これはAIに限らず他人からのアドバイスに関しても言えることですが)
\未経験でも”AI”を基礎から学べる Python特化型プログラミングスクール/
プログラムの改善点を教えてもらう
続けて「このプログラムの改善点を教えて」と入力してみます。
全文としては次のような応答がありました。
このプログラムは単純な画像表示プログラムですが、改善する点は以下のようなものがあります:
- 画像の読み込み失敗時のエラーハンドリング:
cv2.imread
関数から読み込んだ画像がNone
の場合、画像の読み込みに失敗したことを示します。このような場合は、適切なエラーメッセージを表示するなどの処理を追加することが望ましいです。 - 画像表示のタイムアウト処理:
cv2.waitKey
関数は、ユーザーがキーを入力するまで処理を停止しますが、決まった時間内に画像表示を終了するような処理を追加することが望ましいです。 - ウィンドウのリサイズ:
cv2.imshow
関数で表示されるウィンドウは、画像に合わせて自動的にリサイズされますが、ウィンドウのサイズを特定の値に固定するなどの処理を追加することが望ましいです。 - 画像の前処理:画像の加工、リサイズ、グレースケール変換などの前処理を追加することが望ましいです。
4点の改善点が提示されました。
これらの改善点は、実際に使ってみてエラーが出たり使いにくいと感じた時点で追加するものなので、初心者のうちはなかなか気づきにくい指摘ではないでしょうか。
指摘された箇所を修正してステップアップしていくことで、初心者でも質の高いプログラムに仕上げていくことができます。
また、製品として世に送り出すソフトのデバッガとしても重宝されるのではないかと感じました。
熟練のエンジニアでしか対処できない、作った本人でも思いもしなかったようなエラーを見つけてくれることも期待できます。
Pythonの魅力
Pythonは世界的にも人気の高いプログラミング言語のひとつです。
汎用性が高く、データ分析やWebアプリの開発等、幅広い分野で使用されているほか、日本の市場で今後も拡大することが予想されるAI(機械学習、ディープラーニング)技術との親和性も高く、Pythonを扱えるエンジニアの需要は伸びていくことが予想されます。
そのため開発言語として採用する企業も増えています。
市場動向調査では、Pythonエンジニアの求人倍率は約53倍と非常に高く、慢性的に人材が不足している状況です。
参考: レバテック『2021年12月のITエンジニア・クリエイター正社員転職/フリーランス市場動向』
また、プログラミング言語別の年収調査ではPythonは3位と高い水準にあり、中央値で575万円、最大提示年収で1,499万円と、日本人の年収の中央値397万円を大きく上回りました。
参考: BIZREACH『プログラミング言語別年収中央値を発表、求人検索エンジン「スタンバイ」調べ』
参考: 時事ドットコム『【2022年最新】日本の「平均年収」「年収中央値」を調査』
このように、Pythonは将来性の高いプログラミング言語と言えるでしょう。
就職、転職、副業を目指す上で、身につけておきたいスキルです。
Pythonの学習難易度は他のプログラミング言語と比べると比較的低いとされています。
独学で習得することも可能ですが、近年はオンラインスクールを利用して短期間で集中して実務レベルまで習熟させるという方も増えています。
プログラミングのオンラインスクールを活用する場合は、現役のエンジニアが講師となるスクールが優位でしょう。開発現場で通用する質の高い実務ノウハウを学ぶことができます。
また、オンラインスクールであれば全国どこからでも受講できるため、わざわざ都会へ出たり交通費をかけることなく、ライフスタイルに合わせて効率的にスキルを身につけることができることが魅力です。
ITエンジニアとして働き高い収入を得るための先行投資として、オンラインスクールは一つの選択肢となり得るでしょう。
無料体験できるオンラインスクールもあるため、独学でも習得できそうか、短期集中で学んだ方がいいのか、ご自身の力量を見極めてみるのもいいのではないでしょうか。
こちらの記事ではオンラインスクールを受講する価値はあるのかについて解説しています。あわせてどうぞ
コメント