西西河

主题:【原创】介绍一下Go语言(1)之前的话 -- zllwy

共:💬92 🌺231
分页树展主题 · 全看首页 上页
/ 7
下页 末页
    • 家园 【原创】介绍一下Go语言(2)为什么选择Go

      先说我一下我心目中理想编程语言的标准:

      1 不限制我在一个框架里面的。

      2 语言足够简单,不需要我花大量精力去学的。

      3 提供足够的orthogonal的features来方便我编程的。

      其实python符合我的标准,可惜还差那么一点。另外,对于大型项目,动态语言本身这一点我就不选它了。还有我其实很讨厌python的缩进格式,真想把这个搞进python的人狠狠打一顿。本来很喜欢的一个语言,就这点特别让人恼火。不知道还有没有人跟我有相同感觉的。

      好了,Go完全符合我的标准:

      1 静态语言

      2 语法非常简单。language spec一天可以看完,当然要熟练编程还是需要点时间的,如果你对python熟,基本不是问题。Go的compiler似乎是不用symbol table的。足够简单。而且Go的语法基本接近于C(感觉就是程序员的母语一样,哈哈)。

      3 没有OOP的那套复杂的东西,只有interface,相当于static duck typing,非常灵活。

      4 提供一组orthogonal的language features,精巧好用简洁。

      5 日益完善的library支持。

      6 Actor并发模型,写网络程序非常容易。

      7 很重要的一点:garbage collected。

      后面一个个来说。先说一下Go的背景。Go的原创人员都是鼎鼎大名的人物:Bell lab的Rob Pike,Ken Thompson等。Ken Thompson大家应该都知道了吧:Unix,C...就凭这个我也信任他们。呵呵。

      • 家园 Go的类库全吗?

        和python对比的话,python的numpy,scipy和PIL之类的工具go里面有了吗?

        • 家园 还没有

          我觉得Go更适合用于写web service。Go在科学计算方面应该也有希望,尤其对于并发的支持。但还有很多路要走。标准库目前东西不少,但还远远不够,毕竟才刚开始。指望像python那样丰富的库支持,还早。即使对于已经有的支持,比如web server,也有很多要改进的地方。Go对于倾向于从头建立系统的应用来说,已经够了。对于想“站在巨人肩膀上的”,还要再等等。

      • 家园 我是喜欢Python缩进的

        看了一下大家的回复,好像讨厌的居多,不过俺也不能因为少数派就说违心的话啊。

        缩进的好处,慢慢就有体会了。如果体会不出来,也就算了,呵呵。

      • 家园 呵呵 谢谢分享。不过协程意味着编程复杂度得提升

        因为协程本质上就是自己的代码彼此协作以更适合程序逻辑的方式做任务调度,避免阻塞,而OS和硬件实现的强制线程轮换虽然肯定不会更适应程序逻辑 但效率极高,编程难度也要小很多很多。

        当然只是个人感觉,我尝试过。代码规模一上去,我很怀疑其复杂度会达到难以控制的地步。

        • 家园 是的

          好在goroutine有Go的runtime自己进行scheduling,程序员不用管。

          • 是的
            家园 这是相当重要的feature

            coroutine如果让程序员自己管理,规模一大就很难控制,就像netty的异步编程方式。所以erlang,go在语言层面解决这个问题,减轻了程序员的负担,也使代码复杂度得到了控制。

      • 家园 有意思

        感觉和Groovy 与Java 的关系类似。感觉就是不同级别的应用需要不同特性的语言,于是衍生出很多很有特色的语言。

        • 家园 有不少JVM上的新语言

          Groovy, Scala, Clojure, Jython, Rhino

      • 家园 python那个也有同感

        好多人吹的,特别是google捧的那个有力,本来是想看看能不能用python写网站程序,结果一看到用缩进来代替结束的大括号,感觉特别不习惯。不习惯还好,就是特别不放心。万一不小心把缩进搞错了,那还不乱套。短点的程序还好,长一点怎么办。总不能为了代码段的短小精悍搞出无数的小函数吧。

        对了,建议给标题加上【原创】,然后在数字后面加个短小提示,点名本节讲什么内容。

分页树展主题 · 全看首页 上页
/ 7
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河