パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Java、発表から20周年を迎える」記事へのコメント

  • > モバイルアプリケーションでは主要な開発言語となっており

    これってAndroidアプリも念頭にあるのだろうけど、AndroidのランタイムもバイトコードもJavaではないよね。
    ソースコードレベルである程度の互換性があるだけで。
    まぁ「言語」として見ればJavaと呼んでしまっても良いかもしれないけど、
    Java側はこういう、文法だけ互換のある、違う何かにコンパイルするようなモノをJavaと呼ぶことは認めていないんじゃない?

    • by Anonymous Coward on 2015年05月23日 14時25分 (#2819174)

      > AndroidのランタイムもバイトコードもJavaではないよね。
      主要な開発言語の話をしているのに、実行環境の話で突っ込むのは筋が悪すぎるね。
      それにAndroidの公式ドキュメントにもこう書いて有るんだから。
      "Android apps are written in the Java programming language."

      https://developer.android.com/guide/components/fundamentals.html [android.com]

      親コメント
      • 確かに筋の悪いツッコミではありますが、
        このストーリーのリンク先はどれも言語としてのJavaじゃなく実行環境の話をしているし(特にOracle)、
        The registerの記事に至っては「iPhoneじゃあObjective-Cに押しのけられたし、Androidはdalvik VMを採用してるよね」と、むしろモバイル分野における劣勢を示す書き方になっています。
        スラドだけ違っているので、ちょっとモニョったんです。

        親コメント
        • by Anonymous Coward

          確かに少なくともモバイルの一大勢力であるiOSで直接使えない言語を、
          「モバイルアプリケーションでは主要な開発言語」なんて書いていいのか
          どうかは気にはなった。

          元コメの話とずれる一方だから自重したけど。

          • by Anonymous Coward

            主要≠最大。
            主要7ヶ国はG7と呼ばれる。

            Objective-CとJava言語が順序はともかくおそらく上位2つなのだから、主要には違いないよ。

      • by Anonymous Coward

        JavaのVMは使わないけど言語はJavaであり、広義のJavaに含まれる、的な感じでしょうかね。
        JVMをつかうJavaでない言語もチラホラあるし、その逆とでもいうか…
        Javaという名前を使う要件にJVMやランタイムが含まれるかどうかの問題ということになるれど、
        C99とかに準拠した標準ライブラリを持たないコンパイラだってCコンパイラとか呼ばれたりする訳で。

    • by Anonymous Coward on 2015年05月23日 20時03分 (#2819296)

      いや、ソースコードレベルではJavaそのものでしょう。
      Wikipedia [wikipedia.org]には、
      >Android SDKに含まれる dx と呼ばれるツールが正規のJavaコンパイラでコンパイルされたJavaクラスファイルを別のファイル形式('.dex'形式)に変換する。
      とあります。

      親コメント
    • by Anonymous Coward on 2015年05月23日 13時05分 (#2819145)

      そういえば今現在発売されている製品で、Java MEの実行環境を持つものはあるのだろうか。
      もう廃れた言語なのかな。自分は素のJ2MEがそのまま動く環境と言うのはSymbian以外知らないけれど。

      親コメント
      • by Anonymous Coward on 2015年05月23日 18時43分 (#2819257)

        Blu-ray Disc の Java 実行環境が Java ME 相当です
        次世代の Ultra HD Blu-ray でも引き継がれるようです

        親コメント
      • by Anonymous Coward

        BlackBerry OSの7以前は正式なライセンスを取得したJava仮想マシンが搭載されています。
        10で中身が大幅に変わった上に日本国内で合法的に利用できる機種が出ていないのでそちらは確認していませんが。

      • by Anonymous Coward

        MotoのスマフォがJavaME環境載せてたが、今も載せてるかは知らない

    • by Anonymous Coward

      文法構造が同じで、語彙だけが違うもの。津軽弁と鹿児島弁、古典の日本語と現代の日本語同じ言語と言ってもいいのでしょうか? 古典と現代の違いは文法も多少違うかもだけど。(´・ω・`)

      • by Anonymous Coward

        別言語となるか方言となるかはたぶんに政治的なものです。中国語の方言の多くは、欧州なら別言語とみなされていただろうくらいに違います。

        • by Anonymous Coward on 2015年05月23日 13時54分 (#2819166)

          広東語と北京語とかのことを言っているのなら、
          言語学的には完全に別言語で、中国政府も中国語の方言であるとまでは言わないと思う。
          北京語が共通語であるというだけで。
          言語学的に方言か別言語か議論が分かれるものもあるけど、自然言語の話はここまでにして、
          プログラム言語の場合、ソースに互換があれば「同じ言語」と呼ぶ場合が多いと思う。
          それこそベーシックは、派生の多さ、実行環境の多さではどんな言語にも負けていないくらい
          多いけど、どれもみんなベーシックで納得している例もあるし。

          親コメント
          • その辺りの事情は、Wikipediaの記事 [wikipedia.org]によれば、

            • 狭義ではオブジェクト指向プログラミング言語Java
            • 広義ではプログラミング言語Javaのプログラムの実行環境および開発環境(=Javaプラットフォーム)

            と呼び分けてるね。

            # それにつけても、このクソCSSはいつ直すのか…

            親コメント
            • by Anonymous Coward on 2015年05月23日 15時39分 (#2819200)

              その分類は今は当てはまらない。
              無理やり当てはめると、ソースコードは「プログラミング言語Java」で狭義に入るけど、
              実行環境はJavaVMとは無縁だから、広義には入らない
              という矛盾した状況になるから。

              親コメント
              • 確かに一般に言う狭義と広義の関係にはなっていない、という意味では矛盾かも知れないね。
                むしろ、「プログラミング言語Java」を広義で、「Javaプラットフォーム」を狭義と呼ぶべきだろうね。

                親コメント
              • by Anonymous Coward

                それはそれで、また問題が出ちゃう気がする。
                Javaソースが動く環境がJavaVMの環境が唯一な、2000年代前半くらいの状況だと
                Javaの実行環境に依存した仕様ミスが見つかった場合、「広義のJavaでバグがある」と表現したほうが適当だし、
                文法シンタックス上の仕様ミスがある場合、「狭義のJava言語仕様に問題がある」と言ったほうが適当になる。

                実行環境の実現方法とソースとが乖離しても大丈夫なほど普及したってことで、喜んじゃうくらいのお気楽さがいいんじゃないかな。
                よく言われているけど、Javaはもう死にゆく言語だから。
                巨人が死ぬとはどういうことかというのが目の当たりに出来て面白いと思う。

              • by Anonymous Coward

                COBOLやfortranでさえ死ぬところが拝めてないのに、
                Javaの死ぬところが目の当たりに出来て面白いとか、
                ずいぶんせっかちさんだね。

              • 文脈で判ることなら、文脈で判断すれば?
                それか、文脈によって{広義, 狭義}と{Java実行環境, Java言語(仕様)}とを使い分ければいいんじゃない?
                それじゃダメなの? 何が不満なの?

                親コメント
              • by Anonymous Coward

                コボルやフォートランはとっくに死んだ言語だろう。
                コボルで事務システム新規開発とかないし、
                フォートランも77世代で保守以外に組むことありえないし、
                90世代は別モノ。

              • by Anonymous Coward

                それは死ぬところを見たっていうより、
                生きているところから目を逸らしたって話だなぁ
                そういうのでいいのなら、どんな言語だって
                プラットフォームだってすぐ殺せるよ、君なら。

              • by Anonymous Coward

                そうか。だとするとここまで広く普及してしまったJavaは
                もう死ぬことはない不滅の言語だね。いや、別にそれでいいけど。

              • by Anonymous Coward
                ゾンビだって生きているんだ、ってのはゾンビ映画で定番の被害を拡大するパターンですね
              • by Anonymous Coward

                ちゃんと嫁よ。
                FORTRANでなくってfortranと表記してるのはなんでだか分かってんのか?

              • by Anonymous Coward

                COBOLで新規開発してる私が通りますね! 正直Rubyで書きたい。。。

            • by Anonymous Coward

              > # それにつけても、このクソCSSはいつ直すのか…

              まだ報告されていなかったようなのでとりあえずバグ報告してみた。
              http://osdn.jp/ticket/browse.php?group_id=4&tid=35191 [osdn.jp]

              • by Anonymous Coward

                ツリー表示でインデントが崩れるバグも、見難くてしょうがないのでとっとと直して欲しいもんだ。

              • by Anonymous Coward

                そっちも報告した(実際にはチケット #35191よりちょっと前に)。
                http://osdn.jp/ticket/browse.php?group_id=4&tid=35185 [osdn.jp]
                いったいスラド移行前にどういうテストをしたんだか。
                答え: していない

    • by Anonymous Coward

      JavaSEのサブセットのAPIを持ってるよ

日本発のオープンソースソフトウェアは42件 -- ある官僚

処理中...