不要再拿 Golang 与 Java 作比较

2021-09-12 11:55:56 +08:00
 josephok
以下是我从《 Go 语言高级编程》一书中摘录的部分内容,简述了 Go 语言开发的初衷。

Go 语言最初由谷歌公司的 Robert Griesemer 、Ken Thompson 和 Rob Pike 这 3 位技术大咖于 2007 年开始设计发明,设计新语言的最初动力来自对超级复杂的 C++11 特性的吹捧报告的鄙视,最终的目标是设计网络和多核时代的 C 语言。到 2008 年中期,在语言的大部分特性设计已经完成并开始着手实现编译器和运行时,Russ Cox 作为主力开发者加入。到 2010 年,Go 语言已经逐步趋于稳定,并在 9 月正式发布并开源了代码。
Go 语言很多时候被描述为“类 C 语言”,或者“21 世纪的 C 语言”。从各种角度看,Go 语言确实是从 C 语言继承了相似的表达式语法、控制流结构、基础数据类型、调用参数传值、指针等诸多编程思想,并彻底继承和发扬了 C 语言简单直接的暴力编程哲学等。


从上面的描述可以看出,Go 语言的目标是占领一部分 c 和 c++的市场,和 Java 语言毫无关系,再拿来作比较就有点牵强附会了。
17023 次点击
所在节点    Go 编程语言
102 条回复
TypeError
2021-09-12 12:57:30 +08:00
@Mohanson 什么叫滥用泛型,go 的泛型提案看起来还是蛮简单的吧,不像其他语言还要纠结什么逆变协变
aloxaf
2021-09-12 12:57:39 +08:00
我觉得你误解了上面那段话
「设计网络和多核时代的 C 语言」不代表对标 C 语言,更多的是表达希望在网络时代取得 C 语言在「旧时代」(姑且这么称呼)的地位
真和 C/C++ 语言对标那不自找没趣吗,请问 Go 占领了多少 C/C++ 的市场?
fiypig
2021-09-12 12:58:14 +08:00
哈哈哈,有点 PHP 的意思了,反正我全部语言就喜欢 go,但 Java 是我未完成的梦,我尊敬 Java 。
zjsxwc
2021-09-12 13:02:53 +08:00
不要再拿 Java 与 PHP 作比较了,PHP 毫无疑问是目前主流语言中写业务是最快的。
limbo0
2021-09-12 13:27:49 +08:00
主要还是生态的问题, 语言从来不是问题
iseki
2021-09-12 13:31:49 +08:00
确实,Go 取代的应该是某些场景下的 C,而不是动不动就搞 CURD 的 Web
Mohanson
2021-09-12 13:34:07 +08:00
@TypeError 我指第三方库,泛型滥用 /模板地狱都是这种类型语言的老问题了
WhoMercy
2021-09-12 13:41:14 +08:00
不成熟的一点见解,两者在 web 开发的比较,

Go 的优势是快,运行快、开发快、控制力强

Java 的优势是稳,性能稳、架构稳、工具多、黑盒多、设计多

至于两者的优劣对比嘛。。。
倒不如说是根据开发人员来做选择,
老手开发的新项目、短期项目可以考虑 Go,
新手但又需要长时间迭代开发、复杂功能多可以准备 Java

如果有不同意见默认你对:-)
Cbdy
2021-09-12 13:47:05 +08:00
巧了,Java 的目标也是占领一部分 C++的市场
danc
2021-09-12 13:58:21 +08:00
为啥要比???比也是 Javaer 在比,正经的 Gör,眼里没有 Java 的,目中无人的那种状态,懂吧
h280254082
2021-09-12 14:01:32 +08:00
@aloxaf 实际运用中还是占了不少的。。。比如大厂里面 C/C++的腾讯转了大量的 Go 吧
wangxn
2021-09-12 14:04:22 +08:00
@aloxaf 至少在 Docker 这种云计算场景,和区块链场景,它是确确实实侵蚀了一部分 C/C++ 的应用场景。
比特币的代码是 C++,但新的山寨币几乎没有是用 C++ 实现的,基本都是 Go 和 Rust 。
zhoudaiyu
2021-09-12 14:25:40 +08:00
@josephok 平台系统级中间件指的是?类似 SSO 这种?
ke1e
2021-09-12 14:26:28 +08:00
带 GC 的语言,怎么可能替代 c,Rust 还差不多
cnbattle
2021-09-12 14:26:31 +08:00
lz 能发出这样的内容,说明自己已经比较过了,那为啥也不用别人的比较,有点迷 0.0
DoctorCat
2021-09-12 14:30:57 +08:00
我就比,怎么了,我比 GC 机制不行么
6IbA2bj5ip3tK49j
2021-09-12 15:21:34 +08:00
分享分辨 Go 吹的一个方法:声称 Go Web 开发快。
要么压根没写过 Go,要么只写过 Go 。
x940727
2021-09-12 15:26:51 +08:00
其实大部分用 Go 写 Web 的,都是 Java 卷不动去卷 Go 了,认为自己用 Go 就能和大神一样的起跑线(因为 Java 大神太多了,起步就晚了)。
Zien
2021-09-12 15:54:23 +08:00
因为应用,才会比较。
谁管你初衷是什么。。。
Froyo9
2021-09-12 15:56:40 +08:00
go web 开发感觉还是挺好的呀

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/801337

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX