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

近日,微软内核工程师阿列克斯回答了网友提问:使用哪种编程语言开发Windows10?阿列克斯的回答让小编很震惊:他说win10系统98%都是C/C++,并且C占据了绝大部分。此时小编就有一个疑问,Java不是号称宇宙第一语言吗,为啥不用Java写?
小编咨询了做开发的朋友,经过朋友的谆谆教导,小编总算明白了一点儿,原来操作系统只能用C/C++,或者汇编这类的低级语言来写。像Java,Python这类的高级语言只能做应用开发。但是是什么原因导致高级语言不能做操作系统开发呢?经过一番搜索,小编渐渐明白了其中的原理。
原来操作系统要和低层的硬件打交道,Java之类的高级语言为了其安全性和稳定性,牺牲了与低层硬件打交道了能力。其实,我认为最重要的原因,还是Java为了实现其可移植的能力,把自己封锁到JVM(JAVA虚拟机)里面运行。其实JVM就相当于是一个微型操作系统,只不过它不直接在硬件上边运行,依赖于低层的操作系统。
这一点,和电影《盗梦空间》的情节有些类似,Java的运行环境JVM就像是一场梦,在梦里面,你的无法操作现实中的硬件。
尺有所短,寸有所长。高级语言有高级语言擅长的领域,但是对于开发操作系统,这种高难度的项目,只能依靠C/C++此类的低级语言了。看来姜还是老的辣说的一点没错,C语言永不过时也是有道理的。
既然Java开发不了操作系统,那能不能用Java写一个浏览器呢?这个会不会容易一点儿?

猜你喜欢

转载自www.cnblogs.com/jiuq521/p/12695268.html