微软公布了明年 3 月在 Microsoft HQ 举办
WSLConf 的消息,WSLConf 是由微软主办的首个与 Linux 相关的会议,主要围绕
WSL 进行讨论,内容涉及该平台的最新发展动态,也会介绍 WSL 与一些 IDE 如
Visual Studio 和 JetBrains 的集成。

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

感谢IT之家网友鸢一雨音的投稿

图片 1

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

从微软公司的.NET标准开始大面积推广到现在,所有的平台上加起来几乎只有两款能用的IDE,第一款不用说也知道:Visual
Studio,第二款是很多Mono .NET开发者以及早期Unity开发者很熟悉的Mono
Develop。但是最近JetBrains公司发布了旗下名叫Rider的.NET IDE的EAP版本。

Canonical 宣布它将成为 WSLConf 的“特别赞助商”,毕竟
Ubuntu 是最早于微软合作的 Linux 发行版,它也是 WSL 中最受欢迎的版本。

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

说起JetBrains,它的很多作品让人印象深刻:比如AndroidStudio的基础、优秀的Java
IDE——IntelliJ,Visual Studio最着名的插件之一——ReSharper,着名的C/C++
IDE——CLion,着名的Python IDE——PyCharm,它们都是JetBrains旗下的产品。

图片 2

编程语言

本次JetBrains家族新增的产品Rider面向的是.NET开发,能同时兼容微软.NET
Framework、Mono .NET和.NET
Core三个不同的.NET实现。贴心的是,它不仅兼容Linux和Mac,还内建了VS风格的着色主题和快捷键,这让Visual
Studio用户迁移到Rider的难度降低了。下面我将在Linux和Windows下评测这款IDE。

WSLConf 包括以下主题:

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

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

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

1、获取和安装

  • 在 WSL 上使用 Kubernetes 进行构建、测试和部署
  • 使用 WSL 加速物联网开发
  • 来自 WSL 和 Windows Terminal 团队的最新消息
  • WSL 与 Visual Studio 和 JetBrains IDE 集成的演示
  • 基于 WSL2 的 Docker 桌面的技术深入探讨
  • 与 WSL 首席开发者 Ben Hillis 进行问答
  • 如何保护企业环境中的 WSL 部署安全
  • UNIX 系统管理员对 WSL 的使用

微软推出新编程语言 Bosque

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

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

Rider正处于EAP阶段,只要下载就能获得一个月的评估期。因为处于EAP阶段,所以Bug还是有一些的,非常不建议拿来当生产工具使用。在这个地址可以获取Rider的EAP评估板。对于Linux来说,和其他JetBrains系IDE一样,只要执行过位于./bin目录下的rider.sh文件,就会自动帮你创建各大桌面的启动器。而Windows直接运行安装程序,或解压zip版至目标位置即可。

详情请查看:

微软宣布加入 OpenJDK 项目

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

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

2、安装.NET Core和Mono

(文/开源中国)    

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

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

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

为了开发.NET Core和Mono
.NET的应用程序,当然需要先安装这二者和需要的SDK。Windows下请参照这两个页面:

微软官方上线 Python 教程

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

开发工具

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

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

图片 3

各Linux发行版安装方式大同小异。

Visual Studio Online 公开上线

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

图片 4

▲Visual Studio Online

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

对于我的Arch Linux 64位版来说安装这二者很方便:

微软开源新字体 Cascadia Code

Cascadia Code 是微软在 Build 2019
大会上宣布推出的等宽字体,微软介绍它是与新的终端 Windows Terminal
一起开发的,官方建议将其与终端应用和 VS、VS Code 等文本编辑器一起使用。

Cascadia Code
为命令行和代码编辑器提供了全新的体验,并且它还支持编程连字(Programming
Ligatures),就是在编写代码的时候,可以组合字符创建新的字形,这对于代码的可读性和呈现后的用户友好度都是一种很好的机制,同时这也增强了
Windows Terminal 的现代外观。

图片 5

sudo pacman -S mono

操作系统

yaourt -S dotnet dotnet-sdk

微软在 Windows 10 中搞了个真正的 Linux 内核

2019 年微软直接在 Windows 中安上了一颗“Linux 内脏”,这颗 Linux
内脏其实是今年 5 月份在 Windows 10 上推出的全新版本 WSL(Windows
Subsystem for Linux),新版本 WSL 2 使用了全新的架构,这是一个真正的
Linux 内核,它改变了 Linux 二进制文件与 Windows 和计算机硬件的交互方式。

图片 6

安装完成之后Rider应该就能新建它们对应的工程文件了。

微软将 exFAT 技术添加到 Linux 内核

微软宣布将其 exFAT 技术添加到 Linux 内核中。exFAT 文件系统是 FAT32
的替代者,它由微软开发,但是不仅用于 Windows 系统,目前 exFAT
在整个电子行业中都得到了广泛应用,特别是 SD 卡、USB 闪存驱动、数码相机和
MP3 播放器中使用最为充分。

如今微软开放了它的 exFAT 技术,并且把技术规范公开,这意味着,往后 Linux
内核可以直接堂堂正正地将 exFAT 支持开箱即用。微软还强调了一句:Linux
社区可以放心地使用 Linux 内核中包含的 exFAT。

3、评测

微软将新版 Edge 浏览器引入 Linux

继推出 WSL2、将 exFAT 技术添加至 Linux 内核,微软再次瞄准了 Linux。在
Ignite 2019 大会上,微软正式宣布 Edge for Linux 不久后将会发布。

微软高级编辑 Zac Bowden 称新的 Edge 是完全跨平台的,该浏览器将是支持
Windows 平台,包括服务器和客户端,以及 macOS、Android、iOS 和 Linux。

由于Linux下和Windows下的体验基本一致,除非特殊声明,都同时指两个平台。

微软开源 Bing 搜索背后的关键算法

微软开源了一项 Bing 搜索背后的关键算法——SPTAG,它使 Bing
能够快速将搜索结果返回给用户。

SPTAG (Space Partition Tree And
Graph)是分布式近似最近邻域搜索(ANN)库,为大规模矢量搜索场景提供高质量矢量索引构建、搜索和分布式在线服务工具包。利用
SPTAG 算法作为开源 Python 库的核心,Bing
能够在几毫秒内搜索数十亿条信息。

我的初步体验感觉它的代码编辑器是Visual
Studio的复刻版——毕竟配色、快捷键、IntelliSense都一样。但是很快我就发现了两个小细节——它们让Rider的编辑器更突出:

开源文化

折叠点更多、更智能。这让开发人员手动编写region的次数大幅减少;

自由软件之父 RMS 受邀到微软发表演讲

自由软件运动发起人 RMS
受邀在微软进行了演讲,其中谈到微软在开源上的贡献,他表示微软未来活动的主要动力,无论如何都必定是基于利润的,微软的开源贡献其实对于“自由世界”毫无贡献。

RMS 还给了微软十条建议,代表性的包括开源 Windows、收回“毒瘤”言论以及指导
GitHub 正确许可证。

易混字段的相互转换。例如,在.NET标准里,基于Array的集合的元素个数都用Length属性表示,基于CollectionBase的集合的元素个数则都用Count表示。虽然它们在学术意义上更严格,但是经常让开发人员分心。Rider会在IntelliSense里将两者都标为可用,然后依据上下文推断到底应该是Count还是Length。对于其它易混的字段也是如此。

微软将主办首场 Linux 会议 WSLConf

微软公布了明年 3 月在 Microsoft HQ 举办 WSLConf 的消息,WSLConf
是由微软主办的首个与 Linux 相关的会议,主要围绕 WSL
进行讨论,内容涉及该平台的最新发展动态,也会介绍 WSL 与一些 IDE 如
Visual Studio 和 JetBrains 的集成。

Canonical 宣布它将成为 WSLConf 的“特别赞助商”,毕竟 Ubuntu
是最早与微软合作的 Linux 发行版,它也是 WSL 中最受欢迎的版本。

(文/开源中国)    

短时间内我很难发现Rider的代码编辑器的更多细节了,但是Rider的代码编辑器的体验确实类似一个装了ReSharper的Visual
Studio代码编辑器——更好用,同时又很熟悉。

在我的计算机上,Rider的反应速度比Mono Develop高了不少,资源占用也比Mono
Develop更低。Gtk+的着色主题和我的桌面整体风格很搭,界面也是标准的JetBrains布局。解决方案资源管理器和Visual
Studio的版本以及Mono Develop的版本功能接近,文件图标也沿用了Visual
Studio的风格,辨识度很高。

如果说不足的话,那就是稳定性了。短短1个小时Linux版本的Rider崩溃了3次,其中有一次还直接把我的肉桂桌面给整个拖垮了,而Windows版本则数次失去响应。不过鉴于它仍是EAP版本,这是可以理解的。

就目前看来,Rider似乎能正确完成设计中的所有功能——包括编码、编译、调试一条龙。不过有意思的是,现在Xamarin
for
Android&iOS的Linux版迟迟未出,但Rider似乎早早的为它做好了准备。在Linux版的Tools菜单下,我们同样可以找到:

4、总结

Rider比Visual Studio和Mono Develop更轻,对开发人员的友好度稍微高一些。

从Visual Studio迁移到Rider难度很低,也基本没有习惯完全不同的地方。

Rider的EAP版本很不稳定,但是鉴于其它JetBrains软件的表现,其正式版应该也会很稳定。

Rider的正式版多半是要收费的,这相比Visual Studio和Mono
Develop来说就显得不太厚道了——但是这可以理解,毕竟VS和Mono的核心都是它们自己的.NET平台,Rider却只是一个单纯的IDE,没有另外的盈利点了。

Rider不支持Win10UWP项目。

作为业余爱好C#的Linux用户,我相当希望Rider能顺利推出,也希望它能取代我现在的C#开发环境——毕竟,Mono
Develop的槽点太多了。