Chez Scheme 的冷门批评 | AI生成和翻译
问题:关于Chez Scheme有哪些不受欢迎的看法?
回答:
Chez Scheme是一种高性能的Scheme方言,以其原生代码编译器和速度而闻名,它在编程社区中引发了各种观点。虽然它因其效率而广受赞誉,但一些观点挑战了这种炒作,转而关注可用性、生态系统和长期可行性。根据Reddit和Racket用户组等论坛的讨论,以下是一些不受欢迎的观点:
-
由于其标准库薄弱和调试工具差,Chez Scheme在“实际工作”中被高估了。 尽管它具有健壮性和速度,但用户指出,与Guile或Racket等替代品相比,缺乏全面的库使其在日常开发中不太实用。调试感觉笨拙且不发达,这让许多人对其技术实力感到惊讶——导致一些人称其对初学者或生产用途来说“非常不受欢迎”。
-
Racket采用Chez带来了不必要的维护负担。 尽管切换到Chez(作为“Racket CS”)提高了性能,但批评者认为这将代码库与上游Chez分道扬镳太远,导致日益增长的分歧和持续的补丁管理成本。这可能会长期 destabilize Racket,一些人认为“更好的可维护性”的乐观态度过于随意,考虑到Chez内部的复杂性。
-
Chez的编译器优化令人印象深刻,但在可变代码中却很脆弱。 Chez在纯函数式代码的流分析和速度方面表现出色,但在使用
set!进行变异时,它会退回到低效的隐式装箱。这使得它在需要有状态编程的场景中不如其他Scheme具有竞争力,从而损害了其在非平凡应用中“最快Scheme”的声誉。 -
代码库是贡献者的“噩梦”,限制了社区增长。 像
cpnanopass.ss(超过16,000行密集、注释不良的Scheme代码)这样的文件让新手望而却步,引发了对可维护性声明的怀疑。社区规模小——GitHub活动和Google Group参与度低就证明了这一点——感觉很封闭,使得局外人难以贡献或信任其未来,除非Kent Dybvig参与。 -
Chez过于小众且文档不足,无法证明其性能优势。 即使与《The Scheme Programming Language》一书有很强的联系,文档也没有很好地索引或对初学者友好,疏远了潜在用户。对于脚本或快速原型设计,速度较慢但更易于访问的Scheme(如Gauche)会胜出,因为Chez的启动时间和简洁设置并不总是能带来回报。
这些观点突出了一个矛盾:Chez在基准测试和低级控制方面表现出色,但在可访问性和生态系统支持方面却滞后。如果您正在探索Scheme,将其与Racket结合使用可能会缓解一些问题。
参考文献:
- Chez Scheme vs Guile Scheme
- Beautiful Racket: Thoughts on Racket & Chez Scheme
- Why is Chez Scheme Fast?
- What is your preferred Scheme environment and why?
- Some concern about ChezScheme…
- Best Scheme for my (rather specific) needs?