質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.83%

Java8,Java9等を抽象的に指す語

解決済

回答 4

投稿

  • 評価
  • クリップ 1
  • VIEW 808
退会済みユーザー

退会済みユーザー

Java8 Java9などと言いますが、それらを抽象的に述べる語は何ですか?
JVM Specificationで調べるとJVMのバイトコード仕様等が出てきます。
JavaSEで調べるとAPIだと出てきます。Javaプログラム上から利用できるパッケージやクラスが定義されています。
しかし、例えばJava9でJigsawが実装されましたが、JigsawはAPIではありませんよね?Java SEという語はJigsawを含めれないと思います。
では、Java8などと言った時のAPI以外も含めた仕様全体を指す語は、抽象的には何ですか?

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • 退会済みユーザー

    退会済みユーザー

    2019/05/07 11:06

    「Java SE 8はJava 8の仕様全体の一部を指す語である。」
    この理解は正しいですか?
    では、その残りの部分も含めた語は何ですか?
    Java8-12を抽象的に指す語です。

    キャンセル

  • 退会済みユーザー

    退会済みユーザー

    2019/05/07 11:21

    素直に言ってなぜこれで伝わらないのか、低評価を押す人が居たのか分からないし、失望しました。私は十分に詳細に述べていたし、日本語圏と英語圏でのJava SEの定義が異なっている事が原因であると突き止めれたはずです。私が考えるにこの件について間違っていたのは日本語圏の知識及びそれを信じていた数名の回答者です。しかしそれを低評価する機能はこのサイトにありません。

    キャンセル

  • 退会済みユーザー

    2019/05/08 14:36

    複数のユーザーから「プログラミングに関係のない質問」という意見がありました
    teratailでは、プログラミングに関して困っていることがないと思われる質問を推奨していません。
    「質問を編集する」ボタンから編集を行い、具体的に困っている理由や解決したいことを明確に記入していただくと、回答が得られやすくなります。

回答 4

+3

うーん……何というか思い違いをしているような。

言語仕様のバージョン: Java Specific Version
Java 仮想マシン仕様: JavaVM Specific Version

の二つが組み合わさることで、Java の言語仕様とその実行環境が固定されます。
※これが「狭義の」Java xx

これにコアライブラリ他、各種標準ライブラリを組み合わせることで、
Java SE、Java ME、 Java EE
といった環境が構築されます。
※Java EE の場合、追加ライブラリの仕様が提示されているのであって、実装は標準化されませんが

ですから「API以外も含めた仕様全体」としては、SE,ME,EE といった環境を指すものになるはずです。
それを言うならば「API を含めた仕様全体」という言い方の方が正しいでしょう。
※API以外、というと、API が主になってしまいます

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/05/07 11:43

    言葉遊びをしたければ他のところでやってください。「JavaSE は API である」が表現として誤りを招くものであることは確かですが、だからといってあなたの質問が不適切なものであることは変わりありませんよ。
    貴方自身は Java SE は API であるという、他で見た定義を信じていたからこそああいう質問になったのでしょう? (疑問に思っていれば 「Java SE は API である」というのは誤りですか? という質問になるでしょう)

    キャンセル

  • 2019/05/07 11:54

    主とか従とか言葉遊びを始めたのはあなたです。私はその日本語圏に流通していた定義に基づいて思考して、理解に苦しんでいました。その状況を示す優れた質問文だったと思います。そしてこれは日本語圏に流通している定義が間違いであると明らかにする優れた記事になりました。

    キャンセル

  • 2019/05/07 11:56

    もしかしてあなたはQiitaやwikipediaの定義を信じていたから私が悪い、と言いたいんですか?もしそうなら幼稚すぎるので考え直してください。

    キャンセル

+1

8とか9とか言うのはバージョン番号ですよね?それらを抽象的にまとめた語というなら「Java」そのものになるのでは?
「Word2010とWord2013とを抽象的にまとめた語は何ですか?」と聞かれているような感じだと受け取ったのですが…

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/05/07 12:04

    Javaは言語を指します。Java 8やJava 9にとって言語仕様はそれが意味する範囲の一部でしかありません。

    キャンセル

  • 2019/05/07 12:27

    訂正します。Javaはプログラミング言語の一種を意味しますが、Java周辺の仕様を総称する場合もあるようです。Java Virtual MachineやJava ArchiveがJava言語固有ではない事を考えれば、Javaという語は後者の意味で用いた方が正しいかもしれません。

    キャンセル

0

JavaSEで調べるとAPIだと出てきます。

は、明らかに間違いなので無視してよいと思います。出典は知りませんが。

この図でも、明確にJavaSEをAPIとは、いってないですね。

とはいえ、Java SE APIの省略といわれたら文脈によるので、わからないです。

私の疑問への答えは「Java SE」です。

オラクルの中だと「Jave SE Platform」または「Java Platform, Standard Edition」と言ってるように見えます。もちろん省略して「Java SE」と記載されることもあると思いますが。

省略して「Java SE」だとするとAPIと誤解するかもしれませんね。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/05/07 20:39

    訂正します。オラクルが「Java SE Platform」と書いている箇所をいくつか確認しました。しかし単に「Java SE」と記述される方が多いのはたぶん正しいです。

    ネット全体でもJava SEが優勢です。
    Google検索
    「Java SE platform」35,300 件
    「Java Platform, Standard Edition」211,000 件
    「Java Platform SE」287,000 件
    「Java Platform」 2,010,000 件
    「Java SE」7,040,000 件

    キャンセル

  • 2019/05/07 20:52

    別にあなたが何と呼ぼうかなんでもいいと思いますよ。
    略称が多く使われるのは、別に普通では?
    回答にも書きましたが、Java SE APIの略称をJava SEというのもあると思いますし、それ自体が間違いとは思いませんよ。(回答にある通り、文脈による)

    キャンセル

  • 2019/05/07 20:55

    念のため回答を再度記載しますが

    >オラクルの中だと「Jave SE Platform」または「Java Platform, Standard Edition」と言ってるように>見えます。もちろん省略して「Java SE」と記載されることもあると思いますが。

    「見えます」と言っただけで、あなたに対して「Jave SE Platform」というべきだといってるわけではありません。

    キャンセル

check解決した方法

-6

どうやらオラクルはそれをJava SEと呼んでいるようです。
私の疑問への答えは「Java SE」です。

日本語圏でJava SEで検索すると「APIである」という説明が出てきます。
例えばwikipediaにこうあります。
>Java Platform, Standard Edition または Java SE(バージョン5.0までは Java 2 Platform, Standard Edition または J2SEと呼ばれていた)は多くのJavaプラットフォームプログラムで役立つJava APIの集合体である。

Qiitaの記事「Javaを始めた頃によくある疑問。Java SEって何?JDKとJREえ?」はこう説明しています。
>Java SEとかって何なの?これすなわちAPIのこと。

しかし、英語圏のwikipediaではこう定義されています。
>Java SE defines a range of general-purpose APIs—such as Java APIs for the Java Class Library—and also includes the Java Language Specification and the Java Virtual Machine Specification.[2]

Java SEという語はAPIだけではありません。恐らく各バージョンのJavaの全体仕様を指す語です。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/05/07 19:59

    初版で正しく書かれていたのが編集しなおされたとすれば、何度直してもまたそうなるのかもしれません。

    キャンセル

  • 2019/05/08 13:08

    補足。teratailでもj2seをAPIであると説明する記事があります。しかも高評価がついている上に、現在「j2se」でぐぐると一番上に出ます。
    https://teratail.com/questions/1501
    >J2SE・・・Javaプログラム開発で使う基本的なAPIの集まり。(必須)

    さらに検索すると、いくつかの個人ブログでもj2seやjava seをAPIであると説明しています。個人ブログなので参照は控えますが例えばこのような文が書かれています。
    >簡単に言うと、これらはAPIといって、いわゆる関数群です。

    日本語圏で間違った定義が広まっているという解釈は正しいと思います。

    キャンセル

  • 2019/05/08 13:11

    なお、特にAPIについて述べている文脈ではない場合、java seやj2seという記述だけでjava se apiやj2se apiを意味する事はないと思います。全般的説明としてその単語の意味を説明する場合、「j2seはAPIである」という説明は間違いです。「どのAPIを使っているか?」というようなAPIへの関心が生じている文脈では「j2se」と回答する事は可能だろうと思います。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.83%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る