D言語コンパイラのDMDが次のバージョンからBCryptGenRandomを利用するようになる。 これはWindows Vistaから追加されたAPIであるが、ふと各プログラミング言語およびその処理系がどのようにプラットフォームのバージョンを管理・あるいは管理してなかったりするかが気になった。
Python
やや古いもので非公式だがコアコミッターの記載したリストがある。
意外にもWindowsとかばんばんきってる。
Ruby
特定のバージョンについて記載があるわけではないが、各OS/distroに担当者が記載されている。
ミニマムサポートのバージョンについては特に記載がない。
るりまのほうにもプラットフォームの言及があるがメンテされていなさそう。
Rust
プラットフォーム/アーキテクチャごとにTier表にまとめられている。
Linuxやglibcなんかはミニマムサポートバージョンも記載されている箇所があるが、全部についているわけではない(FreeBSDなどは最新のものをサポート?)
Go
OSとアーキテクチャのミニマムサポートバージョンがまとまられている。
バージョンで更新があった際の履歴も残ってるのがいい。
D言語
各コンパイラごとにサポートしているOSとアーキテクチャがまとまっている。
一応まとまってはいるがミニマムサポートは不明。たぶんWindowsは8になると思うが。
Nim
主要なOSとアーキテクチャについては公式サポートをうたっている組み合わせがある。
Windows XPとかMac OS X 10.04(ppc64!)とかほんとにいまだにサポートしてるのか謎。
Windows
- 2022年1月にXP対応の修正パッチが取り込まれている
- 2022年2月に乱数ライブラリのXP対応修正パッチが出ているが、こちらはクローズされている
標準ライブラリではWindows8が実質のミニマムサポート?
macOS
たぶんだれも気にしてないわこれ。
所感
GoとRustは真面目にやっててえらい。 Pythonもいい方なんだけど非公式なんだよな。 他はもっと頑張ってくれ。