## Ruby 是一种“严肃”的语言吗?辩护 关于 Ruby “严肃性”的争论,反映了人们对编程*应该*是什么样子的不同看法。Ruby 有意拒绝了令人愉悦的开发体验等同于缺乏严谨性的观点。它作为对令人望而却步的编码文化的顽皮反叛而出现,优先考虑清晰和乐趣,使编程对初学者和经验丰富的开发者都易于上手。 批评者经常指出像 Twitter 已经超出 Ruby 的能力这样的例子,但作者认为这不是失败——而是*成功*,证明了 Ruby 促进快速增长的能力。许多公司,包括 Shopify、Doximity 和 GitHub,都*使用* Ruby 建立了非常成功的平台,证明了它的能力。 Ruby 的核心优势在于它的文化:吸引重视代码可读性和人道工作环境的开发者。在未来,人工智能日益普及且普遍面临倦怠的情况下,这些价值观——可读性、可维护性和乐趣——将至关重要。最终,作者认为,“严肃性”并不能保证成功;共鸣、清晰和人际连接才能。Ruby 不试图说服任何人,但它为软件开发的未来提供了一个有价值的视角。
## Windows 子系统与 WSL:总结
Windows NT 的“子系统”概念最初指的是 API 转换层,它使来自其他操作系统(如 OS/2)的应用程序能够在 NT 上运行。这些子系统,如 OS2SS.EXE 甚至 Windows 本身,通常使用单独的进程来管理状态。早期例子包括一个几乎未使用的 POSIX 子系统和 CSRSS.EXE,用于 Win32 API 转换——其中一部分后来被移动到内核 WIN32K.SYS 中以提高性能。
Windows Subsystem for Linux (WSL) 建立在此历史之上。WSL1 是一个轻量级的转换层,通过仅分配必要的内存提供最小的开销,但由于文件系统 API 的差异而导致性能问题。
WSL2 通过在 Hyper-V 中运行完整的 Linux VM 来解决这个问题,利用存储在 VHDX 文件中的本机 Linux 文件系统。虽然启动速度最初较慢,但 WSL2 提供了显著的性能提升。它动态管理内存,通过网络共享和 WSLg(GUI 应用程序的远程桌面层)等功能与 Windows 集成。
尽管被称为“子系统”,WSL2 的功能更像一个 VM,但微软优化内存使用和集成的努力模糊了界限。使用 WSL2 时,仔细的文件管理至关重要,因为不正确地卸载发行版可能导致数据丢失,因此强烈建议定期备份或为工作使用单独的 VHDX 镜像。
## JPEG XL:重生的格式
多年来,JPEG XL 是一种技术上更优越的图像格式,但由于缺乏浏览器支持而受阻。虽然 Safari 用户(17%)和使用小众浏览器的人可以访问它,但大多数用户使用的是 AVIF——一种由 Google 推出的格式,尽管社区对此存在疑虑。
最初,Google 的 Chromium 团队出人意料地决定在 2022 年*移除* JPEG XL 支持,理由是生态系统兴趣不足。这一决定受到了 Meta、Adobe 和 PDF 协会等行业参与者的强烈反对,他们强调了该格式的优势——包括无损 JPEG 重新压缩、HDR 支持和巨大的图像尺寸能力。
现在,Chromium 已经显著地恢复了对 JPEG XL 的支持。这一变化是由不断增长的社区压力以及 Firefox 探索基于 Rust 的解码器所推动的,预计这将推动 JPEG XL 成为一种主要的图像标准。其独特的特性,如提供约 30% 文件大小减少的无损重新压缩,以及渐进式解码,使其成为 Web 及其他领域的理想选择——甚至 PDF 协会计划将其用于 HDR 内容。这种期待已久的的支持预示着多功能且强大的 JPEG XL 格式拥有光明的未来。