ChatGPT を使用した Python、C、Java でのプログラミング

ChatGPT はコードを書くのが恐ろしく上手です。

誰もが聞いたことがある チャットGPT この段階では。 これは、自然言語処理モデルを利用して複雑な質問に対する回答を生成する、AI を活用したチャットボットです。 これらの回答は必ずしも常に正確であるとは限りませんが、かなり簡単に得られる回答を事実確認できるほど詳細に記載されている傾向があります。 ChatGPT を使用してコードを作成してみるとどうなるでしょうか?

結局のところ、これは、使用したい言語と、その言語で何を達成したいかによって、さまざまな程度の成功を収めることができます。 さまざまなプログラミング言語でさまざまなタスクを完了するのにどの程度うまく機能するかをテストしてみました。 また、ChatGPT が生成するコードには変更を加えません。作成したコードが機能しない場合にのみ、機能するコードを作成するようにガイドします。

ChatGPT をテストするために、すでに使い慣れている 3 つの言語 (Python、C、Java) を使用しました。 結果は特に驚くべきものでした。私が要求した内容が抽象的なため、Python では少し苦労しましたが、C と基本的な Java は簡単に処理できました。 私も持っています GitHub リポジトリを作成しました ここにあるすべてのコードにアクセスできるので、自分で試してみることができます。

Python での自動ページチェック

Python は私のお気に入りのプログラミング言語です。それは、Python のパワーと使いやすさのおかげです。 私はこれまで、ワークフローの一部を自動化するために Python で多くのツールを作成してきました。コンピューター サイエンスの学士論文もすべて Python で作成しました。 私は ChatGPT に、Web ページの変更を定期的にスキャンして変更を検出できるプログラムを書くように依頼しました。そして、それはほとんどの目的を果たしました。

上記のコードの問題点は、実際のブラウザをシミュレートしていないことです。 Web サイトはブラウザー内の「ユーザー エージェント」と呼ばれるパラメーターをチェックします。これにより、使用しているブラウザーの種類、またはボットであるかどうかが決まります。 多くの Web サイトはユーザー エージェントを定義していない接続を受け入れません。XDA を指定したときにこれに遭遇しました。 実際のブラウザをシミュレートするために、リクエストにカスタム ヘッダーを追加するように依頼しましたが、それに応じてくれました。

上記のコードは静的な Web サイトでは機能しますが、問題は、オンラインで読むコンテンツの多くが動的であることです。 ページが現在時刻を返す場合、たとえばページ上のどこかで、上記のコードは、ページが更新されるたびに常にページが変更されたことを示します。 これを ChatGPT に指摘したところ、ChatGPT は混乱し、問題に対するまったく間違った解決策を提供してしまいました。

上記は、ハッシュがどのように機能するかについての誤った説明です。 ハッシュの重要な点は、2 つのハッシュは基本的に比較できないため、入力へのわずかな変更がハッシュに大きな違いをもたらすということです。 ハッシュが変更を比較してスキャンするための最良の方法であると示唆するのは間違った主張であると私が伝えたところ、謝罪の返事があり、次のようなことを教えてくれました。 した 仕事。

上記のコードで私が発見した唯一の問題は、大規模な Web サイトの場合、 自然言語処理を使用して差異を比較および計算するため、計算コストが高くなります。 それらの間の。 それでも、更新を確認する場合、ほとんどの Web サイトでは、変更されたコンテンツの 5% のしきい値で十分であり、必要に応じてしきい値を調整できます。 時間はかかりましたが、最終的には到着しました。

これらのような Web スクレイパーが必要になる理由はたくさんあります。それを実行できるツールは世の中にありますが、独自のツールを構築するのは素晴らしいことです。 これらは、荷物の追跡に使用したり、私の場合は、地元の不動産サイトで賃貸に上がる新しい物件をスキャンしたりするために使用できます。

C でのパスワード生成

最近はセキュリティが注目されているため、安全なパスワードを使用し、さらに 2 要素認証を使用することが重要です。 安全なパスワードの部分に苦労する場合は、C でパスワード ジェネレーターを作成するのが非常に簡単です。 ChatGPT はこれを非常に簡単に処理しましたが、私が発見した唯一の問題は、ChatGPT にパスワード ジェネレーターの作成を依頼したときに、String C ライブラリがインポートされなかったことです。 私はそれを伝えたところ、最初に輸入品に追加されました。

MAX_LENGTH グローバル変数を 16 文字ではなく 32 文字に増やしたところ、次のパスワードが生成されました: aW3H0E(&FPQvG8B@4*()+4yRKTKB#U0O. 効果があると言っても過言ではありません!

Javaの電卓

多くの人が Java で経験したことがある非常に基本的なプログラムは、電卓の作成です。 これは、コンピューター科学者が最初にどの言語を学ぶかに関係なく、プログラミングのキャリアの中で直面する最初の課題の 1 つです。 ChatGPT に、少なくとも 2 つのクラスを使用する Java で計算機を作成するよう依頼しました。最初の試行で完璧に動作しました。

これは電卓クラスです。

これはメインクラスです:

私のIDE、IntelliJでこれらのクラスの両方を作成し、メインクラスを実行すると、完全に動作します。 2 つの数値と加算、減算、乗算などの演算子を受け取る計算機プログラム 分割。

ChatGPT はプログラミングが得意です

ChatGPT にすべてを任せるつもりはありませんが、プログラムを作成したり、問題が発生した場合に批判を考慮したりするのにかなり優れた仕事をしてくれることは明らかです。 Web ページ内の小さな変更を識別する方法としてハッシュ アルゴリズムを提案しているのを見て驚きましたが、それを除けば、より基本的なタスクではまったく問題ありませんでした。 Python プログラムの場合でも、最初から正しいアイデアがあり、より静的なページであれば完璧に動作したでしょう。

もちろん、ChatGPT がすぐにプログラマーに取って代わるというわけではありませんが、労働力にとって非常に優れたツールになりつつあります。 GitHub の副操縦士たとえば、を利用します GPT 人々がコードを書くのを助けるテクノロジーであり、時間の経過とともにさらに進歩するでしょう。 あなたが初心者プログラマであっても、この種のツールは完全に信頼できれば学習に役立つ可能性がありますが、これまで見てきたように、時々奇妙な間違いを犯すことがあります。

もちろん、ここで挙げた例は非常に基本的なものであり、ほとんどのプログラマーはかなり簡単に作成できるでしょうが、重要なのはそこではありません。 単純なタスクに対するソリューションを構築するのが恐ろしく得意で、より複雑なタスクも適切に処理できるようです。 私たちは、このようなツールが将来どのような方向に進み、人々のスキル向上に役立つのかを楽しみにしています。