论坛首页 综合技术论坛

Go-lang特性介绍

浏览 24283 次
该帖已经被评为良好帖
作者 正文
   发表时间:2010-01-22  
从语言特性上,没觉的有什么让人特别兴奋的地方,况且还非常不成熟,离应用仍然较远。
0 请登录后投票
   发表时间: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慢就有点儿匪夷所思了。
0 请登录后投票
   发表时间:2010-01-22  
techabc 写道
请feng兄指示:
erlang和go各适用于什么类型的系统呢?


同问, 看起来go有些特性和erlang有点类似噶.
不过erlang不支持面向对象, 某些繁杂的应用感觉开发效率没有象.net, java那么高.

0 请登录后投票
   发表时间:2010-01-22  
techabc 写道
请feng兄指示:
erlang和go各适用于什么类型的系统呢?

Go的定位 是系统编程,比如Web服务器、存储系统和数据库等,但也欢迎在其它方面的应用。  代替C语言做系统软件!
0 请登录后投票
   发表时间:2010-01-22  
xuby 写道
任何不能和C兼容的系统级编程语言,都没有前途可言。
三十多年的C资产积累,不可能被轻易抛下。

相反 GO和c的接口不要太容易 它有个Cgo, 发行版有例子的.
0 请登录后投票
   发表时间:2010-01-22  
logicgate 写道
非主流,能提供的工作机会太少,吃饱饭的程序员当兴趣研究研究可以,不可以等着用来混饭吃。


不是每个人都要做和能做系统软件的...
3 请登录后投票
   发表时间: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慢就有点儿匪夷所思了。


是你说的这样的 所以速度非常快.
0 请登录后投票
   发表时间:2010-01-22  
xuby 写道
任何不能和C兼容的系统级编程语言,都没有前途可言。
三十多年的C资产积累,不可能被轻易抛下。

确实,我觉得go这类语言(包括scala)的最大问题是:为了使用新建的actor调度模型,所有直接同系统交互的外部库都需要重写,以避免系统调用时同时阻塞大量actor的执行过程。
0 请登录后投票
   发表时间: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特性 非常类似于面向对象...
0 请登录后投票
   发表时间:2010-01-22  
dennis_zane 写道
从语言特性上,没觉的有什么让人特别兴奋的地方,况且还非常不成熟,离应用仍然较远。


语言特性我觉得完全够了, 非常不成熟? 我觉得做系统软件有这些特性简直就是恩赐了. 当然和java之类的没法比, 毕竟定位不同...
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics