見出し画像

Javaの復習方法をAIに聞いてみた

AIしてますか?
マスコミなどでも結構取り上げて認知度が高そうな割に、いざアンケートをみると意外に認知されていないChatGPTが話題になってもう3ヶ月以上。APIが開放されてからも1ヶ月ちょっと。
個人的には本家ChatGPTはAPIだけ無料分で使っている状況です。そこにEdgeでBingのChatが使えるようになったので、ちょっと比較してみました。

先にざっとしたファーストインプレッションをまとめるとそれぞれこんな印象です(あまりプロンプトに凝らずに普通に質問を投げた場合です)。

  • 本家ChatGPT

    • 放っておくと冗長な回答をしがち

    • 実験、体験がメイン

  • Microsoft Bing

    • 引用文献を例示してくれるのは便利

    • 簡潔にまとめてくれる

    • Web検索の延長線上の使い方を想定している印象

    • 想定される次の質問が提示されるのは便利

    • 実用がメイン

もちろん、ChatGPTは色々プロンプトを工夫すれば回答をカスタマイズできます。が、ちょっと調べ物したい時にいちいちそんなことしてたら本末転倒ですよね。
APIもあるので各自で工夫しろということかと思います。ベンチャーであるOpenAIにとってWeb版ChatGPTは自分たちのモデルのデモであり、APIを使って各自で利用してもらうためのプレゼン手段なのかと思います。

一方、マイクロソフトは実用をめざして調整したものを提供しているのかと思います。あくまで、ChatGPTを利用して検索を便利にするのが目的でしょう。言うなればG〇〇gle検索への対抗策の一つです。

それぞれの回答を比べてみる

昔、Java 1.5とかの時代に、JavaのServletやJSPで業務システムを開発、運用していたことがあります。その後、Javaからは離れていましたが、この春からちょっと仕事でJavaに関わることに。
そんなわけで、Javaの復習をしているわけです。せっかくなので、ChatGPTとBingにJavaの学びの手伝いをしてもらいましょう。

質問:Javaを復習したいけどどうすれば良い?

ChatGPTのWeb版(無料ユーザーなのでGPT4ではありません)とBingのチャットで、以下の質問をしてみました。

以前、Javaをやっていましたが、最近は離れていました。仕事でJavaに関わることになったため、再学習したいです。Javaの復習をするのに適した方法を教えてください。なお、以前使っていたのはJava5です。今回の対象はJava8です。

さて、どんな回答をしてくれるでしょう。

Bing

まずは分かりやすいBingから。L◻︎NEみたいな今風のチャット画面ですね。

Bingでの回答

Edgeのサイドパネルに出てくるので細長いです。下に引用文献のリンクがありますが、本文中にマウスカーソルを持っていくと下線とともに引用文献のタイトルがポップアップして、すぐに飛べるようになっています。
すぐに根拠を確認できるのはよいですよね。
サイドパネルということもあり、あまり長文を出力されても困るためか、本家に比べるとだいぶポイントを絞って簡潔な回答をする感じです。
まあ、簡潔すぎてちょっと物足りない気もします。そこは、会話を重ねて情報を得ていくのがよいかと思います。

ChatGPT

一方、ChatGPTは、説明を丁寧にする印象。そのせいで、やや冗長。

Java8にアップデートするために、以下の手順を踏むことをお勧めします。

1. Java8の新しい機能と変更点を学ぶ
Java5からJava8にアップグレードすると、多くの新しい機能や変更が導入されました。Java8で導入されたラムダ式、ストリームAPI、メソッド参照などの新しい機能は、Javaの開発において非常に役立ちます。したがって、Java8で追加された新しい機能や変更点について学ぶことが必要です。

2. Java8のドキュメントを読む
Javaのドキュメントは、Javaの機能やAPIに関する詳細な情報を提供しています。Java8にアップグレードするには、Java8の公式ドキュメントを読むことが必要です。Javaのドキュメントは、Java API仕様書、Javaチュートリアル、Java言語仕様書などがあります。

3. Java8の新しい機能を実際に使ってみる
Java8で導入された新しい機能を実際に使用することが非常に重要です。Java8の新しい機能を使って、簡単なプログラムから始めて、Javaの復習をすることができます。また、オンラインのJava8のチュートリアルを利用することもおすすめです。

4. Java8の新しいライブラリを学ぶ
Java8には、新しいライブラリが追加されています。例えば、ストリームAPIや日付と時刻APIなどがあります。これらのライブラリを使用することで、Javaの開発が簡単になります。Java8で追加された新しいライブラリについて学び、これらを使用してプログラムを開発することがお勧めです。

以上の手順に従って、Java8にアップグレードすることで、Javaの復習を効果的に行うことができます。

ChatGPTの回答

長文を書きがちな自分が言うのもなんですが、丁寧な反面、文章がくどい印象を受けます。
たとえば、最後の部分はもっと簡潔にまとまりますよね。

4. Java8の新しいライブラリを学ぶ
ストリームAPIや日付と時刻APIなど、Java8には新しいライブラリが追加されています。
新しいライブラリを使用することで開発が簡単に。積極的に活用することがおすすめです。

長いことは弊害もあり、無料版では途中で回答が切れてしまうこともしばしば。再出力させると先ほどとちょっと違う回答になることもあります。アクセス過多による障害も相まって、なかなかストレスがたまるケースもあります。もっとも、Bingの方もそもそもしつもんができないときもあるので、どっちもどっちです。

どちらを使うべき?

これはツールとしてのスタンスが違うので、自分のやりたいことに合わせて使い分けするのが良いと思います。

難しいこと考えずに、Web検索の代わりに気軽に使うならBingでしょう。ChatGPT API組み込んだ検索用アプリなどを使うならともかく、素のWeb版ChatGPTから欲しい回答を得るにはテクニックが必要。そういうことを考えずに気軽に使えるのはやはり楽です。

一方、凝った質問文を使ってある程度カスタマイズした回答が欲しい場合はChatGPTでしょう。世の中にはこういうときにはこういうプロンプトを使うと良いといった情報もたくさんあります。そういうのを試して楽しむならChatGPTが向いています。

  • さくっと検索して概要を知りたい(実用重視) → Bing

  • 話題のAIを試したい、1人ブレストしたい(体験重視) → ChatGPT

拙い記事でございますが、サポートしてもよいよという方はよろしくお願いします。著者のやる気アップにつながります。