Aet*_*hex 10 operating-system programming-languages
这可能更像是一个主观问题,但是如果你编写自己的操作系统,你会使用哪种语言(不是像.NET或JDK这样的API)?哪种语言提供了灵活性,简单性以及可能的硬件低级接口?我在想Java或C ......
jro*_*way 12
哈斯克尔.
一旦你翻转了正确的硬件位,C就是用于其余操作系统的可怕语言.调度程序,文件系统,驱动程序等等都是复杂的高级算法,您不希望用汇编语言(或C;同样的东西)编写它们.做得太难了.(VM子系统和内存管理器可能需要以低级别编写,因为您需要以某种方式引导高级语言运行时.)
无论如何,这不仅仅是我为SO想出的一个疯狂想法.这是一个用Haskell编写的操作系统:http://programatica.cs.pdx.edu/House/
Lisp是另一个不错的选择; 原始的Lisp机器(在运行时)比UNIX和Windows等"现代"操作系统更具可调性.
有时历史会忘记好的想法(通常以"最大表现"的名义),这让我很难过.
使用Assembly构建任务调度程序和驱动程序等基本组件,然后使用C构建更高级别的组件,如应用程序和工具
我相信这也是Windows XP的构建方式(不确定Windows Vista和Windows 7).