2017-01-25 125 views
2

不幸的是,JavaScript是我有经验的唯一编程语言。所以很自然,我的直觉就是想知道为什么你不会在JavaScript中使用编写一种编程语言(在这种情况下是Node)?为什么用C/C++编程语言编写Node.js?

为什么选择C?你有什么好处?

+2

Node.js的是用C++编写。 C和C++是不同的语言,具有不同的优势和劣势。 C在获得对硬件的最直接访问和最密切控制方面最为强大 - 例如,Linux内核就是C语言。C++擅长协调数百个模块之间的连接;适合像Node这样的产品。 –

+5

节点只是Chrome的V8引擎,所以你真正的问题是,为什么V8是用C++编写的? – ndugger

回答

2

C是适用于系统编程的低级语言 - 操作系统,数据库引擎以及其他必须高效的代码(用于完成给定任务的时间和空间)的构建。 C“接近裸机”,将每一个有效的编译成机器码和CPU指令。

当然,你可以用比C更高级的语言编写编译器和中间件。尽管这样做可能会带来速度上的优势,但它们几乎总是会运行得更慢,并消耗更多的内存。许多语言(Python,PHP,JavaScript,...)都是以C(或C++)实现的。

如果你想实现另一种语言像节点,你可能会最好看到另一种语言,关于系统编程专业,如C++,C#,铁锈,d,...

+4

节点编写为C++。 –

+0

wikipage'https:// en.wikipedia.org/wiki/Node.js'实际上引用了C,C++,JavaScript。但我改变了我的问题的标题! –