告别加州大学伯克利数据科学研究所

💡 原文英文,约2800词,阅读约需11分钟。
📝

内容提要

作者回顾了在加州大学伯克利数据科学研究所的经历,重点介绍了推动NumPy开发、改善Python打包、引入新色图Viridis和简化并发编程的四个主要项目。通过资金支持和社区合作,提升了科学软件的可用性和可持续性。尽管面临健康挑战,作者对成就感到自豪,并期待未来的机会。

🔎

延伸解读

开源科学软件的资金与治理挑战

文章指出,NumPy等核心科学软件长期依赖无偿志愿者维护,缺乏稳定资金支持。作者在BIDS期间,通过组织开发者会议、达成治理文件和技术路线图,并成功获得130万美元资助,才得以招聘全职开发者。这表明,单纯注入资金未必有效,需先解决社区“社会债务”,建立共识和治理结构,才能让资金发挥可持续作用。

manylinux对Python科学计算生态的实际影响

manylinux项目解决了Linux上无法分发预编译Python包的问题,显著改善了科学软件的安装体验。截至2018年5月,相关包下载量近3.88亿次,且每日增长约100万次,其中NumPy、SciPy、pandas等科学包占比很高。作者还估算,仅SciPy的manylinux轮子就减少了约90吨二氧化碳排放,相当于种植2400棵树,说明其对效率和环保都有积极影响。

Viridis色图:从技术改进到社区共识

Viridis色图的成功不仅在于技术设计,更在于社区推广。作者通过建议matplotlib 2.0仅更改样式,避免了破坏性更新,并借助演讲和讨论建立共识。最终Viridis成为matplotlib、Octave等默认色图,R包月下载量达数十万次,还被用于诺贝尔奖研究和NASA发布。这表明,改进科学可视化工具需要兼顾技术合理性与社会接受度。

并发编程与未竟项目的启示

作者在BIDS期间开发了Trio库,旨在让普通开发者更容易编写并发程序,并撰文阐述结构化并发等理论。此外,还提到PyIR和遥测等未完成项目,这些项目因作者健康问题而中断,但被认为具有变革潜力。这提醒我们,开源科学软件的可持续发展不仅依赖资金,也受限于个人健康等不可控因素,需要更广泛的社区接力。

❓

Q&A

作者在加州大学伯克利数据科学研究所的主要成就是什么?

作者在BIDS期间主要推动了NumPy开发、改善Python打包、引入新色图Viridis和简化并发编程四个项目。

NumPy的开发得到了怎样的支持?

NumPy的开发获得了来自Moore和Sloan基金会的130万美元资助,并通过组织开发者会议达成了治理文件和技术路线图。

Viridis色图的引入有什么重要性?

Viridis色图替代了不良的'jet'色图,提升了数据可视化的质量,成为多个可视化框架的默认色图。

作者如何改善Python的打包体验?

作者通过创建manylinux项目,显著改善了Linux服务器上Python包的安装体验,下载量大幅增加。

作者在并发编程方面做了哪些工作?

作者开发了新的并发编程范式,旨在使普通开发者更容易编写并发程序,相关成果在Python库Trio中实现。

作者在BIDS期间面临了哪些挑战?

作者在BIDS期间面临健康挑战,导致工作时间减少,但仍对所取得的成就感到自豪。

🏷️

标签

➡️

继续阅读