系统不再自带脚本语言解释器,是一种倒退吗?
資深大佬 : pocarisweat 48
来源: https://developer.apple.com/documentation/macos-release-notes/macos-catalina-10_15-release-notes#Scripting-Language-Runtimes
自 Catalina 开始,苹果宣布未来的某个版本将会不再自带脚本语言( Python 、Ruby 、Perl 等)解释器,并且 Monterey 已经不自带 PHP
猜想的原因:
- (苹果认为的)安全,较新的 macOS (尤其是运行 ARM 芯片的 Mac )中,二进制文件需要签名才能运行。而脚本文件没有,也不可能有这一套签名机制
- 系统自带解释器通常会带来混乱,版本也较旧,不如完全移除掉。开发者使用的时候再用单独的版本管理器(但主流的 Linux 发行版几乎也都自带这些解释器,好像也不会引发什么大问题)
- 某些解释器可能存在 License 上的冲突,类似此前 GCC 和 Xcode 的问题(没有证据,存疑)
坏处就是,没办法假定用 macOS 的人一定能运行自己的脚本文件,并且脚本语言初学者的门槛会高一点点。
隔壁 Windows 虽然也没自带,不过态度好像还挺开放( https://devblogs.microsoft.com/python/python-in-the-windows-10-may-2019-update/)
其实不是什么大问题,但结合此前 cURL 这个事情( https://v2ex.com/t/816680 )……希望我只是脑补得有点多。
大佬有話說 (18)