- 主题:C语言的优势是啥? (转载)
Go 的作者Rob Pike:
我们发布 Go 的时候将其称为系统编程语言。这个词似乎不太恰当,因为很多人以为它是写操作系统的语言。我们觉得它更应该叫做“写服务器的语言”。现在 Go 成为了云平台语言,这样系统语言又可以定义为“跑在云上的语言”。
到底什么是系统编程?
https://nettee.github.io/posts/2018/What-is-Systems-Programming-Really/
C和C++的特色是一样的,只是c++在abstraction这一点上走得更远。
不能实现这两个特色的语言(或者说在需要这两个特点的场合下),都代替不了C。
1、direct hardware mapping
2、zero-cost abstraction
这两个特点是Bjarne Stroustrup针对c++总结的
【 在 ddk3000 的大作中提到: 】
: 请看:《代码的未来》(松本行弘)
: 3.2 Go
: 仔细看看的话,用于系统编程的C和C++则显得有些古老,对于最近获得广泛认知的,从
: ...................
--
修改:z16166 FROM 125.35.123.*
FROM 125.35.123.*
go好多低层的还是通过cgo来调用c更方便,Rust也有不少。
【 在 siegfried415 的大作中提到: 】
: 和其他“现代”编程语言相比,我能够非常强烈地感受到golang的设计者希望能够保持C语言的优势(比如和机器语言的线性映射,生成高效二进制代码)的同时,还希望引入一些现代编程特性(比如类型判断、interface、slice等),尤其是为了适应并发和并行编程,引入的channel和go routine等等。
: Golang的设计者之一就是Ken Thompson,他也是C语言设计者之一,对,就是那个和Ritchie 一起设计C语言和UNIX、并且得了图灵奖的那个老头,所以golang是所有“现代”语言中和C语言最优渊源的一种语言也就一点都不奇怪了。
:
--
修改:z16166 FROM 125.35.123.*
FROM 125.35.123.*
所以要完全代替还早啊,能替代多少算多少。
而且go的一次gc大概需要几毫秒,有些场合是不能有这个的,那这些场合就无法替代了。
【 在 siegfried415 的大作中提到: 】
: 支持遗产代码,降低移植的难度,对于新语言来说,这是非常重要的一环。。。
:
--
FROM 125.35.123.*