一直不太喜欢微软的东西,对.Net和C#并没有怎么深入地了解过,只晓得它们和Java虚拟机和Java语言差不多,所以从来没怎么关注过。 最近突然看到一则消息,说.Net竟然开源了,感到十分震惊,同时感叹微软确实不是以前那个微软了,渐渐地让人刮目相看。微软开源的Visual Studio Code已经我目前使用最频繁的开发环境,现在.Net也拥抱了开源。

事实上,开源的是.Net Core,只是整个.Net Framework的一部分。目前.Net Core的最新版本已经是2.1.4了,所以其实已经开源很久了,我不知道而已。.Net Core的API则是由开发的.Net Standard定义,这两个项目都发布在GitHub上:

.Net Core不仅可以在Windows上运行,而且可以在macOS和Linux上运行,看起来是一个不错的跨平台开发工具。Java的地位应该会受到一定的威胁,网上的一些文章甚至扬言Java可能会因此死掉。先避免语言之争,但.Net Core开源,确实在Java之外给我们提供了另外一个选项。Java自从被Oracle收购之后就势头减弱,而.Net的这个开源的动作大有后起直追之势。是否有一天能看到Java从TIOBE的排名第一的神坛走下来呢(虽然.Net的主力语言C#才排在第四第五这个样子)。

.Net的官方文档也做得不错,毕竟微软做了那么多年MSDN。顺着Get Started文档在Mac和Windows都尝试着玩了一下.Net,还挺顺,没有遇到什么坑。相应的开发工具Visual Studio有免费的Community版本,另外针对Mac也有相应的版本,可以说是另一个惊喜吧。

Java和.Net在机制上十分类似,都是把编程语言(Java或者C#)翻译成中间代码,然后放到具体的环境上执行。但是在执行的时候有些许的不同,Java是通过虚拟机把中间代码载入执行的,所以Java程序在任务管理看起来都是一个名字;但是.Net的中间代码在执行前会被.Net Host翻译成原生的代码后执行,从任务管理器中看的话,.Net程序还是自己的名字。如果开发App的话,还是.Net好一点,毕竟如果你开了10个App,发现任务管理器里面这十个名字都是一个名字,分不出来哪个是哪个,会崩溃的。

最后,写这么多字谈.Net Core,是因为感觉微软做了一件“好事”吧。

其他参考链接:

(完)