最近想学 go 作为第二语言, java 实在是写够了。大家有什么建议吗。 go 做第二语言好吗。开源环境怎么样。。
|
WildCatJul 18, 2016 via iPhone
1
JavaEye 的创始人 Robbin 比较反对,主要是他认为社区国人比例过高
|
|
holyghostJul 18, 2016
2
go 和 rust 我选后者
反正写应用都不是 java 的对手 |
|
scnaceJul 18, 2016 via Android
3
golang 的开源环境还是挺好的呀(一个 go get 小能手视角
|
|
4
@holyghost 同样选 rust ,对 go 不是特别看好,但是 rust 曲线太陡峭了,而且包不够丰富,至今也没学明白!
|
|
echo1937Jul 18, 2016 via iPhone
5
我还是把精力比较多花在 Java/C 上面, JS 也不错。
|
|
hooluupogJul 18, 2016
6
挺好的,我就是 java+Go 。我很看好 Go 。
java 主要工作使用,写一些其他的工具都用 Go ,以前都是拿 python 写。 |
|
JetJul 18, 2016
7
go 作为主要开发语言好几年了。
表示不需要其它语言了。 |
|
caolaJul 18, 2016
8
个人觉得 python 是个不错的选择之一
|
|
gowkJul 18, 2016 via Android
9
@SlipStupig 呵呵,呵呵呵
|
|
riverphoenixJul 18, 2016 via Android
10
Go 真心不错,写了几天,再用回 java 各种不适应
|
|
roychanJul 18, 2016
11
学校开了 Rust 课,学了一点。感觉这语言不是很省心。做系统编程可能还行,搞开发还是算了。
|
|
R18Jul 18, 2016 via Android
12
我也有这个打算,学完 JS 高级就打算学了,不过没有可供离线的手册一类的东西好像。
|
|
13
@R18 了解一下 go doc
|
|
darasionJul 18, 2016
14
什么第二第三,工作用啥,你就得学啥!
|
|
16
说几点自己的体会: ):
1/纯语法的学习是很快的,类库的学习重点在于多写多练多熟悉 2/需求驱动,用它去实现需求 3/Go 相对 c 有 gc ,但是存在的问题是延迟很高,十万个对象 1ms 的扫描时间,对需要 keep 很多对象的情形不友好。当然解决办法也很多 4/调优 pprof 全面且可读 5/社区中国人最活跃 6/云计算的开源框架,几乎都是 go 写的, docker , etcd,runc,TiDB... 7/go 是同步,处理高并发很适合 |
|
zhuangzhuang1988Jul 18, 2016
17
java?
那就 scala/kotlin/clojure 搞起来.. |
|
chai2010Jul 18, 2016
19
Go 第一语言, Swfit 第二语言, C 负责给 2 者提鞋。
|
|
weiweiwitchJul 18, 2016
20
C 什么的转 go 不错, Java 什么的就不建议转 go 了。挑个 js 、 python 、 R 什么的学学挺好的。
|
|
janxinJul 18, 2016
21
第二语言我推荐 Python
|
|
ryanking8215Jul 18, 2016
22
java 是静态语言, 再学门动态语言么, python or javascript
|
|
elgoog1970Jul 18, 2016
23
工作中只有使用 golang,想学第二门语言,学什么比较好?
|
|
ClarencepJul 18, 2016
24
先学了再说,有这个功夫来讨论,都该把入门教程看完了
|
|
leitwolfJul 18, 2016
25
已经用 golang 替代以前 python 所做的工作了
|
|
26
go 只有中国人在用,也不知道中国人哪来的这股子热情,设计的稀烂的一门语言。
|
|
assassinpigJul 18, 2016
27
python
|
|
whaha123Jul 18, 2016
28
我们把 go 作为主力语言使用,生产力很不错,尤其写高并发的服务很方便
|
|
kidenyJul 18, 2016
29
我目前在学 html+css+js+php+shell+nginx+linux+mysql,
准备学 swift , go 。 |
|
ghostsfJul 18, 2016
30
学了再说
|
|
tongyuelongJul 18, 2016 via Android
31
用过一段时间 go ,语法总是爱不起来。
|
|
tongyuelongJul 18, 2016 via Android
32
@roychan 卧铺,看到你的 id 我以为是我的原 boss 。吓一跳
|
|
cloudzhouJul 18, 2016
35
大学毕业以来的学习路线: Perl - Java - Python - Golang
Golang 适合高并发和大流量的中间件,有静态语言的优势,写起来又非常的方便。 但是如果只是简单开发一个 Web 应用,用用成熟的框架就好了,并不一定要使用 Go 。 |
|
37
不明白"社区国人比例过高"这个有什么问题...这不是自我种族歧视吗? 要是说很多素质低的国人在用 go 还好些.
|
|
TomShineJul 18, 2016
38
完全可以学习,挺好用的
|
|
rainciousJul 18, 2016
39
@SlipStupig
等你真的写 Rust 的时候可能会有不同的看法。 Rust 还是比较独特的语言,比如有 Borrow 。 Borrow 这东西看起来很美,得到的效果也很好,但是有的时候就不是那么好用。 之前在用 Rust 写 Suffix Tree ,直接抄了别人的 Java 实现,这是他的: http://www.pastie.org/10904255 这是我转换过来的算法: https://gist.github.com/raincious/cb0b6b48efc3c63d6532c329fe362112#file-suffix_tree-rs-L70 算法本身几乎是一样的,但是我用了大量的代码来绕过 Borrow ,这同时导致代码运行起来比较慢。 所以这算法我自己用的时候还是改写成了 Unsafe 的,拿 Raw Pointer 直接上。 当然,我写的 Rust 代码加起来还不到 5000 行,有可能是我不懂所以才搞成这样。(貌似可以直接用 Box 而不用 Rc RefCell 组合?) |
|
eurryJul 18, 2016
40
第二语言我推荐 Javascript ,统治 Web 领域的语言
|
|
MyFaithJul 18, 2016
41
Python 吧
|
|
WildCatJul 18, 2016 via iPhone
42
@clino 不是歧视中国用户。我也是 go 的大量使用者,国人过多带来的问题:
一些国人的开源库无论是代码风格还是文档来看,不够国际化, issues 里也到处是中文。这相当于排除一些国外参与者。 这个社区还有一些奇怪的问题,比如一些之前火起来的库,例如 revel 、 gin ,突然就不维护了。 还有 TJ 也说过,做 Web ,对他而言,还是用 js 。 |
|
orviceJul 18, 2016
43
在学个脚本类型的语言吧。。
|
|
jy01264313Jul 18, 2016
44
我觉得 java 熟练了再学习一下 python ,反正这两个我都是特别喜欢
|
|
45
|
|
LaughterJul 18, 2016
46
楼主, 我是写 java 后端的, 我司要求全面转向 golang web
golang 是很简洁, 但是生态不是很完善, 没有比较好的包管理 debug 基本靠日志, 没有顺手的 IDE 支持, 用 golang 写 web 真的是痛苦的, 第三方库和 java 是没得比的, 比较推荐 python |
|
IxiziJul 18, 2016
47
语言只是工具
|
|
moose123Jul 18, 2016
48
为啥不选 Clojure 呢,保证这是你最后一门学的语言:)
|
|
v1024Jul 18, 2016 via iPhone
49
学学 js 你还能做前端
|
|
fuxiaoheiJul 18, 2016
50
更推荐 clojure
|
|
songjiaxin2008Jul 18, 2016 via iPhone
51
@fuxiaohei 我看您用 Go 挺多的,可以说说理由吗
|
|
isabelle810Jul 18, 2016
52
。。。。
|
|
Em5O7B1JGfjQnBryJul 18, 2016 via Android
54
有空为什么不学学 lisp ,用 sicp 洗洗脑多好(・ิω・ิ)
|
|
R4rvZ6agNVWr56V0Jul 18, 2016
56
Java first, then use Python
|
|
R4rvZ6agNVWr56V0Jul 18, 2016
57
Go 的库实在太乱了,设计上没个统一的指导规范。
|
|
auinJul 18, 2016
59
首先 Go 和 java 从应用角度来说高度重合,所以不适合第二语言,不能扩展 LZ 的编程思想
其二,类库和 IDE 成熟度和 Java 差的不是几年能赶上的,而且楼上也说过了,社区国人比例过高并不是一件好事 最后我选 Rust |
|
scarlexJul 18, 2016
63
我选了 Haskell , 诶嘿~
|
|
panlatentJul 18, 2016
64
自己学习的话, 我更建议选一本解释型的语言, 比如 Python PHP Ruby JS..... Go 虽然很多地方很好, 但是和 Java 应该是同类型语言. 函数式语言的话我们自己写程序应用较少. 有一个拿来就能写, 写完就能用, 语法不啰嗦, 学习挺简单的"脚本"语言挺好
|
|
wuxqingJul 18, 2016
65
go 和 rust 面向的领域不一样
go 的诞生就是为了高效的开发服务端应用, rust 是面向系统级开发,替代 c/c++的 go 已经在服务端大量使用了,不少公司也在使用 rust 可以说, 5 年内不会有大量使用的情况 |
|
douglarekJul 18, 2016
69
楼上的都那么厉害,随便举个语言满足以下五个优点( Golang 符合):
1. 编译速度快,真的快; 2. 无虚拟机 3. 垃圾回收; 4. 天然并发; 5.内置跨平台编译 |
|
70
尝鲜的话没问题,如果做第二语言的话不太推荐。 Java 程序员的话,建议可以学一门动态语言,推荐 python ,主要是感受社区文化和与不同的工程实践。
另外就是对 Java 深入挖掘,学的多不如学的深。 |
|
Tom008Jul 18, 2016
72
@Laughter 我觉得 go 适合做 rest api , 你前后端完全分离的话 go 很合适,否则还是用 php 或者 java 吧! 个人认为 go 可以用来做 imsvr 之类的应用,偏向网络层。传统的 c/c++ 开发起来效率太低,而且程序容易 crash , java gc 延迟比较大,而 go 取其两者的优点。
|
|
9hillsJul 18, 2016
74
|
|
sunsan05Jul 18, 2016
75
连谷歌自己都不用的语言你们指望啥?
|
|
motecshineJul 18, 2016 via Android
76
@Laughter 你应该没有用过 vscose
|
|
motecshineJul 18, 2016 via Android
77
vscode
|
|
LaughterJul 18, 2016
79
@motecshine 试用了很多工具, vim-go atom+go 这两个插件更新跪掉的概率很高, 目前使用 idea+go ,
IDE 重度者, 之前使用 idea debug java 太爱了, 不知 vscode 的 debug 的效果如何? |
|
LaughterJul 18, 2016
80
@Tom008 是比较适合做 service 层, 直接 rest 比较好, go 的交叉编译很赞, 说到 GC, 额...没测试过, 不过 java 的 GC 是比较成熟的, 毕竟发展时间久
|
|
janxinJul 18, 2016
81
@Laughter vscode 的调试工具与 IDEA 的调试工具是一个,差距不大,不过 IDEA 我用的不多,具体差别不清楚了...
不能用有多种原因,尤其是 go 版本更新时,建议所有插件依赖一定更新一下,否则容易出各种诡异问题。 GC 成熟度现在只能说不错,但是超越 Java 还不能说。 一些数据可以参考 https://blog.twitch.tv/gos-march-to-low-latency-gc-a6fa96f06eb7 我们线上数据大致差不多 |
|
lighteningJul 18, 2016
82
学学又没什么坏处咯。不过有点坑,比如那个没有版本号的包管理……
|
|
83
|
|
janxinJul 18, 2016
84
说道 Go 的版本号管理,现在第三方工具 Glide https://glide.sh 最新的更新已经支持 Semantic Versioning 功能,不过更多的功能是需要社区来做: 版本发布更多使用 tag 来进行。目前我常用的库里面只有 gopkg.in/redis.v4 和 github.com/labstack/echo 实现了 tag 管理,很多项目还是大版本的 branch 来做的。这个需要更多的社区支持。
|
|
janxinJul 18, 2016
85
@lightening 我觉得更像 C++继任者 :)
|
|
BalthildJul 18, 2016 via Android
86
@21grams 高中数学必修三第二单元逻辑学基础告诉我们,对于全称命题,只需要举出一个反例就可以驳倒。
举例子对你说的「只有中国人在用」是最好的反驳。他还举了三个个例,实际上举一个就够了。 |
|
eightqueenJul 19, 2016
88
不太喜欢 google 的开源技术,基本上都是试验性产品。
|
|
yangxiongguoJul 19, 2016 via iPad
90
同样的网站服务,中国用户人数是外国的几倍,这种高并发语言中国人用得多有什么问题了?
|
|
holyghostJul 19, 2016 via iPhone
91
|
|
exoticknightJul 19, 2016
93
一到这种帖子就超多人回复
|
|
smalltalkJul 19, 2016
94
go 除了在工具性应用中比 java 方便外,从性能到工具链到库全面劣于 java ,如果不喜欢 java 语法,可以 kotlin 搞起。
kotlin1.1 引入了 coroutine ,在表达能力上晋身一流行列。 go 仅仅是三流。 为了开拓眼界,可以搞搞 rust ,基本上算是 C++ 的最佳实践版。 还可以搞搞 swift ,这个语言进可服务端编程,退可移动开发,等以后语法上支持异步了, go 就死了。 |
|
jeremaihlooJul 19, 2016
95
看到一个一个大神在评价一门语言种种,给跪
|
|
flowerainsJul 19, 2016
96
学 PHP 的如果想学一门其他语言扩展一下知识面 选什么好呢?
|
|
aabbccliJul 19, 2016
97
最后还是得深入学习 C 语言
|
|
shelltankJul 19, 2016
98
just go it
|
|
shelltankJul 19, 2016
99
云计算领域很多重量级的 project 都是 golang 写的。
|