プログラミング、フリーダイビング、ブロックチェーンのブログ

プログラミング道場

これからエンジニアを目指す人のために、私が書いた本です^^
この本は「Kindle Unlimited」の30日間無料体験で読むのがオススメです。



ChatGPTは、どうプログラミングを変えるのか?

投稿日:

ChatGPTを使ってみて、今後、プログラミングがどうなるのか考察します。

ChatGPTって何?

ChatGPTについて、あまり知らない人もいるかもしれないので、簡単に説明しておくと、対話式のAIです。
文章を作ってくれたり、科学的な質問に答えてくれたりする便利なツールです。
その中で、私が注目しているのは、ChatGPTを使ったプログラミングです。
なぜならば、プログラミングにおける正解は確実に決まっているからです。
そういった、正解が決まっている分野に強いのがAIです。

反対に、あまり正解が決まっていない質問、例えば「コオロギ食についてどう思う?」みたいな質問に関しては、あまり参考になる回答が返ってきません。
どうも、ChatGPTはポリコレに汚染されているようです。

ChatGPTのプログラミングの検証

それで、今回はChatGPTを使ったプログラミングを検証しました。
ただ実際に、ChatGPTの話に入る前に、プログラミングについて、少し詳しく説明します。
プログラミングとは、具体的には何でしょうか?
私は、それを3つの段階に分けて考えています。

  1. 抽象的な概念でロジックを考える
  2. 自然言語(日本語や英語など)でロジックを考える
  3. そのロジックをプログラミング言語のコードに変換する

1と2は、一緒になっている人も多いかもしれません。
いずれにせよ、プログラミング言語で直接、ロジックを考えられる人は少ないはずで、多くの人達は、上記のようなプロセスを辿っているはずです。
プログラミングを知らない人は、3だけに注目しがちですが、実際に大事なのは1と2の部分です。

プログラミングを書くための具体的な例も見てみましょう。
例えば、エンジニアが以下のような日本語のロジックを考えたとします。
これが、上記の1と2の部分です。

  • 1から10のランダムな数字を使って、20個の値が入った配列を作成して
  • その配列から重複を削除して
  • その配列の値を降順にソートして
  • Aというファイルを開いて、その配列の値を書き込んで
  • Aというファイルの中身を表示して

そして、今までは、この日本語のロジックを、自分でプログラミング言語に変換する必要がありました。
でも、今回はChatGPTにコードを生成してもらいました。
ChatGPTには、実際に以下のような文書を書きました。
上の自然言語に、「使用プログラミング言語はRuby」を追加しただけです。

使用プログラミング言語はRuby
1から10のランダムな数字を使って、20個の値が入った配列を作成して。
その配列から重複を削除して。
その配列の値を降順にソートして。
Aというファイルを開いて、その配列の値を書き込んで。
Aというファイルの中身を表示して。

そうすると、綺麗なRubyのソースコードを作成してくれました。

次にPHPのコードです。

次にPerlのコードです。

次にPythonのコードです。

次にJavaのコードです。

次にGolangのコードです。

まとめ

ChatGPTは、上記のような素晴らしいプログラミングを書いてくれました。
正直な所、新しいプログラミング言語を学ぶ習得コストは、かなり下がったと思います。
いくつか気付いた点を書いておきます。

  • 環境依存しやすい低レイヤーの言語や、アップデートが早いプログラミング言語は、少し面倒。
    C言語、Rustなどは、自分の実行環境とChatGPTを揃えてやる必要がある。
  • テストコードも作成はしてくれるけど、精度はあまり高くない。
    テストの仕様はChatGPTに任せきりにせず、自分でも考える必要がある。
  • 最適・最速なコードを書いてくれるとは限らないので、データ構造の扱いなど、自分で考えなければいけないこともある。

今後は、ChatGPTは広く使われていくようになると思います。
今まで、コードを書く時は、主に以下のような手法が取られていました。

  • vimなどで、一からゴリゴリと書く
  • SDKのサジェスト機能を使って書く
  • 検索して、コピペして書く
  • 自分のローカルにあるメモ帳からコピペして書く

今後は、それに加えて「ChatGPTに依頼してから、コピペして書く」が追加されるのでしょう。

ChatGPTとプログラミングの関係は、パソコンと漢字の関係に似ているかもしれません。
社会人になってからは、多くの人は漢字を読めても、漢字を書くことは忘れていきます。
ChatGPTが一般的になると、エンジニアはソースコードを読むことはできても、ソースコードを書くことは忘れてしまうのかもしれませんね。

ちなみに、ChatGPTにソースコードを貼ったりすると、そのソースコードは全て外部に漏れていることになります。
特許に関わるようなソースコード、ソルト値、パスワードなどを含むソースコードは、絶対にChatGPTに貼らないようにしましょう。

AIについて詳しく知りたい人には、この記事がオススメです

AIを学びたい人におすすめの本【2023年最新】

目次1 AI全般2 機械学習3 漫画 AI全般 ファティマ: AIとのラブ・ストーリー 近未来SFストーリー。 この小説では、人間とファティマと呼ばれるAIとのラブ・ストーリーを描きます。 平成くん、さようなら 社会学者・古市憲寿、初小説。 ...

続きを見る


統計学をより詳しく勉強したい人には、この記事がオススメです

統計学の学習でおすすめの本と動画【2023年最新】

目次1 動画教材2 初心者向け3 中級者向け4 上級者向け 動画教材 いちばん理解できる統計学ベーシック講座その1【確率分布・推定・検定】 ▼ 興味がある方は、画像をクリック 統計学の基礎を効率的に学べるベーシック講座です。 統計学の入り口 ...

続きを見る


数学をより詳しく勉強したい人には、この記事がオススメです

機械学習に備えて数学を学習するためのおすすめの本と動画【2023年最新】

目次1 関連記事の紹介2 動画教材3 中学生レベル4 高校レベル5 結城先生シリーズ6 線形代数7 微積分8 ラプラス変換9 その他 関連記事の紹介 自然言語処理については、この記事を読んで下さい 機械学習については、この記事を読んで下さい ...

続きを見る


IT業界について詳しく知りたい人には、この記事がオススメです

IT業界にいる人におすすめの本【2024年最新】

目次1 IT技術を使った会社の生存戦略2 プロジェクトマネジメント3 人事的なマネジメント4 働き方改革5 業界の雰囲気をなんとなく知りたい人 IT技術を使った会社の生存戦略 ソフトウェア・ファースト Sierを使った開発には限界がきており ...

続きを見る


Rをより詳しく勉強したい人には、この記事がオススメです

Rの学習でおすすめの本と動画【2024年最新】

目次1 動画教材2 統計3 R言語自体の解説 動画教材 Rではじめる統計基礎講座 ▼ 興味がある方は、画像をクリック R言語を使って、「データ分析」や「データサイエンス」の基礎を覚えて、ビジネスで活きる「実践的な統計」を学びましょう。 医師 ...

続きを見る

IT業界についてより詳しく勉強したい人には、この記事がオススメです

IT業界にいる人におすすめの本【2024年最新】

目次1 IT技術を使った会社の生存戦略2 プロジェクトマネジメント3 人事的なマネジメント4 働き方改革5 業界の雰囲気をなんとなく知りたい人 IT技術を使った会社の生存戦略 ソフトウェア・ファースト Sierを使った開発には限界がきており ...

続きを見る


Webデザインをより詳しく勉強したい人には、この記事がオススメです

Webデザインの学習でおすすめの本【2023年最新】

目次1 HTML/CSS2 UI3 UX4 Photoshop5 Illustrator6 デザイン基礎7 文字や余白8 配色 HTML/CSS 1冊ですべて身につくHTML & CSSとWebデザイン入門講座 初心者向けに説明され ...

続きを見る


各都道府県にあるプログラミングスクールを知りたい人には、この記事がオススメです

都道府県別のプログラミングスクール紹介【2022年最新】

目次1 プログラミング言語2 まとめ プログラミング言語 北海道 東北 関東 中部 近畿 中国 四国 九州 沖縄 まとめ この記事では、都道府県別にプログラミングスクールを紹介しました。 近くに行ってみたいスクールがあれば、是非、連絡をして ...

続きを見る

-AI, IT業界, エンジニアの処世術

Copyright© プログラミング道場 , 2024 All Rights Reserved Powered by AFFINGER4.