首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为啥操作系统都用C/C+来写,Java这么强大,写不了操作系统吗?

近日,微软内核工程师阿列克斯回答了网友提问:使用哪种编程语言开发Windows 10? 阿列克斯的回答让小编很震惊:他说 win10 系统98%都是C/C++,并且C占据了绝大部分。此时小编就有一个疑问,Java不是号称宇宙第一语言吗,为啥不用Java写?

小编咨询了做开发的朋友,经过朋友的谆谆教导,小编总算明白了一点儿,原来操作系统只能用C/C++,或者汇编这类的低级语言来写。像Java,Python这类的高级语言只能做应用开发。但是是什么原因导致高级语言不能做操作系统开发呢?经过一番搜索,小编渐渐明白了其中的原理。

原来操作系统要和低层的硬件打交道,Java之类的高级语言为了其安全性和稳定性,牺牲了与低层硬件打交道了能力。其实,我认为最重要的原因,还是Java为了实现其可移植的能力,把自己封锁到JVM(JAVA虚拟机)里面运行。其实JVM就相当于是一个微型操作系统,只不过它不直接在硬件上边运行,依赖于低层的操作系统。

这一点,和电影《盗梦空间》的情节有些类似,Java的运行环境JVM就像是一场梦,在梦里面,你的无法操作现实中的硬件。

尺有所短,寸有所长。高级语言有高级语言擅长的领域,但是对于开发操作系统,这种高难度的项目,只能依靠C/C++此类的低级语言了。看来姜还是老的辣说的一点没错,C语言永不过时也是有道理的。

既然Java开发不了操作系统,那能不能用Java写一个浏览器呢?这个会不会容易一点儿?

不知道在座的各位有什么想法,评论区给您留了位置。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200413A0S95000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券