1. 聚能聊>
  2. 话题详情

go语言何时才能一统江湖?

1
09年google发布了go语言,为了在多核处理器年代,提高程序并发处理的性能。
列举几点go语言强大之处:

  1. 布署简单:基本写完代码只要在本机编译成binary,直接扔到目标机上就可以运行起来,对环境的依赖极小,可以在本地上编译出windows系统可直接运行的.exe可执行文件和linux系统可运行的binary文件。
  2. 并发性能强大:go有goroutine,类似于java中的线程,但是goroutine一开始占用的栈大小是2kb,随着程序的运行,可以动态增大,所以对于go语言来说,开个成百上千的goroutine是很普遍的,占用内存还小,另外go语言自己实现了调度器,goroutine的切换不寄托于操作系统,而是自己来管理,切换goroutine时开销小很多,速度也快很多。
  3. 编写友好:go自带工具gofmt自动排版go代码,集成到编译器,每次保存都会自动排版,非常方便,并且go语言在编译时,如果有包或变量定义了但是没有使用,会报错,可以从另一方面帮助开发者写出高效整洁的代码
    _

go语言有很多优美之处,为什么8年时间了,go语言的排名才挤进前10呢?

是学习开销大?

是社区不够完善?

是主流语言根深蒂固,地位难以撼动?

.......

参与话题

奖品区域 活动规则 已 结束

64个回答

2

天—空 复制链接去分享

  • go语言有很多优美之处,为什么8年时间了,go语言的排名才挤进前10呢?

因为Go尚未成熟,但谷歌旗下App Engine和其他部分产品已经开始使用go语言来编写。

  • 是学习开销大?

不是,而是GO语言没有成熟,所以导致8年才晋级到10名之内~

  • 是社区不够完善?

因为GO语言刚刚出现8年,所以社区的帮助文档不完善~

  • 是主流语言根深蒂固,地位难以撼动?

并不是主流语言根深蒂固,而是因为GO语言的帮助文档未完善,所以导致许多BUG无法修复~

天—空 回复

聊主给个笔记本吧~> .<

评论
1

1903702763743415 复制链接去分享

既然他每年都在前十,说明人数一直在增加,想要大幅增长需要时机或者和时尚流行接轨!

1

北方的郎 复制链接去分享

go语言有很多优美之处,为什么8年时间了,go语言的排名才挤进前10呢?
8年并不似很长啊,虽然Google的一些应用用Go来写了,但是正因为Google烙印很深,所以感觉别的大厂都不是很积极。
是学习开销大?
看过一点资料,感觉上手并不难。
是社区不够完善?
才8年,社区肯定不如Java等老牌编程语言。
是主流语言根深蒂固,地位难以撼动?
感觉除了现在主流语言的原因,还有一个原因就是机会,一个语言想大不是那么容易的,除非赶上特别好的机会,就像java。现在成型企业的技术路线不到万不得已都是很难变的,新语言空间不大

1

1213786695393378 复制链接去分享

一种语言的发展语言时间的积累,无论Java还是python等其他语言都是经历了几十年的发展和完善。除了语言本身外,还需要丰富的扩展,活跃的社区等。遇到问题能很好解决。go短短时间发展这么快,是有潜力的,很值得人期待的。想要go排名更好,需要大家不断的丰富完善go.让go像python等语言一样丰富可扩展,高质量的的库👦

1

笨笨的粽子妞 复制链接去分享

感觉不应该太关注排名的名次问题,Python常年排在前五,也是最近排到了第一。有进步就是成长,不进步就是退步。

主要在选择编程语言的时候,更多人都是会选择主流的C、C++、Java系列,职业风险低、技术需求量大,以至于进入职场后,很多业务场景也是围绕这些主流语言。而在使用Go时,专门以Go为主打语言的程序员不多,即使一些使用Go的也是业务需要。所以Go想要和主流语言抗衡的话还是很长一条路。

Go的学习开销并不大,但是社区并不是很完善,这一点需要更多的Go语言爱好者多多参与进来。其实感觉Go可以和Python多学学上位之路。Python常年前五,但是由于最近深度学习的火热,一跃排名第一,那么Go是否也可以多考虑一下,与一些技术需求、业务场景有机结合呢?

1

湖南人家园 复制链接去分享

很显然!绝大部分培训机构并未引进此语言

1

似水的流年 复制链接去分享

go语言不错,现在好多程序使用了go语言,据说性能好,跨平台运行,部署方便,使用简单
不过这么多年都是java.c等占上风,仍旧是主流,这个应该短期之内不会改变,还有go语言的文档不多,遇到问题比较麻烦

0

迟本硕 复制链接去分享

Python和Java差不多是同时代诞生的,也是j你几年发展起来的,语言发展需要机遇,还有各种库的积累,前期会很慢,可能需要十年二十年,也可能会慢慢死去

中厚土 回复

图片和文字,永不消亡也

评论
0

麦老师 复制链接去分享

很看好go语言,没准未来的某一天就成为了老大

中厚土 回复

atu

评论
0

chenzhangguo 复制链接去分享

我最近刚上手用go,第三方库少,如1、连接oracle还没有不依赖oci能直接连接的库; 2、找好用的Matrix也找了好久,还没找到满意的

0

朱志辉 复制链接去分享

go语言很不错,但是其使用语法规则等等和Java等有差异,这些小的差异会使用这些人选择抵抗转换,这样会使用Go被接受的时间延长。

0

手辨 复制链接去分享

(⋈◍>◡<◍)。✧♡

0

小水枪biubiu 复制链接去分享

经过重量级成功案例的洗礼才能激活企业商用的动力,企业的目标是赚钱而不是更跟进程序语言的更新

0

以恒 复制链接去分享

编程语音的成功在于他的生态系统,我认为GO一统江湖之日一定是生态系统蓬勃发展之时

0

忘记路 复制链接去分享

我感觉挺好的 简单 上手快 适合我

0

大唐宝宝 复制链接去分享

我一直是搞python的 有好处也有坏处。坏处就行性能不高 不够底层。学习go语言 可以两者兼顾

0

爵霸 复制链接去分享

我来说说不足:不允许左花括号另起一行,编译器莫名其妙地给行尾加上分号,极度强调编译速度,不惜放弃本应提供的功能, 错误处理机制太原始,垃圾回收器(GC)不完善、有重大缺陷,禁止未使用变量和多余import,创建对象的方式太多令人纠结,对象没有构造函数和析构函数,defer语句的语义设定不甚合理,许多语言内置设施不支持用户定义的类型,没有泛型支持,常见数据类型接口丑陋,实现接口不需要明确声明,省掉小括号却省不掉花括号, 编译生成的可执行文件尺寸非常大,不支持动态加载类库
其他:
不支持方法和函数重载(overload)
导入pkg的import语句后边部分竟然是文本(import ”fmt”)
没有enum类型,全局性常量难以分类,iota把简单的事情复杂化
定义对象方法时,receiver类型应该选用指针还是非指针让人纠结
定义结构体和接口的语法稍繁,interface XXX{} struct YYY{} 不是更简洁吗?前面加上type关键字显得罗嗦。
测试类库testing里面没有AssertEqual函数,标准库的单元测试代码中充斥着if a != b { t.Fatal(...) }。
语言太简单,以至于不得不放弃很多有用的特性,“保持语言简单”往往成为拒绝改进的理由。
标准库的实现总体来说不甚理想,其代码质量大概处于“基本可用”的程度,真正到企业级应用领域,往往就会暴露出诸多不足之处。
版本都发展到1.2了,goroutine调度器依旧默认仅使用一个系统线程。GOMAXPROCS的长期存在似乎暗示着官方从来没有足够的信心,让调度器正确安全地运行在多核环境中。这跟Go语言自身以并发为核心的定位有致命的矛盾。(直到2015年下半年1.5发布后才有改观)
官方发行版中包含了一个叫oracle的辅助程序,与Oracle数据库毫无关系,却完全无视两者之间的名称混淆。
上面列出的是我目前还能想到的对Go语言的不爽之处,毕竟时间过去两年多,还有一些早就遗忘了。其中一部分固然是小不爽,可能忍一忍就过去了,但是很多不爽积累起来,总会时不时地让人难受,时间久了有自虐的感觉。程序员的工作生活本来就够枯燥的,何必呢。

PS:傻笑/!!!

0

浮夸点点 复制链接去分享

go语言有很多优美之处,为什么8年时间了,go语言的排名才挤进前10呢?是学习开销大?是社区不够完善?是主流语言根深蒂固,地位难以撼动?
一个语言 的快速发展必然和它本身特性是离不开的,同样也是不可能一蹴而就的。从最早接触C到后来java,从perl,php到python,
都是在不断的人性化,而且社区越来越开放。所以一个语言排名不仅仅是学习难度,还有他社区活跃从而对用户产生粘性也对用户产生很大影响。

0

装灯网 复制链接去分享

小而美是大趋势啊,赶紧学起

0

若水河畔 复制链接去分享

怎么办我C语言还没学会呢,看了这些我更要努力学C语言了然后发展C++!

4