掲示板

無料で使えて後方互換性を大事にするプログラム言語は?

「JAVAは一度書いたら、どこでも動く」事を売りにしていましたが、JAVA11で後方互換性を大きく捨て、「どこでも動かない状況になる」と問題になっています。
https://www.coppermine.jp/note/2018/12/nightmare-of-jep320/

実際、「このプログラムを動かす際はJAVA8で動かしてください。JAVA11以降では確実に動きません」という注意書きが有るソフトを見た事が有ります。Python のprint文やC++のauto関連も過去のプログラムが動かなくなる仕様変更があり、関わるものに余計な時間の損失を与えます。

そこで、後方互換性を気にする事無く使えるプログラム言語を探しています。プログラム言語もアプリ開発全般用からデータ分析特化型まで有りますが、ここでは限定していません。「ここに相談した方が良いよ」といった別アプローチでも構いませんでアドレスを頂けると有り難いです。
無料で使える事が前提なので、「非営利は無料」すら用意されていない言語は対象外とさせて下さい。

■余談
プログラム言語が進化するのは良いのですが、後方互換性を捨てるならせめてFortranの「.f90」や「.f95」の様に拡張子で区別して欲しいものです。世界最古のコンパイルFortran(FORTRAN)言語が未だに使われている理由の一つとして、細かいところにも配慮されている点が挙げられるのかもしれません。


9 件のコメント
1 - 9 / 9
HSPはどうかな(^o^)丿
後方互換性期待したら、難しいのでは。
新たに覚えて組むしかないかと。
 CまたはC++ならOK。コンパイラだけど。
x86/x64というのはどうでしょうか?
※ツギハギだらけという気もしますが
eoyag
eoyagさん・投稿者
エース
pasorinさん
〉x86/x64というのはどうでしょうか?
アセンブラのことでしょうか?さすがに低級すぎるのでご勘弁くださいませ。
eoyagさん

難しい話ですねえ‼(^▽^)/🐼
> 後方互換性を気にする事無く使えるプログラム言語

これって
●何年使う予定か?
●最悪自分が言語の開発者になれるか?

で決まってくるように思うんですけどね。

そうなると結構 Rubyとかも移ろっているように思いますし、かと言って pythonとか phpだったらどうなのよ?とは個人的に感じます。
→といっても私開発しないですけど。ソースは読みますが。

そういう観点でいくと「なるべくハードウェア直接操作を行わない言語」がより後方互換性を取れるってお話になると思います。

※それこそ OS/400(現在は IBM i/OS)上の開発環境とかだったら、
 かなりの後方互換性を持っていますので。
 ただ、一般的ではないですよね?。
組み込みセキュリティ解析の世界だと、ダンプリスト見てなんのバイナリか判断する能力が必要だといいます^^;

バイナリかるた
https://kozos.jp/binary-karuta/

アセンブラすら買えない時代はハードコーディングでしたし、Z80時代は「それはこう書き換えると○バイト減って×クロック減る」とか議論されていました。
eoyag
eoyagさん・投稿者
エース
結局 OS やハードウェアの細かい部分を使おうとすればするほど 後方互換性や一般性が失われていく事を覚悟するべき、ということですかね。
だから、そういった細かい部分を扱わない、データ演算を専らとする fortran や亜種は未だに使われていますし、細かい部分を扱おうとすればするほどライブラリーなどの出来合いのものを使い、絶えず知識もプログラムもアップデートする必要が出てくるのですね。

だから一般的には細かい部分はC 言語等でドライバーや ライブラリー を作り、それらを使い慣れた言語やグルー言語で呼び出す、いう形式をとっているのですね。
コメントするには、ログインまたはメンバー登録(無料)が必要です。