关于 Midori 的博客

原文:Blogging about Midori

应该已经过去了足够的时间了,现在提及我之前在微软的项目 “Midori” 应该没有问题了。接下来的几个月里,我将会发表大概十几篇文章,谈谈关于这个项目里面的内容,涉及一些很有趣的方面和要点。

“Midori” 是一个研究和孵化项目,用来探索贯穿整个微软软件栈的创新方法。这跨越了所有的方面,包括编程语言,编译器,操作系统,系统服务,应用,以及全部的编程模型。我们着重偏向于云、并发和安全。这个项目还包含特别的合作“文化”,100% 都是开发人员,而且非常关注代码,看起来很像现在的微软 —— 比起 8 年前这个项目刚开始时候的微软,希望也是以后的微软。

我从 2009 年开始参与 Midori,直到 2012-2014 年队员都逐渐转移到各自的新家。我带领一个小组,关注开发体验,包括:语言,编译器,核心框架,并发模型,以及 IDE 和工具。那时我一直都在写代码,写了很多的代码。

虽然我们是从 C# 和 .NET 开始的,但为了安全、可靠性和性能,我们不得不彻底抛开它们。现在,我帮助将学到的经验教训带到要发布的产品中,这些产品甚至包括 C++。我这系列的大部分博客将关注我们准备在新产品里尝试的关键经验,像异步一切东西,零拷贝 IO ,消除安全和性能的对立,基于权能的安全,安全并发,建立技术讨论文化等等。

我首先得承认,我们没人知道最后 Midori 会变成怎么样。这对研究来说很正常。我最遗憾的是我们没有一开始就将它开源,这样整个互联网的精英就能够合理地评判它了。像其他所有的大公司一样,决定 Midori 核心技术的命运的因素,不是完全技术驱动的,更悲哀的是,甚至不完全是商业驱动的。不过在这方面我们也学到了一些重要的教训。另一个我最遗憾的是没有多发表几篇论文。所以写下这些博客,当是一种弥补。

新文章发表后,我将会更新下面这个列表。

  1. 1. [三种安全](https://github.com/ZiJing6/blogging-about-midori/blob/master/a_tale_of_three_safeties.md)
  2. 2. [作为安全权能的对象](https://github.com/ZiJing6/blogging-about-midori/blob/master/objects_as_secure_capabilities.md)
  3. 3. [异步一切](https://github.com/ZiJing6/blogging-about-midori/blob/master/asynchronous_everything.md)
  4. 4. [安全的本机代码](https://github.com/ZiJing6/blogging-about-midori/blob/master/safe_native_code.md)
  5. 5. [错误模型](https://github.com/ZiJing6/blogging-about-midori/blob/master/the_error_model.md)
  6. 6. [性能文化](https://github.com/ZiJing6/blogging-about-midori/blob/master/performance_culture.md)
  7. 7. [并发 15 年](https://github.com/ZiJing6/blogging-about-midori/blob/master/15_years_of_concurrency.md)

Midori 是一段迷人的旅程,是我职业生涯里最开心的一段日子。我期待能够与你分享这一段旅程。