Windows 10是用什么语言写的?有多少行代码?

Windows内核主要是C写的,   有500多G。

作者:Axel Rietschin

编译:码农翻身

这是微软的内核工程师 Axel Rietschin在Quora的一个回答。

Windows 10 的code base 和Windows 8.x , 7 , Vista , XP , 2000 和Windows NT的code base 是相同的,当然是演化过来的,其中的每一代都进行了重大的重构,增加了大量的新功能,提升了性能和对硬件,安全的支持,并且保持了高度的向后兼容性。

(码农翻身注:考虑到Windows的众多版本和海量应用,这是一个很了不起的成就, 也是一个很大的包袱。)

Windows 的大部分内核(ntoskrnl.exe)是用C语言写的,你可以在Github上看到泄露的Windows Research Kernel 代码,自己研究一下,虽然它已经相当过时,非常不完整,但依然能看出一些重要的东西。


代码库在这里:

https://github.com/markjandrews/wrk-v1.2

比如说,我们熟悉的注册表(Registry),在内核中被称为配置管理(configuration manager,简称cm),就在这个目录下:wrk-v1.2/base/ntos/config

(码农翻身注:Windows Research Kernel是微软为教育目的提供的源代码。高校师生可以修改,编译,以此来学习OS的原理。在Linux大行其道的时候, 不知道有多少高校在用?)

大部分运行在内核态的代码都是用C语言写的,包括大部分的文件系统, 网络,大部分的驱动, 其中也有一些C++。

如果往上走进入到用户态,C语言就会变少,C++会逐渐增多。

大多数人都没有意识到Windows的庞大规模:这是一个真正的史诗般的巨型项目。

在Windows的代码树中,有源代码,测试代码,还有其他东西(码农翻身注:可能是图标,声音,图片?),文件数超过400万,500多G。

仅仅是把这个代码树的目录和文件名都浏览一遍,就要花费你一年的时间。这里有50多万个文件夹,其中的代码组成了操作系统工作站和服务器的所有版本,相关工具,开发工具包。

如果你想把源代码都读一遍,可能要穷尽一生。

下面是一个截图,描述了Windows源码的统计信息:

640?wx_fmt=png

有一次,我有几周的时间没有更新我的Git Branch , 等我回来的时候,我发现它已经落后60,000次提交了!

你肯定会说一个人不可能阅读完每天的代码提交,更不用说过去三十年积累的代码了。

如果你看到了Windows 10 "DVD” 并且想知道是什么编程语言创造了光盘上的东西,我猜98%是C和C++, C是大头。

.NET BCL(Base Class Library) 和其他库&框架主要是用C#写的,他们仅仅是C语言海洋(有一点C++小岛)小水滴而已。它们来自不同的部门(The developer's division), 代码也不是Windows代码树的一部分。

原文地址:

https://www.quora.com/Which-programming-language-is-used-for-making-Windows-10


你可能会喜欢

我是一个线程

我是一个Java Class

CPU阿甘

面向对象圣经

TCP/IP之大明邮差

CPU阿甘

负载均衡的原理

一个故事讲完HTTPs

编程语言的巅峰

Java:一个帝国的诞生

JavaScript:一个屌丝的逆袭

我逛了JDK一条街,发现不少好东西

640?wx_fmt=jpeg

### 回答1: 在代码方面,Mac 和 Windows 都是很好的选择。这两种操作系统都提供了众多的代码编辑器和集成开发环境 (IDE),可以满足不同的开发需求。 两者的区别通常在于用户偏好和生产力方面。每个人都有自己的喜好和使用习惯,所以哪一个更好取决于个人喜好。例如,有些人喜欢 Mac 的界面风格和触摸板,而有些人则更喜欢 Windows 的界面和快捷键。 就生产力而言,也并没有明确的优劣之分。如果你已经熟悉某一种操作系统,或者你所使用的软件只能在某一种操作系统上运,那么这种操作系统可能会更适合你。 总的来说,决定使用 Mac 还是 Windows 并不是决定代码质量的关键因素。重要的是要选择一款适合自己的编辑器或 IDE,并且要坚持不懈地学习和练习。 ### 回答2: 用Mac代码相比于Windows更好的原因有以下几点: 首先,Mac操作系统(macOS)基于UNIX,具有良好的稳定性和安全性。与Windows相比,Mac系统更加稳定,不容易崩溃或出现各种问题,可以提高代码的效率。 其次,Mac系统提供了一个优秀的开发者工具集合,如Xcode和Terminal。Xcode是一个功能强大且易于使用的开发环境,它支持多种编程语言和框架,包括Swift和Objective-C。Terminal则提供了一个可定制的命令界面,方便开发者进各种操作和调试。 此外,Mac系统还内置了一些很有用的开发工具,如Git和Homebrew。Git是一个版本控制系统,可以方便地追踪和管理代码的变更。Homebrew是一个软件包管理器,可以方便地安装和更新各种开发工具和库。 另外,对于移动开发者来说,Mac是首选平台之一。因为iOS开发只能使用Xcode,而Xcode只能在Mac上运。如果你想开发iOS应用或者移动端的游戏,使用Mac是必要的。 最后,Mac系统的用户体验也是值得一提的。Mac的界面设计简洁美观,操作流畅,给人一种愉悦的编程环境。此外,Mac上的应用程序往往更加注重用户体验,这有助于提高开发者的效率和工作体验。 总结而言,虽然开发者可以使用Windows编程,但是考虑到Mac系统的稳定性、开发者工具集合、移动开发支持以及用户体验,用Mac代码通常会更好。 ### 回答3: 用Mac代码相对于Windows来说有以下几个优点。 首先,Mac操作系统(OS X)是基于UNIX的,相比Windows更加稳定和可靠。它具有更好的性能和更高的效率,大大减少了系统崩溃和软件错误的风险,提高了开发的稳定性和质量。 其次,Mac拥有更好的开发工具和环境。Xcode是专为Mac开发者设计的集成开发环境(IDE),提供了丰富强大的工具和调试功能,使得开发者可以更快速、高效地编和调试代码。此外,Mac还支持众多的开发平台和编程语言,如iOS开发、Swift语言等,有助于开发者扩展技术能力。 第三,Mac具有漂亮的用户界面和出色的用户体验。Mac操作系统注重于用户界面的设计和用户体验的提升,使开发者可以更加舒适和愉快地编代码,减少了开发过程中的疲劳感,提高了工作效率。 第四,Mac具有更好的兼容性和稳定性。由于Mac的硬件和软件都是由苹果公司直接控制和设计的,所以在硬件和软件的匹配上更加紧密,具有更好的兼容性和稳定性,能够提供更好的开发环境和用户体验。 综上所述,相对于Windows,使用Mac进编码有更好的稳定性、更强大的开发工具和环境、更优秀的用户界面和用户体验,更好的兼容性和稳定性等优势。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值