您在操作系统中使用哪种语言?

Aet*_*hex 10 operating-system programming-languages

这可能更像是一个主观问题,但是如果你编写自己的操作系统,你会使用哪种语言(不是像.NET或JDK这样的API)?哪种语言提供了灵活性,简单性以及可能的硬件低级接口?我在想Java或C ......

Rya*_*roi 32

C,当然.

  • 另外,请注意"C,当然"是比"绝对...... C"更好的语言. (8认同)

jro*_*way 12

哈斯克尔.

一旦你翻转了正确的硬件位,C就是用于其余操作系统的可怕语言.调度程序,文件系统,驱动程序等等都是复杂的高级算法,您不希望用汇编语言(或C;同样的东西)编写它们.做得太难了.(VM子系统和内存管理器可能需要以低级别编写,因为您需要以某种方式引导高级语言运行时.)

无论如何,这不仅仅是我为SO想出的一个疯狂想法.这是一个用Haskell编写的操作系统:http://programatica.cs.pdx.edu/House/

Lisp是另一个不错的选择; 原始的Lisp机器(在运行时)比UNIX和Windows等"现代"操作系统更具可调性.

有时历史会忘记好的想法(通常以"最大表现"的名义),这让我很难过.


Gre*_*ill 8

D将是一个有趣的选择.从它自己的描述:

D是一种系统编程语言.它的重点是将C和C++的强大功能和高性能与Ruby和Python等现代语言的程序员生产力相结合.特别关注质量保证,文档,管理,可移植性和可靠性的需求.

D运行时假定存在垃圾收集器,这不适合内核的最低级别.但是,它适用于许多较高层.


Nip*_*rus 6

使用Assembly构建任务调度程序和驱动程序等基本组件,然后使用C构建更高级别的组件,如应用程序和工具

我相信这也是Windows XP的构建方式(不确定Windows VistaWindows 7).


cod*_*ear 5

绝对...... C


Ini*_*eer 5

C,ASM,C#

奇异