为什么当年Linus不用c#去写Linux系统?这个确实一下愣住了,因为有点不合常理。
一、时间上的不对等
我们从下面的截图中可以看到,Linux的作者是1991年发布了0.01版本。最新的版本是2019年11月21日。
然后我们再对比一下C#语言的发布时间。他是2000年发布。最新稳定版本是2019年9月23日
显然,从图片可以看出C#比Linux晚了大约9年的时间才出来。这个时间上是不对等的,所以Linux的作者无法使用C#来开发Linux系统。
二、那么C#出来后,可以用C#来编写Linux系统吗?
答案:理论是可以的。
因为C#也一样可以做底层编译为机器代码,所以,没有C#不能做的操作系统,差别更多的可能是在其它领域的方面。
三、那么既然C#也能开发Linux,为什么不做个C#版的Linux系统呢?
那是因为Linux是一种自由和开放源码的类UNIX操作系统。
该操作系统的内核由1991年10月5日首次发布,在加上用户空间的应用程序之后,成为Linux操作系统。
Linux也是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU 通用公共许可证(GPL),任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。
而C#是有版权的,属于微软件公司的版权。那么一个以自由开放为宗旨的操作系统,就不太可能再去开发一个需要C#版权的系统了。
三、那么C#后来不是有.net core开源的呢,能不能做呢?
答案:不能做。
如上图,.net core出来的日期是2016年6月27日,如果这时候还来做操作系统,可能有点进水养鱼的意思了。Linux系统早已经自成体系,完全没有必要再开发一份了。你说是吗?
领取专属 10元无门槛券
私享最新 技术干货