less than 1 minute read

http://ppl.jssst.or.jp/index.php?ss2021 の資料をパラパラ眺めて(イベント自体には不参加です)

からの

https://docs.google.com/presentation/d/1r5WC_yTW2WS9ZYMn025_CZQjXLnnYnm54KOcZVzVYBc/edit#slide=id.gec371124d7_0_117

で「マネージド言語」という言葉が使われているのが気になって、なんだろうと思ったというお話。

同イベントで https://tugawa.github.io/files/jssst-ss-2021.pdf も公開されており、こちらも歴史への言及が面白かった。(TODO:何か書く)

もとはMicrosoft、からのGoogleも

.NET文脈から言われているようなので、ジャンル的には最近の言葉だったか。

同じように疑問を持っている

もとのmanaged codeは狭義で .NET CIL 上のcodeのことだったが、

何がmanagedなのか、という点では上記Q&Aなどでは memory management に注目していて、確かに

それを別の文脈で借用している

(もとのmanaged codeというのも何なんだというか、 説明とかブランディングのために選ばれた言葉だったのかな? JVMなどでもnative codeといういい方はあったと思うけど、それに対する

CLIも堂々とCommonって言ってたりするし。。

JavaだとJava class(ファイル名から?)とか byte codeって言われることが多かった?
表現的にはでも、Javaで書かれてbyte codeへ返還されJVMで実行されるプログラム全体のことを managed code って呼びたい感じでしょうか。

byte code は実体のある実装の方ですしね。

GCや型安全に注目した文脈では

(TALとかw)

NaCL とか検査済みバイナリのような考え方もあって、それに対してはより広い概念、かつ仮想機械言語・中間言語・ランタイム

プログラム言語の実行環境周辺では、ランタイム・Unsafeとかも言葉として導入されていたと思いますが、ざっくり世界観を分ける言葉が欲しかったということでしょうあVMと

Updated: