Golang Go语言会统治接下来的十年?
占用内存小
当你用 maven 下载了半个互联网,同时启动要占用 800M 虚拟内存,或者当你运行一个 RoR 的应用的时候占用了 200M ,这和 Go 平均 5-20M 的运行时想比真是相差巨大。
恰好搞定工作
在旧金山,有一大群的开发人员每天想着朝九晚五的上下班,回到家后就不再碰触电脑。他们可能是形形色色的,但我想他们都有一个共同的特点,那就是他们“编码只是为了完成任务”。
Go 在这方面很出色(去掌握这门技术吧)。它真真正正的让开发人员做到了恰好搞定工作。
全文真正说 Go 的优势的就上面两点,也就是跟同类脚本语言比比。况且不成熟,为 Go 社区做贡献显然会增加小公司成本。值得一试?
Golang Go语言会统治接下来的十年?
更多关于Golang Go语言会统治接下来的十年?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
对于这篇文章,这种人,把 go 换成其它任何一种语言都可以,因为这是一个模板。
其实 go 某些方面很有优势,但是统治,只能呵呵
广告站点的手机界面很差!
用 maven 下载了半个互联网 噗
什么叫统治呢,我觉得只有 js 敢说可以统治前端.其他的语言都不敢这么说吧,包括 C 和 JAVA 等等
然后就被 google 抛弃了
期待结论性的详细比较。
像,总觉得看过 ruby 的类似软文
比如说?
那是今日头条的……
抬个杠:
Ruby :统治 Rails 网站开发;
Obj-C :统治 iOS 应用开发;
SQL :统治关系型数据库操作;
……
所以说“统治”这种说法就是扯淡。
抬杠成功 我无言以对 o(∩_∩)o 所以说统治这个说法就是扯淡
在合适的项目用合适的语言写合适的代码
标题党隐藏了统治的领域,只能从它的描述里找找用来比较的东西了。
Obj-C :统治 iOS 应用开发,那怎么解释 Swift 。
请问这几年被啥"统治"?
> Go 替代 JVM 和 .NET 成为企业级编程语言是很显而易见的。
> 例如,我在旧金山演讲的时候几乎所有的 Scale 企业都在一点一点的迁移到 Go ,许多欧洲的企业也在做着同样的事情。
据作者描述,答案应该是 JVM 、.NET 和 Scale
转载一下 zhihu 上的回答:
Go 好比 Web 框架里的 Angularjs…
这算是是 Google 的开发哲学
像 Angularjs 只能做单页面应用一样, 应用场景不一样…
怎么跟做一个 CMS 上与 PHP 有可比性???
但做 Web 后台应用你比比 PHP 跟 angularjs 的代码量就知道了.
我不是一个 Go 粉
但我现在是大并发网络后台服务有关的项目就用 Go 做,
因为用过他写过 N 多上万行的项目. 这些项目用 C++或 Java 可能要一个星期, 用 Go 两天就能做好.
没认识 Go 之前,
我做网络并发用的是 ACE 这个网络库, 被 boost 坑过, 也被 erlang 困扰过, python 的 tornado 也做过一些项目.
最后发现,
开发成本不在于项目复杂度…在于你所用的框架的坑有多少.
而 Go 的坑, 做这么久项目以来, 没有遇到
遇到了最后也证明是自己滥用了一些特性, 比如 defer
个人 喜欢专注一种应用场景的语言
比如 PHP 专业做 Web, C 专门做系统, Go 专门做网络服务, ASM 负责调优性能, 语言学习成本又不高,一个个学就是了,未来混合语言编程是主流。。
我是一个爆栈工程师, 做一个项目在 N 种语言中切换. 没有什么不适应的, 反而感觉很自如. 性能也能发挥最大化.
像 node 这一种试图通吃的语言. 只是一个失败的尝试, 时间会证明的…
不知道上面这句会不会引来口水
重要的事情说三遍:
语言的好坏是对应用场景来说的 !
语言的好坏是对应用场景来说的 !
语言的好坏是对应用场景来说的 !
没有最好的语言, 只有最适合你开发场景的语言 !
没有最好的语言, 只有最适合你开发场景的语言 !
没有最好的语言, 只有最适合你开发场景的语言 !
好比中国男人的 Size 一般是不能跟西方女人好好的体验生活一样…
你用 Go 的模板做下前台试试?? 能让你疯掉…
但你拿他来做后端试下, 能让你多出来时间陪家人朋友.
最后: 上面纯属个人观点。。欢迎指证, 但我不会鸟你们的. 因为我用过
就用一门语言写过几个小项目的人, 不要用评价这门语言的好坏,
等你用他来写过几十万行的代码以后, 你就会发现,
原来这么设计他妈的是有原因的…或者原来尼玛的我又选错语言了…
语言学习成本真不高。。。可以说没有成本. 相对收获来说
如果你感觉学习一门新语言成本高, 只能说,你不适合作个码农…
可惜 mips 只有 gccgo 。。
go 用不了多久,就会向 Java 那样,遍地轮子
Go 只能说是比 Python NodeJS PHP 快,占用低。
C 艹 单核单线程 17000 RPS ( boost asio ),本体 30MB 内存占用,不过系统内核占了很多内存,估计是 tcp buffer 之类的。同样的机子上 Go 只有 1500 RPS 左右。
至于 Java 早就 rm 掉了,没有测试。
Go 写起来的复杂度跟 C 艹 差不多,性能差距还这么远,反正我是不会去用。。。
还有那个难以吐槽的 cgo 链接。。。。
"Go 写起来的复杂度跟 C 艹 差不多"
这个应该不至于吧 没实际用过 但是看的评论文章说开发效率还是比较高
听说过 docker 吗?
可能是我 C 系写的顺手了吧, go 我只试过一两次,没有真正的用起来。
感觉 go 里面各种奇怪的看不懂的特性,各种奇奇怪怪的符号,实在是难以阅读。。
以及我用 py 之类的程序的时候,基本上下载即运行,没碰到过坑。用 C/C++ 之类的程序,下载编译即运行,偶尔遇到包没装 pacman 搞定,很少有坑。 用 Go 程序几乎下载一个踩一次坑,先 cgo 编译链接,等个半小时突然蹦出个错误,装包装依赖,编译,再等大半天,又出错,然后看看代码,哪里有问题,哪里少东西,再改。。。反复。。。。 总共尝试两次用 go 搭建服务的时候,都是折腾了好几个小时,才勉强跑起来 /跑失败。。。
我见有人用 go 写的一个论坛,那个包依赖叫一个乱
比如要搭建 web 服务, go 可能 import http 就好了, 不需要造轮子,但是相应的 C++ 也一样,上 Google 找一个轮子,也是很快的,毕竟也是有多年历史的老语言,除非太奇怪的库,基本上都可以轻易搜到的。 除去这些基础的轮子, C++ 可能需要一些时间搜索查找之外, 真正写业务逻辑的时候, go 和 C++ 写起来开发效率基本是相同的,实际只会取决于程序员的熟练程度。
我倒是觉得,数十年后的今天,会出现一门人工智能语言,高度整合现在的各种语言、轮子。到时候我们人类慢慢被统治了。
学过多门语言的表示,如果 go 的特性和符号都奇奇怪怪的话,你对其它语言一定更不能直视。
我 c \ c++ \ oc \ php \ node \ 前端几种语言 写的很多代码已经在 PROD 环境跑了很久了,以及 Java / Python 写过几千行,还是难以接受 go 。。。
我觉得 golang, rust, swift 三者间 go 是最没前途的。
Rust 非常漂亮,性能与 C 相当,但更好写,非常不错。
Swift 有 Apple 强推,而且 Apple 的上一个项目 llvm 非常成功。
swift 要在 linux/windows 上成功, 同 coreclr 在 linux/osx 上成功一样难度大
rust 易用性和上手不如 golang
这三种语言中, golang 是最简单的, 成熟度相对最高的
至于前景, 不评价
Golang 除非 Google 放弃了,否则不会没前途。毕竟自带的库诚意就是满满的,可以方便的构建各种服务器,进而构建服务架构。
Rust 现在只是一个语言,除非他能达到 Golang 这样诚意满满的程度,或者有一个足够稳定的社区来提供足够高质量的库,否则想要去用会感觉出处碰壁。这并不是说 Rust 不好,只是它还需要时间。
而且就我的观点而言,多学一个语言又不会怀孕,都学了呗。
既然学了这么多语言, go 有什么特性和符合让你觉得奇怪我倒是很好奇。反正我最开始学 go 基本语法就用了一天,现在已经用了几年了。
go 的编译速度不到 C++ 的一半,不到 C 的 10%。
除非你用 malloc 需要对应 free , or 处理非常大的数据得在一个函数内清理内存,其他情况出生命周期是自动销毁的, GC 最大的作用就是降低性能,正面作用微乎其微。
应该让七牛的 CTO 给你们洗洗脑. 66666
同意学习大部分语言成本很低,但是 erlang 除外,实在不习惯函数式的思维。
随便找了一个:
http://cyukang.com/2014/06/22/go-dev.html "Go 的编译速度很快,我的机器上这里 20w 行左右的 Go 代码基本编译在 13s 左右,这和 C++比起来要快很多很多。"
我之前看到的评论比较多是这类,像你这样说它编译慢的第一次看到
有空要去找个东东玩玩看到底哪个说法是对的…
我之前做过很多年的 C 程序的嵌入式开发,内存管理这块感觉是非常麻烦的,这块我觉得 gc 还是会让人省心不少.
做嵌入式确实管理内存麻烦,但是这些程序面向的都是服务器,内存都是按 G 计算的,很多时候完全可以不管内存,只要别忘记释放 malloc 的内存给漏了就好
不会吧? 我也想学学 go 来着? go 和 java 相比怎么样? 学起来和 java 一样容易吗?
go 在 web 开发上究竟是什么角色呢?
肯定比 Java 要快不少的。。。至于学起来是否容易,我也没仔细研究过,只是试了试
From Python to Go … and Back Again
https://docs.google.com/presentation/d/1LO_WI3N-3p2Wp9PDWyv5B6EGFZ8XTOTNJ7Hd40WOUHo/mobilepresent?pli=1&slide=id.g70b0035b2_1_168
编译速度这个……求实际的 benchmark 。
我眼瞎看成 “ GD 会统治接下来的十年?” 勿谈国是啊药丸啊药丸啊
给一个语言的编译器做 Benchmark 很难的,最靠谱的还是看产生的 OP 码。
如果只是纯粹看运行效率,刚搜了下这里:
http://benchmarksgame.alioth.debian.org/u64q/go.html
网页最下面有和其他语言的比较,比如 vs Rust 。
当然,这个网站本身是我大最好的语言 PHP 的,这里还有 PHP 7 的速度比较:
http://benchmarksgame.alioth.debian.org/u64q/php.html
嗯,默认是跟 Python 3 比( CPython ),你们不要拿 pypy 出来打我……
另外还有 Rust 的:
http://benchmarksgame.alioth.debian.org/u64q/rust.html
呃,我说的是编译速度的 benchmark ,不是运行速度的。
说的对
重要的事情说三遍:
语言的好坏是对应用场景来说的 !
语言的好坏是对应用场景来说的 !
语言的好坏是对应用场景来说的 !
没有最好的语言, 只有最适合你开发场景的语言 !
没有最好的语言, 只有最适合你开发场景的语言 !
没有最好的语言, 只有最适合你开发场景的语言 !
go get .
不就完事了?
服务端编程 go 不称霸我不信
生产环境里用 go 做接入服务
比 python 、 node 、 php 快 多核不用脑
比 c 艹省心 不怕泄漏
业务服务还没试过
go get 常见的坑就 2 个,一个是 GOPATH ,一个是墙。
cgo 因为涉及到 C/C++那些工具和问题,不是一般 Gopher 应该直接使用的。
一上来就踩到 cgo 的坑,我觉得可能 Go 确实不适合你(说明你需要强依赖 C/C++的库)。
PS :真不喜欢文章这种标题,还有内容。
我司从 web 到后台 API 和服务都是 Go ,也许极端了点……
另外我觉得 Go 自带的 HTTP 服务器应该不会那么慢,我自己测试了下,大约是 4000 ~ 5000QPS
ab 的结果:
https://gist.github.com/raincious/c5cdaf4f7122cd6555be
代码:
https://gist.github.com/raincious/30fc96621cfbd5f174b1
不过貌似 CPU 确实是跑不满 100%
C++每个版本都差别很大,其实像新的 c++ 14 开发效率已经挺高了。只不过历史原因,很多人对 C++不了解,因而也就造成 C++现在这个样子。 C++里面的编程范式太多了,很多人根本没有能力选择合理的范式去解决问题。
公司都是要盈利的,不是语言粉。哪怕你一门语言语法再丑特性再少内置的库再不丰富,只要能用最少的成本最快的速度解决他们问题就是一门好语言。在这方面 golang 甩 rust 不知道多少条街。像 scala 不牛逼吗, linkedin 用了一段时间还不是把它抛弃了。而 go 就是几门新语言里面在工程实践上面做得最好的,易学易用工具链完善,所以越来越多公司尝试用 go
同意!
同意
我感觉在实现一个 web service 的前提下,要实现轻松完成任务早早回家的需求, 还是上我 rails 比较靠谱和省心。人省了心,计算机自然累(又慢又大),这是一种交换。你确定 go 写的 web service 是跑的又快,写的也快?
PS: 想实现朝九晚五的生活,这要看你的公司, 而不是看你用什么语言。。。
新人用 golang 开发 Web 表示坑较少,开发环境的简便性秒杀其他语言几条街
声明了不使用的变量,居然是报错,而不是警告,反人类啊。调试的时候注释几行代码很正常吧,然后就报错了,因为你没用变量。
统治不敢说,但是举足轻重。
说明你的开发环境还检测不到这种错误
vim-go 直接检查,然后可以用 vim 的宏自动替换,然后 debug 完了再替换回来
最大的优势是 simple , 开发容易,部署简单,调优方便。
和 C/C++比开发效率巨高, CPU 占用偏高, GC 较废。
和 Pyhon 比运行效率巨高,省内存,语法糖太少。
我在项目中需要性能的地方用 C/C++,快速原型之类应用用 Golang ,运维脚本用 Python 。
我以前写 C 艹的时候就曾经试过有一天注释了几句代码调试然后下班回家了,第二天忘记了这事把代码直接提交发布了。。。幸亏发现得早而且不是重要的逻辑。所以这种情况 go 直接报错误而不是 warning 也是非常符合工程实践的,既然 warning 你们不管所以干脆就把 warning 都算成错误把可能造成异常行为的逻辑都扼杀在编译期了
还有人用 VB 的吗,是不是都不敢谈了?
你这个就有些扯了 大量的连接需要管理 大量的事务处理 没关系? 这些个情况下更需要监管内存的使用
我在安静的等 crystal-lang 。
这应该是吵嚷着静态语言废话多,动态语言效率低的最终解之一了。
接下来的 10 年统治不统治我不知道,我只知道我是不会用 go 的,用 go 的话,我有 elixir 和 rust 两个选择,何必自讨苦吃?
GD 早晚药丸的,纵观历史独裁都没有好结果.你看现在有多少民众相信 zf???
http://mattn.kaoriya.net/software/lang/ruby/20150618020626.htm
附上一个 crystal 和 ruby 的 http 性能对比,静态大法好。
我觉得是被大叔安利的吧
其实 Ruby 有个 1000+qps 也算可以了。
动态语言,特别是像 Ruby 这种环境,会大量用到元编程。
不知道 Crystal 静态化以后还能元多少东西。
反正对我来说,宁愿牺牲性能换取早点下班……
然后看了一眼原文。
「在美国市值前 20 的企业有超过一半正在使用 Go 」
你手里的钱有美国市值前 20 吗?没钱类比个毛线。
初创公司用 Go 起步,没几个月就饿死了……
老老实实三大件 PyRbPHP (最近还有 Node )。
哈哈
没用过,看看大家想法.
说的好像不翻墙就能用 maven 一样,噗
什么是轮子?一个 demo?
印象中楼主水了不少这种帖子了,已 block
我想吐槽的是 gradle 会下载整个互联网…
Go 语言稳定、简洁,出色的包管理,确实能帮你写出更有质量的代码,但是,对于大多数小公司(尤其是中国)而言,它们更关心项目的快速迭代,还是使用更灵活的脚本语言实际一些。
「在美国市值前 20 的企业有超过一半正在使用 Go 」
这句是个废话,他们还同时用着 C , C++, Python , PHP , Java , Erlang ,甚至 COBOL 和 Pascal 。哪个公司还没有几个边缘项目和闲得蛋疼的程序员。
不是 PHP 么?
坐等朋友出现,看到 go 他肯定会进来发表 bia 言的。。。
然,作为初学者配置开发环境太特么费劲了,尤其用 sublime text~
欢迎大家来在线体验 Go 的 IDE :
https://wide.b3log.org
我就静静的看着你们装逼,从来也不会打断你们。
内存那么白菜价,干嘛不多买几块。。比程序员便宜多了
觉得快被 javascript 统治世界啦
go 这辈子都不指望去开发 ios app 了!
> V2EX 寒冬,楼主花样发帖骗金币。
花样骗金币咯,看层主各种回复判断为:反人类型人格。反正看不到~
JavaScript 目测只能统治 Web 应用层,深层无望啊。
Python 会统治接下来的 15 年?
Java 会统治接下来的 30 年?
C 会统治接下来的 50 年?
机器语言会统治接下来的 1000 年?
可惜这些问题都没有人提。。
php 才是最好的语言
做 web 网站, go 更好用吗。如果好用,为什么他的 revel 框架,没有在 github 上得星最多呢。
根据目前所见的评论,做 web 网站, go 很难用,做服务端好用。
然而 C/C++ 已经掌控世界 30 年
我对 go 的语法持观察态度。实在是可以道一声变态
某女:你能让这个论坛的人都吵起来,我就跟你约会.
某软件工程师:PHP 是最好的语言!
某论坛炸锅了,各种吵架…
某女:服了你了,我们走吧
某软件工程师:今天不行,我一定要说服他们,PHP 必须是最好的语言
是吗,楼主设置了隐私,还真不好看。
没有银弹
关于“Golang(Go语言)是否会统治接下来的十年”这一问题,作为IT领域GO语言方面的专家,我认为这一预测具有相当的挑战性,但也并非完全不可能。
Go语言自诞生以来,以其简洁高效、并发性能优越等特性,在编程语言界逐渐崭露头角。它在云计算、微服务架构、容器化等领域的应用日益广泛,成为这些领域的新宠。此外,Go语言在硬件开发、区块链、机器学习等领域也展现出巨大的潜力。
然而,要统治接下来的十年,Go语言还需要克服一些挑战。例如,与Java、Python等主流编程语言相比,Go语言的生态系统相对较新,尤其是在中国市场,一些企业和开发者可能会更倾向于选择已经成熟并有丰富第三方库和工具支持的语言。同时,Go语言的人才储备也相对较少,这在一定程度上限制了其普及速度。
尽管如此,Go语言的发展势头依然强劲。随着技术的不断进步和应用场景的不断拓展,Go语言有望在未来十年内继续保持其增长态势,并在更多领域发挥重要作用。但要说它是否会“统治”接下来的十年,还需要时间来验证。