Golang Go语言作为第二语言的学习计划
最近想学 go 作为第二语言, java 实在是写够了。大家有什么建议吗。 go 做第二语言好吗。开源环境怎么样。。
Golang Go语言作为第二语言的学习计划
JavaEye 的创始人 Robbin 比较反对,主要是他认为社区国人比例过高
更多关于Golang Go语言作为第二语言的学习计划的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
go 和 rust 我选后者
反正写应用都不是 java 的对手
golang 的开源环境还是挺好的呀(一个 go get 小能手视角
同样选 rust ,对 go 不是特别看好,但是 rust 曲线太陡峭了,而且包不够丰富,至今也没学明白!
我还是把精力比较多花在 Java/C 上面, JS 也不错。
挺好的,我就是 java+Go 。我很看好 Go 。
java 主要工作使用,写一些其他的工具都用 Go ,以前都是拿 python 写。
go 作为主要开发语言好几年了。
表示不需要其它语言了。
个人觉得 python 是个不错的选择之一
呵呵,呵呵呵
Go 真心不错,写了几天,再用回 java 各种不适应
学校开了 Rust 课,学了一点。感觉这语言不是很省心。做系统编程可能还行,搞开发还是算了。
我也有这个打算,学完 JS 高级就打算学了,不过没有可供离线的手册一类的东西好像。
了解一下 go doc
什么第二第三,工作用啥,你就得学啥!
你们学校很高端啊!
说几点自己的体会: ):
1/纯语法的学习是很快的,类库的学习重点在于多写多练多熟悉
2/需求驱动,用它去实现需求
3/Go 相对 c 有 gc ,但是存在的问题是延迟很高,十万个对象 1ms 的扫描时间,对需要 keep 很多对象的情形不友好。当然解决办法也很多
4/调优 pprof 全面且可读
5/社区中国人最活跃
6/云计算的开源框架,几乎都是 go 写的, docker , etcd,runc,TiDB…
7/go 是同步,处理高并发很适合
java?
那就 scala/kotlin/clojure 搞起来…
果然活捉上科大师弟一枚
Go 第一语言, Swfit 第二语言, C 负责给 2 者提鞋。
C 什么的转 go 不错, Java 什么的就不建议转 go 了。挑个 js 、 python 、 R 什么的学学挺好的。
第二语言我推荐 Python
java 是静态语言, 再学门动态语言么, python or javascript
工作中只有使用 golang,想学第二门语言,学什么比较好?
已经用 golang 替代以前 python 所做的工作了
python
我们把 go 作为主力语言使用,生产力很不错,尤其写高并发的服务很方便
我目前在学 html+css+js+php+shell+nginx+linux+mysql,
准备学 swift , go 。
学了再说
用过一段时间 go ,语法总是爱不起来。
卧铺,看到你的 id 我以为是我的原 boss 。吓一跳
感情 bit.ly, docker, nsq 全是中国人?真不知道你这是莫名其妙的自豪感还是莫名其妙的自卑感
举个例没什么意义,我说几句事实而已,你就跳脚了,到底谁自卑?
大学毕业以来的学习路线: Perl - Java - Python - Golang
Golang 适合高并发和大流量的中间件,有静态语言的优势,写起来又非常的方便。
但是如果只是简单开发一个 Web 应用,用用成熟的框架就好了,并不一定要使用 Go 。
实际上,目前最活跃,最重量级的 Go 项目,还真不是中国人主导的。
不明白"社区国人比例过高"这个有什么问题…这不是自我种族歧视吗? 要是说很多素质低的国人在用 go 还好些.
完全可以学习,挺好用的
等你真的写 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 组合?)
第二语言我推荐 Javascript ,统治 Web 领域的语言
Python 吧
不是歧视中国用户。我也是 go 的大量使用者,国人过多带来的问题:
一些国人的开源库无论是代码风格还是文档来看,不够国际化, issues 里也到处是中文。这相当于排除一些国外参与者。
这个社区还有一些奇怪的问题,比如一些之前火起来的库,例如 revel 、 gin ,突然就不维护了。
还有 TJ 也说过,做 Web ,对他而言,还是用 js 。
在学个脚本类型的语言吧。。
我觉得 java 熟练了再学习一下 python ,反正这两个我都是特别喜欢
其实简单总结下,就是 go 的生态环境还不行。
现实一点,一门语言的语法好不好、设计理念先不先进、能写什么东西,这些都是其次。像我们这种要用语言来吃饭的人,关键还是看语言用的人多不多,未来能不能流行下去。
照过往的历史来看,没有老外参与进来,只有国人维护的,能持续下去的案例真的很少,让人没有坚持学下去的信心。
楼主, 我是写 java 后端的, 我司要求全面转向 golang web
golang 是很简洁, 但是生态不是很完善,
没有比较好的包管理
debug 基本靠日志, 没有顺手的 IDE 支持,
用 golang 写 web 真的是痛苦的, 第三方库和 java 是没得比的,
比较推荐 python
语言只是工具
为啥不选 Clojure 呢,保证这是你最后一门学的语言:)
学学 js 你还能做前端
更推荐 clojure
我看您用 Go 挺多的,可以说说理由吗
。。。。
TA 好
有空为什么不学学 lisp ,用 sicp 洗洗脑多好(・ิω・ิ)
rust 的类型系统是一道坎
Go 的库实在太乱了,设计上没个统一的指导规范。
给 swift 提鞋?为什么这么说
首先 Go 和 java 从应用角度来说高度重合,所以不适合第二语言,不能扩展 LZ 的编程思想
其二,类库和 IDE 成熟度和 Java 差的不是几年能赶上的,而且楼上也说过了,社区国人比例过高并不是一件好事
最后我选 Rust
大赞。
go 作为 Google 的亲儿子,你跟我说只有中国人在用,你太搞笑了吧?
语法愣是给看吐了:(
真的是最后一门语言欸,看完直接不想再写代码了
我选了 Haskell , 诶嘿~
自己学习的话, 我更建议选一本解释型的语言, 比如 Python PHP Ruby JS… Go 虽然很多地方很好, 但是和 Java 应该是同类型语言. 函数式语言的话我们自己写程序应用较少. 有一个拿来就能写, 写完就能用, 语法不啰嗦, 学习挺简单的"脚本"语言挺好
go 和 rust 面向的领域不一样
go 的诞生就是为了高效的开发服务端应用, rust 是面向系统级开发,替代 c/c++的
go 已经在服务端大量使用了,不少公司也在使用
rust 可以说, 5 年内不会有大量使用的情况
谁用 go 写 web 这个有点诙谐了╮(╯▽╰)╭
痛苦万分, 老板说, 万一并发上来了呢, 严肃脸
告诉你们老板,淘宝、京东这些站用到都是 java ,并发有他们大?
楼上的都那么厉害,随便举个语言满足以下五个优点( Golang 符合):
1. 编译速度快,真的快; 2. 无虚拟机 3. 垃圾回收; 4. 天然并发; 5.内置跨平台编译
尝鲜的话没问题,如果做第二语言的话不太推荐。 Java 程序员的话,建议可以学一门动态语言,推荐 python ,主要是感受社区文化和与不同的工程实践。
另外就是对 Java 深入挖掘,学的多不如学的深。
赞回复
我觉得 go 适合做 rest api , 你前后端完全分离的话 go 很合适,否则还是用 php 或者 java 吧! 个人认为 go 可以用来做 imsvr 之类的应用,偏向网络层。传统的 c/c++ 开发起来效率太低,而且程序容易 crash , java gc 延迟比较大,而 go 取其两者的优点。
好中肯的回复
> go 只有中国人在用
< 感情 bit.ly, docker, nsq 全是中国人?
> 举个例没什么意义
语文学的不好,问下『只有』这个词是什么意思?
连谷歌自己都不用的语言你们指望啥?
你应该没有用过 vscose
vscode
gophercon2016 你可以看到很多公司都有在使用,你这话信口开河吧!
是比较适合做 service 层, 直接 rest 比较好, go 的交叉编译很赞, 说到 GC, 额…没测试过, 不过 java 的 GC 是比较成熟的, 毕竟发展时间久
vscode 的调试工具与 IDEA 的调试工具是一个,差距不大,不过 IDEA 我用的不多,具体差别不清楚了…
不能用有多种原因,尤其是 go 版本更新时,建议所有插件依赖一定更新一下,否则容易出各种诡异问题。
GC 成熟度现在只能说不错,但是超越 Java 还不能说。 一些数据可以参考 https://blog.twitch.tv/gos-march-to-low-latency-gc-a6fa96f06eb7 我们线上数据大致差不多
学学又没什么坏处咯。不过有点坑,比如那个没有版本号的包管理……
我觉得 Go 和 Rust 定位还是不太一样, Rust 更加底层一点,有点 C 的继任者的感觉。 Go 则比较偏应用,定位类似 Java 。
说道 Go 的版本号管理,现在第三方工具 Glide https://glide.sh 最新的更新已经支持 Semantic Versioning 功能,不过更多的功能是需要社区来做: 版本发布更多使用 tag 来进行。目前我常用的库里面只有 gopkg.in/redis.v4 和 github.com/labstack/echo 实现了 tag 管理,很多项目还是大版本的 branch 来做的。这个需要更多的社区支持。
我觉得更像 C++继任者 :)
不太喜欢 google 的开源技术,基本上都是试验性产品。
京东底层用 go 挺多的其实
同样的网站服务,中国用户人数是外国的几倍,这种高并发语言中国人用得多有什么问题了?
对,所以我很期待 go 在应用上的爆发,现在看起来还是差了不止一点半点。
另外中国人太多确实是个问题,不自觉用汉语沟通的人太多,很讨厌。
没想到你也叛变革命啦
一到这种帖子就超多人回复
go 除了在工具性应用中比 java 方便外,从性能到工具链到库全面劣于 java ,如果不喜欢 java 语法,可以 kotlin 搞起。
kotlin1.1 引入了 coroutine ,在表达能力上晋身一流行列。 go 仅仅是三流。
为了开拓眼界,可以搞搞 rust ,基本上算是 C++ 的最佳实践版。
还可以搞搞 swift ,这个语言进可服务端编程,退可移动开发,等以后语法上支持异步了, go 就死了。
学 PHP 的如果想学一门其他语言扩展一下知识面 选什么好呢?
最后还是得深入学习 C 语言
just go it
云计算领域很多重量级的 project 都是 golang 写的。
看起来是自知无逻辑,拿着粉饰版的“认真你就输了”来搪塞
学习Golang(Go语言)作为第二语言是一个明智的选择,Go语言以其简洁、高效和强大的并发处理能力而著称,非常适合有一定编程基础的开发者。以下是一个针对Go语言的学习计划,帮助你系统、高效地掌握这门语言:
-
基础入门:首先,通过官方文档或经典教程(如《The Go Programming Language》)学习Go语言的基础语法,包括变量、数据类型、控制结构、函数等。同时,动手编写简单的程序,如“Hello, World!”、计算器等,以加深理解。
-
并发编程:Go语言以并发处理能力强而著称,因此深入学习goroutines、channels和select语句等并发原语至关重要。通过编写并发程序,如Web爬虫、并发下载等,提升实战能力。
-
标准库与第三方库:熟悉Go语言的标准库,如net/http、os、fmt等,并了解如何引入和使用第三方库。这有助于你快速构建功能丰富的应用程序。
-
实战项目:尝试完成一些实战项目,如Web应用、API服务、命令行工具等。这不仅能加深你对Go语言的理解,还能提升你的编程技能和解决问题的能力。
-
持续学习:关注Go语言的最新动态和最佳实践,参与开源项目或社区讨论,与同行交流心得。这将帮助你保持对Go语言的热情和敏锐度,不断提升自己的技术水平。
按照上述计划,持之以恒地学习与实践,相信你能迅速掌握Go语言,并在编程领域取得更大的进步。