北京纠纠科技有限公司

微软开源 2019:“讨好”开发者,当开源圈的“万人迷”

时间:2019-12-30 13:39:46 | 作者:爱科技网 | 点击: 177 次

又到了年末各种盘点出炉的时候,开源圈今年虽然没有“GitHub 被微软收购”、“Red Hat 被 IBM 收购”如此重磅且出圈的新闻,但依然不失精彩。开源圈作为开发者密度最高的圈子,微软作为开发者群体中“渗透率”最高的商业公司,微软与开源之间的故事,天生自带流量属性。

本文就来和大家一起回顾微软在 2019 年与开源相关的重要事件 —— 主要是引发较多关注和广泛讨论的新闻。

为了更好地理解微软的开源 2019,下面我们将会按不同的领域而非时间线进行回顾。

编程语言从拥抱 Rust 到开发基于 Rust 的安全编程语言

最初,微软表示正探索将 Rust 作为 C 和 C++ 的安全替代方案,并且也对外展示了使用 Rust 重写 Windows 组件的体验。根据微软的说法,Rust 是一种从根本上考虑安全性的编程语言,他们将尝试使用 Rust 重写各种产品,因为在过去的十年里,微软 70% 以上的安全补丁都提供了与内存相关的错误,而 Rust 正是解决这个问题的“良药”。

到后来,微软为解决相应内存问题所做的工作,他们决定开发基于 Rust 的新编程语言 Verona,这是是用于微软“安全基础设施编程(safe infrastructure programming)”的一种新语言。

微软推出新编程语言 Bosque

微软推出了一款全新的编程语言 Bosque,该语言参考了 TypeScript 的语法与类型,还有 ML 和 Node/JavaScript 的语义,其作者认为 Bosque 超越了主流的结构化程序设计。

Bosque 由规范化程序设计思想而来,旨在解决当前结构化程序设计中遇到的这些问题,作者把结构化程序设计的兴起认为是编程器与开发工具的第一个黄金时代,他相信此次提出的规范化编程模型将大大提高开发者的工作效率、提高软件质量,并带来编译器和开发工具的第二个黄金时代。

微软宣布加入 OpenJDK 项目

微软正式签署了《Oracle 贡献者协议》,甲骨文公司也对微软参与该项目表示了认可及欢迎。

微软及其子公司在许多方面都高度依赖 Java,并且在微软 Azure 云中向客户提供 Java 运行时服务。微软已经认识到在甲骨文成功有效管理下的 OpenJDK 项目所获得的巨大价值,它收购了 Java,得到了更广泛的软件生态系统,微软也期待做出自己的一份贡献,它表示自己的团队在初期将致力于一些小的 bug 修复和反向移植。

微软开源其 C++ 标准库实现 STL

微软开源了其 MSVC 的 C++ 标准库实现(也就是 STL),该库实现是 MSVC 工具集和 Visual Studio IDE 的一部分。

微软表示开源 STL 可以使开发者随时了解其发展情况,使用最新更新,并且帮助完善项目。“随着 C++ 标准化的加速发展,并且每年都会有更多的重大特性被投票,我们相信从开源贡献中接受主要特性将很重要。”

微软官方上线 Python 教程

微软上线了一套 Python 教程《Develop with Python on Windows》,文档内容包括设置 Python 开发环境、在 Windows 与 WSL 子系统中安装相应开发工具,以及集成 VS Code 与 Git 工具并进行开发等。

开发工具微软开源全新终端应用 Windows Terminal

微软在 Build 2019 大会上宣布开源全新的终端 Windows Terminal,这是一个全新的、流行的、功能强大的命令行终端工具。包含很多来社区呼声很高的特性,例如:多 Tab 支持、富文本、多语言支持、可配置、主题和样式,支持 emoji 和基于 GPU 运算的文本渲染等。

Visual Studio Online 公开上线

微软在 Build 2019 大会上宣布了 Web 版本的 VS Code - Visual Studio Online,并在两个月后的 Ignite 2019 大会上推出 Visual Studio Online 公开预览版。

▲Visual Studio Online

从页面上直观地看,VS Online 就是一个 Web 版的 VS Code,但这其实只是它的一个前端界面,这个基于网页浏览器的编辑器同样支持 Git 存储库、扩展和内置的命令行接口,因此开发者可从任何设备编辑、运行和调试应用。而 VS Online 更强大的能力来自于背后 Azure 提供的云计算能力,并且这些能力可以支持到 VS Code 与 VS 中,这意味着,其实开发者不使用浏览器也可以体验到 VS Online 带来的强大云计算资源支持。

微软开源新字体 Cascadia Code