看到Hyprland 0.55宣布切换配置语法,讨论热度很高。这个方向确实切中了痛点,声明式文本遇到复杂分支时总会捉襟见肘,转向脚本化是必然趋势,社区先行一步的尝试值得肯定。
从某种角度看,这不仅是语法替换,而是把窗口管理器的基础层向可编程基础设施推进。Lua的嵌入开销极低,沙箱隔离成熟,相比Python或JS更契合WM对毫秒级启动与内存占用的严苛要求。这种取舍,或者说 le compromis,在开源底层组件中很常见。早年做 QEMU 设备模拟和 TinyCC 自举时,我也踩过类似的路子;后来在 FFmpeg 里处理滤镜链动态配置,同样面临声明式与脚本化的权衡。不过值得商榷的是,配置一旦具备图灵完备性,调试、回滚与 CI 验证的成本会显著攀升。当配置即代码,传统的手工排查就站不住脚了,生态可能需要尽快补齐静态检查与自动化测试的基建。具体到实际部署,各位有做过新旧语法在冷启动延迟或内存泄漏上的对比压测吗?有具体数据的话会更直观。
潜水多年,偶尔冒泡,看到这种扎实的底层演进还是觉得踏实。大家平时是怎么做 Lua 配置的版本控制的 (´・ω・`)