アカウント名:
パスワード:
Oracleの件もあって減ってゆくかと思ってたけどそうでもないんですね。
単なる個人的感覚だけど、最近のプログラム言語は、「プログラム労力を減らすけど堅牢性は削る」方向に行っているように思う。で、ある程度規模の大きいサーバープログラムで堅牢性を求めると、Java しか選択肢が無いような…?
Java は android でも使われているからだろっていうのもありますが、それだと Kotlinの順位が落ちている理由を説明できないよね??
Java を Oracle じゃなくて Google が買っていたら、たぶんもっとハジけていただろうな。ホント、そこが一番のリスクだわ。
そう思い込んでる人が多いからJavaは今でも生き残れてるのだろうな堅牢性はどう作るかの話でそこまで言語に依存しないだろう
null-safetyの有る無しじゃ全然違うぞ
NPE嫌う人ってなんか平和な時代の子って感じ。他スレッドがIO中でも即死するSEGVに比べたら何も危険じゃないのに。
危険とかそういうのより開発効率のが良いことのほうが重要
Javaで書いてれば堅牢なんて訳ないよね。堅牢に設計する時にJavaがひとつの候補足り得るとは思うけど。
異常動作は想定してないケースそのもののこと。想定するすべてのケースでの正常性を担保するのがテスト。そのシステムのテストをどれだけ完全に設計できるかよりも、言語レベルの堅牢性の要素が勝る事は無い。
言語の仕様上出来ないことは不具合としても作りこむことが出来ないわけで。Cのようにバッファオバーフローさせてアドレス操作出来てしまう言語と不可能な言語とじゃ違うだろ。Javaや最近の高級言語のほうがより堅牢に作りやすいって話じゃないか。そりゃそういう問題にCでも対処したライブラリあるけどさ、それは言語レベルで対処出来ないって話でもある。
元コメは「Java しか選択肢が無いような…?」って言ってる。Kotlinを始めそこらの高級言語も全て劣り、Javaだけ特別って主張だよ。
Cで書くならその「対処したライブラリ」を使うべきだし、Javaはバッファオーバーフローの危険な挙動だけは避けられるだけで、その他の致命的な不具合を勝手に排除してくれる訳ではないのだから、Javaだから大丈夫みたいな過剰な期待は禁物だよ。
基本的には同意なんだけど、Javaの場合、過去20年に渡って積み上げに積み上げまくったノウハウっていうのも非常に大きな要素だと思う。もちろん、最終的には個々のプログラマーがそれを虚心坦懐に勉強したり地道に調査したかどうかに掛かってくるけれど、でもそもそも情報が(豊富に)あるのとないのとでは、スタート地点からして差が出る気がするのよね。
Javaは市販の入門書やウェブ上の手引ページが山のようにあるし、英語をある程度読めるならそれこそ情報の宝庫だと思うので、その地位はまだまだ揺らがないんじゃないかな。
蓄積重要ですよねあとなんだかんだとWrite Once, run Anywhereをわりと頑張っていると思う。ギリギリのところで裏切られてたまに残念な思いはするけれども。
Javaで書いていれば堅牢にはならないというのはその通りなんだけど。それでも以下のうちどのプログラムがましなのかを考えると一番ましなのがJavaなんだよ。・クソプログラマが書いたC言語のプログラム・クソプログラマが書いたRubyのプログラム・クソプログラマが書いたJavaのプログラム
最近の言語はまたグローバル変数を使う感じになってきている気がするけど、やっぱグローバル変数が言語仕様として無い方が堅牢になると思いますね。たんなる一例ですけど。
グローバル変数の有無と堅牢性って、どこかに関連があるんでしょうか?
ちなみにstaticな変数フィールドが作成できるJavaは、グローバル変数が言語仕様として存在する言語ということですよ?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲを呼ぶ -- ある傍観者
Java (スコア:0)
Oracleの件もあって減ってゆくかと思ってたけどそうでもないんですね。
Re: (スコア:0)
単なる個人的感覚だけど、最近のプログラム言語は、「プログラム労力を減らすけど堅牢性は削る」方向に行っているように思う。
で、ある程度規模の大きいサーバープログラムで堅牢性を求めると、Java しか選択肢が無いような…?
Java は android でも使われているからだろっていうのもありますが、それだと Kotlinの順位が落ちている理由を説明できないよね??
Java を Oracle じゃなくて Google が買っていたら、たぶんもっとハジけていただろうな。
ホント、そこが一番のリスクだわ。
Re:Java (スコア:0)
そう思い込んでる人が多いからJavaは今でも生き残れてるのだろうな
堅牢性はどう作るかの話でそこまで言語に依存しないだろう
Re: (スコア:0)
null-safetyの有る無しじゃ全然違うぞ
Re: (スコア:0)
NPE嫌う人ってなんか平和な時代の子って感じ。
他スレッドがIO中でも即死するSEGVに比べたら何も危険じゃないのに。
Re: (スコア:0)
危険とかそういうのより開発効率のが良いことのほうが重要
Re: (スコア:0)
Javaで書いてれば堅牢なんて訳ないよね。堅牢に設計する時にJavaがひとつの候補足り得るとは思うけど。
異常動作は想定してないケースそのもののこと。想定するすべてのケースでの正常性を担保するのがテスト。
そのシステムのテストをどれだけ完全に設計できるかよりも、言語レベルの堅牢性の要素が勝る事は無い。
Re: (スコア:0)
言語の仕様上出来ないことは不具合としても作りこむことが出来ないわけで。
Cのようにバッファオバーフローさせてアドレス操作出来てしまう言語と不可能な言語とじゃ違うだろ。
Javaや最近の高級言語のほうがより堅牢に作りやすいって話じゃないか。
そりゃそういう問題にCでも対処したライブラリあるけどさ、それは言語レベルで対処出来ないって話でもある。
Re: (スコア:0)
元コメは「Java しか選択肢が無いような…?」って言ってる。
Kotlinを始めそこらの高級言語も全て劣り、Javaだけ特別って主張だよ。
Cで書くならその「対処したライブラリ」を使うべきだし、
Javaはバッファオーバーフローの危険な挙動だけは避けられるだけで、
その他の致命的な不具合を勝手に排除してくれる訳ではないのだから、Javaだから大丈夫みたいな過剰な期待は禁物だよ。
Re: (スコア:0)
基本的には同意なんだけど、Javaの場合、過去20年に渡って積み上げに積み上げまくったノウハウっていうのも非常に大きな要素だと思う。
もちろん、最終的には個々のプログラマーがそれを虚心坦懐に勉強したり地道に調査したかどうかに掛かってくるけれど、でもそもそも情報が(豊富に)あるのとないのとでは、スタート地点からして差が出る気がするのよね。
Javaは市販の入門書やウェブ上の手引ページが山のようにあるし、英語をある程度読めるならそれこそ情報の宝庫だと思うので、その地位はまだまだ揺らがないんじゃないかな。
Re: (スコア:0)
蓄積重要ですよね
あとなんだかんだとWrite Once, run Anywhereをわりと頑張っていると思う。ギリギリのところで裏切られてたまに残念な思いはするけれども。
Re:Java (スコア:1)
なんだかんだ言って「どんな環境でも C コンパイラはある」のが普通ですから。
-- To be sincere...
Re: (スコア:0)
Javaで書いていれば堅牢にはならないというのはその通りなんだけど。
それでも以下のうちどのプログラムがましなのかを考えると一番ましなのがJavaなんだよ。
・クソプログラマが書いたC言語のプログラム
・クソプログラマが書いたRubyのプログラム
・クソプログラマが書いたJavaのプログラム
Re: (スコア:0)
最近の言語はまたグローバル変数を使う感じになってきている気がするけど、やっぱグローバル変数が言語仕様として無い方が堅牢になると思いますね。
たんなる一例ですけど。
Re: (スコア:0)
グローバル変数の有無と堅牢性って、どこかに関連があるんでしょうか?
ちなみにstaticな変数フィールドが作成できるJavaは、グローバル変数が言語仕様として存在する言語ということですよ?