## Swift 与 Raylib:简易 C 互操作演示 尽管像 Ladybird 浏览器 Swift 采用遭遇挫折,作者展示了 Swift 的强大和易用性,尤其是在与 C/C++ 库交互时。他们挑战了对 Swift 生态系统的批评,在无需手动 FFI 绑定情况下,为 macOS 和 Web (使用 WASI) 构建了一个基本的 Raylib 游戏。 Swift 利用 Clang 导入器将 C 头文件无缝转换为 Swift 可理解的模块。这允许直接在 Swift 项目中包含 C 头文件和静态库,该项目由 Swift 包管理器管理。作者的项目结构将 Raylib 的 C 代码(每个平台的头文件和库)与其自己的 Swift 代码分开。 为 WASM 构建需要更多努力,包括一个小的 C 存根来处理浏览器环境中的终端请求,并利用 `emcc` 进行最终编译。一个关键收获是 Swift 能够以最少的代码更改构建 Web,并借助 `ASYNCIFY` 等工具来防止浏览器冻结。 最终,作者发现这个过程“简单”,强调了 Swift 在游戏开发和其他需要 C/C++ 集成的项目中的潜力。完整的项目可在 GitHub 上获取。
## AI 对软件生产的“AI效应”:一次客观评估
尽管有说法称AI编码工具能带来巨大的生产力提升(2倍到100倍!),但近期对Python软件包索引(PyPI)的分析显示情况更为复杂。ChatGPT发布后,整体软件创作并未激增;新的软件包*创建*速率保持稳定,甚至出现由垃圾信息而非实际开发引起的激增。
软件包*更新*略有增加,但这一趋势在现代AI工具兴起*之前*就已经开始,很可能是由持续集成实践的采用推动的。然而,一个显著的影响是可见的:**关于AI的软件包更新频率更高**,尤其是那些越来越受欢迎的软件包。流行的AI相关软件包的更新频率比非AI软件包高出2倍以上。
这并非所有开发者的普遍生产力提升。相反,数据表明这是一种集中效应,由两个潜在因素驱动:构建AI工具的开发者可能更擅长*使用*AI工具,并且——至关重要的是——**围绕AI的大量投资和炒作正在推动AI生态系统内部的开发和迭代。**
“AI效应”并非所有软件的寒武纪大爆发,而是围绕AI软件的一次集中爆发。