锁定老帖子 主题:Go-lang特性介绍
该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-01-22
从语言特性上,没觉的有什么让人特别兴奋的地方,况且还非常不成熟,离应用仍然较远。
|
|
返回顶楼 | |
发表时间:2010-01-22
bcccs 写道 mryufeng 写道 非常有前途的一门语言 有兴趣的同学一起来研究哦... 语言排行 目前第13, yeah Go有两种编译器,其中cgo用gcc backend,优化更好,但coroutine是直接 映射到thread上,结果被Stackless Python的用户嘲笑了一番:编译比C 慢,而运行比Python慢。 “coroutine直接映射到thread上”这个怎么讲? 我看目前goroutine实际的实现很类似于erlang的轻量级进程,同样是将大量goroutine(内部简写为g)交给多个scheduler线程(内部简写为m)调度处理,当某个goroutine内发生系统调用时,其他ready的goroutine会交给空闲的或新创建的scheduler线程继续处理(新建scheduler线程不退出,形成自动增长的scheduler线程池),而当前scheduler线程会阻塞等待系统调用返回。调度期间并没有可见的大开销,跑的又是native code,如果比stackless python慢就有点儿匪夷所思了。 |
|
返回顶楼 | |
发表时间:2010-01-22
techabc 写道 请feng兄指示:
erlang和go各适用于什么类型的系统呢? 同问, 看起来go有些特性和erlang有点类似噶. 不过erlang不支持面向对象, 某些繁杂的应用感觉开发效率没有象.net, java那么高. |
|
返回顶楼 | |
发表时间:2010-01-22
techabc 写道 请feng兄指示: erlang和go各适用于什么类型的系统呢? Go的定位 是系统编程,比如Web服务器、存储系统和数据库等,但也欢迎在其它方面的应用。 代替C语言做系统软件! |
|
返回顶楼 | |
发表时间:2010-01-22
xuby 写道 任何不能和C兼容的系统级编程语言,都没有前途可言。 三十多年的C资产积累,不可能被轻易抛下。 相反 GO和c的接口不要太容易 它有个Cgo, 发行版有例子的. |
|
返回顶楼 | |
发表时间:2010-01-22
logicgate 写道 非主流,能提供的工作机会太少,吃饱饭的程序员当兴趣研究研究可以,不可以等着用来混饭吃。 不是每个人都要做和能做系统软件的... |
|
返回顶楼 | |
发表时间:2010-01-22
chaoslawful 写道 bcccs 写道 mryufeng 写道 非常有前途的一门语言 有兴趣的同学一起来研究哦... 语言排行 目前第13, yeah Go有两种编译器,其中cgo用gcc backend,优化更好,但coroutine是直接 映射到thread上,结果被Stackless Python的用户嘲笑了一番:编译比C 慢,而运行比Python慢。 “coroutine直接映射到thread上”这个怎么讲? 我看目前goroutine实际的实现很类似于erlang的轻量级进程,同样是将大量goroutine(内部简写为g)交给多个scheduler线程(内部简写为m)调度处理,当某个goroutine内发生系统调用时,其他ready的goroutine会交给空闲的或新创建的scheduler线程继续处理(新建scheduler线程不退出,形成自动增长的scheduler线程池),而当前scheduler线程会阻塞等待系统调用返回。调度期间并没有可见的大开销,跑的又是native code,如果比stackless python慢就有点儿匪夷所思了。 是你说的这样的 所以速度非常快. |
|
返回顶楼 | |
发表时间:2010-01-22
xuby 写道 任何不能和C兼容的系统级编程语言,都没有前途可言。 三十多年的C资产积累,不可能被轻易抛下。 确实,我觉得go这类语言(包括scala)的最大问题是:为了使用新建的actor调度模型,所有直接同系统交互的外部库都需要重写,以避免系统调用时同时阻塞大量actor的执行过程。 |
|
返回顶楼 | |
发表时间:2010-01-22
20.Shadow 写道 techabc 写道 请feng兄指示: erlang和go各适用于什么类型的系统呢? 同问, 看起来go有些特性和erlang有点类似噶. 不过erlang不支持面向对象, 某些繁杂的应用感觉开发效率没有象.net, java那么高. 20.Shadow 写道 techabc 写道 请feng兄指示: erlang和go各适用于什么类型的系统呢? 同问, 看起来go有些特性和erlang有点类似噶. 不过erlang不支持面向对象, 某些繁杂的应用感觉开发效率没有象.net, java那么高. Interface特性 非常类似于面向对象... |
|
返回顶楼 | |
发表时间:2010-01-22
dennis_zane 写道 从语言特性上,没觉的有什么让人特别兴奋的地方,况且还非常不成熟,离应用仍然较远。 语言特性我觉得完全够了, 非常不成熟? 我觉得做系统软件有这些特性简直就是恩赐了. 当然和java之类的没法比, 毕竟定位不同... |
|
返回顶楼 | |