微软真的拥抱开源了吗?

2019 年 1 月 7 日 码农翻身



前几天无意中看到一篇文章,标题是:Tutorial: Build a Java EE and Postgres web app in Azure,看起来挺普通的,但是这个文章出现在微软的网站上, 那就变得不寻常了。 


Java 是Sun发明的语言, Java EE是各大厂商一起搞的标准,为了对抗他们,微软当年特地搞出了新语言C#和.NET战略。 


Postgres是开源的数据库,而微软自己的产品就是大名鼎鼎的SQL Server。 


这微软什么时候开始拥抱开源了? 


再仔细看看这个文章左边栏,会发现它支持更多的编程语言和开源系统,更重要的是这样的系统都跑着Linux 上面! 


这样的文章如果十年前出现在微软的网站上,绝对会让人惊掉下巴。  


因为微软的产品有个很重要的特点,那就是封闭:  


开发语言要用自家的C#, VB.NET...... 


数据库要用自家的SQL Server。 


操作系统要用自家的Windows Server。 


开发的系统要跑在自家的IIS上。 


开发工具当然是号称最好用的IDE :Visual Studio。  


封闭性是大家最诟病微软的一点,也是微软攻城拔寨的利器。 


现在微软推出了云服务Azure,不管你什么语言,什么数据库,什么系统,都可以运行,还是基于Linux这个开源的操作系统。  


当然,可能有人说,这是云服务嘛,云服务肯定不能只支持自己产品, 得支持各种语言和系统,这不算什么。 


我们再来看看另外一个例子:Visual Studio Code 。 



2016年,Visual Studio Code在Stack overflow举办的调查中,位居最流行开发工具榜单的第13位, 仅仅有7.2%的人在用它,然而,在2018年的调查中,它就蹿升到了第一位, 有34.9%的人在使用,也包括老刘我。 


Visual Studio Code是个完全免费、开源的产品, 它是不是用微软自己的当家语言C#开发的呢? 答案是否定的。


Visual Studio Code是基于Electron搞起来的,Electron又什么?  


Electron 是GitHub维护的一个开源框架(又是开源的!),让程序员可以开发跨平台(Windows,Linux,MacOS) 的桌面GUI程序, 对前端非常友好,因为在开发GUI时,使用的是JavaScript,HTML和CSS。 


Electron 的后台是大名鼎鼎的Node.js,还有Chromium这个Google发起的开源浏览器。 


全是开源的,还有竞争对手Google发起和主导的产品。


如果对比下Visual Studio和Visual Studio Code这两个产品的界面,就会发现差距挺大的, 这个Visual Studio Code更加“时尚”,它的默认界面风格,字体颜色,甚至于设置方式都更加接近其他一些开源的编辑器如Sublime, Atom。 


我不知道Visual Studio Code是怎么做技术选型的,但是能选择开源的产品来开发,而不是沿用固有思维,使用自己的语言和平台来开发一个只能在自家平台运行的产品, 这肯定需要公司层面的巨大变革: 从封闭到开放,拥抱开源。 


值得一提的是Visual Studio Code的Erich Gamma带着团队搞的,这可是一位绝对的大牛啊,设计模式GoF(四人帮)之一, 和Kent Beck 合写了JUnit,Eclipse Java Development Tool的架构师, IBM Jazz, RTC 的主要开发人员。   


这么多工作,随便拿出来一个就足以名垂青史,他一个人竟然全干了。 


Erich Gamma 做的几乎都是开源的工作, 他原来在IBM,2011年跳槽到了微软,这样的人才IBM没有留住,实在是可惜可叹啊。 


从另外一方面看,Erich Gamma跳槽到微软也反应了微软确实在拥抱开源,要不然Erich Gamma估计也不会去。  


2001年,微软的CEO Steve Ballmer 说: 从知识产权保护角度来看, Linux 就是毒瘤并且无可救药。 


13年后,微软的新CEO萨提亚 ∙ 纳德拉在上任时,公开宣示了微软对 Linux 和开源的新感情, 当时我看到这个新闻,我还给同事信誓旦旦地说:微软要开源?绝对不可能! 这就是市场口号而已! 


现在看来被打脸了,微软的确付出了真爱, 从程序员的角度看: 


SQL Server 已经跑在Linux上 


Visual Studio Code被广泛采用


TypeScript被Google采用,作为Angular的编程语言。 .


NET Core开源,实现了跨平台运行


Windows原生支持 Ubuntu Linux Bash......  


微软2016年是GitHub上贡献最多的公司,2018年干脆把GitHub给收购了,这也引起了不少争议...... 这家公司确实是变了。  


那么问题来了: 微软会不会把Windows和Office 给开源了呢?


往期 精彩回顾

我是一个线程

关于老刘和码农翻身

我是一个Java Class

面向对象圣经

函数式编程圣经

TCP/IP之大明邮差

CPU阿甘

我是一个网卡

我是一个路由器

一个故事讲完HTTPs

编程语言的巅峰

Java:一个帝国的诞生

JavaScript:一个屌丝的逆袭

登录查看更多
0

相关内容

Visual Studio 是微软公司推出的开发环境,Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件。
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
56+阅读 · 2020年6月26日
Python导论,476页pdf,现代Python计算
专知会员服务
259+阅读 · 2020年5月17日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
116+阅读 · 2020年5月10日
【2020新书】C++20 特性 第二版,A Problem-Solution Approach
专知会员服务
58+阅读 · 2020年4月26日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
224+阅读 · 2020年3月22日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
179+阅读 · 2020年1月1日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
86+阅读 · 2019年11月25日
21个必须知道的机器学习开源工具!
AI100
13+阅读 · 2019年9月13日
34个最优秀好用的Python开源框架
专知
9+阅读 · 2019年3月1日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
Python为啥这么牛?
Python程序员
3+阅读 · 2018年3月30日
你见过马化腾17年前写的代码吗?
互联网it观察
5+阅读 · 2017年7月3日
Arxiv
35+阅读 · 2019年11月7日
Arxiv
3+阅读 · 2018年3月13日
VIP会员
相关VIP内容
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
56+阅读 · 2020年6月26日
Python导论,476页pdf,现代Python计算
专知会员服务
259+阅读 · 2020年5月17日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
116+阅读 · 2020年5月10日
【2020新书】C++20 特性 第二版,A Problem-Solution Approach
专知会员服务
58+阅读 · 2020年4月26日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
224+阅读 · 2020年3月22日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
179+阅读 · 2020年1月1日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
86+阅读 · 2019年11月25日
Top
微信扫码咨询专知VIP会员