当前位置: 首页 > 科技观察

Go语言将登上下一个十年的宝座

时间:2023-03-16 20:37:47 科技观察

这个标题很夸张吧?我本来打算用“规则”这个词,但我真的认为“王座”是一个更准确的描述。唯一的问题是标题中的观点是事实。我每天都和很多人谈论Go语言。在Google或Github等地方之外,我们已经拥有可能是世界上最大的Go语言用户数据集。我们还从各种来源收集了许多有趣的生产运行时数据。一些外部数据是从公共资源中主动收集的,而另一些则是从招聘网站、github存储库、公司博客、linkedin和其他来源自动收集的。这就引出了一个有趣的问题:这些Go语言(地鼠)到底是从哪个洞里钻出来的?软件开发工具几乎所有近几年出现的软件开发工具都是用Go语言改写起来的。我认为这可能表明了一些事情。通常,与典型的开发团队相比,小公司的Ops团队很少受到监督。只要是有用的工具,他们一般都会不经任何人同意就使用。对他们来说,Go语言语言非常好用。它是一门静态类型编译型语言(不需要安装需要上千依赖的运行时库),Go语言语言的运行时库也不大,不需要动不动就改。需要100-300M磁盘空间(看看ruby,jvm)。比特币我们在DeferPanic上的许多用户都与比特币/虚拟货币有关。整个生态系统的共同点是使用Go语言,这并非巧合。最有趣的是,我们服务的公司并不像您想象的那样运行某些应用程序。基本上是基于文件系统,或者验证2008年建立的一堆乱七八糟的服务产生的交易。例如:很少尝试将套利交易变成交易所。尽管你可能听说过,但比特币还没有死。许多用例不是传统上想到的,但实际上已经取得了很大的成功。我们的用户需要高性能和更好的数据安全性的保证,Go语言在这方面显然是一个不错的选择。容器技术的有趣之处在于,和那些技术人员交谈后发现,他们并不知道今天所有的容器技术都是用Go语言写的,不是99%,也不是95%-100%。现在使用的所有容器软件都是用Go语言编写的。营销人员应该开始用Go-native取代cloud-native。我们能强调一下这个(市场)有多大吗?即使您不相信容器炒作,也认为这是一个庞氏骗局。当你考虑到所有公司使用Go语言的人数,未来几年大公司使用Go语言的人数是巨大的。当您从一位财富500强的CIO那里听说他们要彻底改革他们的系统时,您必须意识到订单是巨大的。并不是他们掉以轻心,相反,他们不会轻易放弃,因为这是时间、金钱和流程的巨大投资。微服务微服务在过去几年风靡一时,很多分析师因为它不是技术而忽略了它的价值。当你用maven下载一半上网时,同时启动占用800M虚拟内存,或者运行一个RoR应用程序时,占用200M。这与Go语言平均5-20M的运行时间真的是天壤之别。这种差距会立即转化为计费,当您的公司每月在AWS上少支付25-30时,这一点很明显。随着这种剧烈趋势的继续,我们将看到越来越多的公司出于上述原因采用这种模式,你可以打赌Go语言的时代即将到来。业务应用程序对于了解Docker的人来说很有趣,他们甚至会在知道它是用他们从未听说过的Go语言编写的之前投资它。在某些情况下,当你说一切都疯狂时,我认为它可以被视为“细节总结”。当然,情况并非总是如此。来自Battery(也来自Netflix)的Adrian今年在与公司的谈话中多次提到Go:“可能3/4的新东西是用Go@golang编写的”——12月14日No.L然后他提到“几乎所有新鲜有趣的东西都是用Go语言编写的”。在他的行业里,他的眼光可能会更好,因为他参加过很多会议,而且很接地气。来自Mayfield的RobinVasan甚至在今年的goper大会上发表演讲,在VC工作,精通Go语言的JerryChen出席了大会并表现出色。在采用的早期,C++曾被嘲笑为无能的C程序员的语言。后来Java也来了,但也没太大起色。乔尔对此已经很失望了。之所以会这样,是因为90年代后期鼓吹的一堆面向对象的概念完全是胡说八道,对未来不利(虽然当时很难预见)。摩尔定律已经失效。今天,每个人都使用虚拟计算机进行软件开发和交付,这与1990年代完全不同。然而,谁能想到。事后诸葛亮还是容易被。这可能会让旧金山的工程师感到有点意外。在旧金山,有一大群开发人员想着每天朝九晚五上下班,回到家再也不碰电脑。它们可能具有各种形状和大小,但我认为它们都有一个共同点,那就是它们“编码只是为了完成任务”。他们一点也不关心热门的新框架或使用最新的“最佳实践”。他们唯一的愿望是“完成工作”。Go语言在这方面做得很好(去掌握它)。它确实允许开发人员做正确的工作。纵观世界上所有的编程语言,没有任何一种语言能够在“搞定”模式上占据优势。但是,这对软件的未来非常重要。因为,每个公司都要雇佣越来越多的开发人员,开发越来越复杂的系统。Go是新的JVMGo,它取代了JVM和.NET作为企业编程语言是显而易见的。比如我在旧金山演讲的时候,几乎所有的Scala公司都在一点一点的向Go迁移,很多欧洲的公司也在做同样的事情。我经常听到的另一个比较是Node。当人们试图将Go与Node.js进行比较时,我觉得有点奇怪。首先,您要比较语言框架,其次,您要将Javascript(与Java大约同时发布)与Go进行比较。在人类的年代,Java和Javascipt都醉在酒吧的某个角落,而Go连幼儿园的第一个字母都没学会,而现在Go依然可以在这个混乱的市场中分得一杯羹。然而,真正愚蠢的人总是提到现在使用围棋的人数——这基本上就是伪科学的定义。我认为谈论1900年道路上的汽车数量没有意义。讨论Go的生态系统方面(加密货币、容器)和增长率而不是原始下载数量会更准确和相关。那么让我们来看看一些谎言。让我们来看看一些该死的谎言。让我们看一些统计数据。人们只需要看看Node和Go聚会的出席情况就可以做出自己的判断,实际上是两倍,根本没有竞争。每个人似乎都在享受推特风暴,那么这个呢?我不知道将DropBox归入什么类别(除了大),但我认为这会让你对未来几年Go语言的支持有一个很好的了解:此外,你认为它只是谷歌和一些旧金山消息灵通人们在使用Go吗?再猜。Go在国内用的人很多,本地的百度也有很大的用户量,也开始用Go了。表面上Go是一门前景光明的新语言,Go有什么用处?但现实是这样的:“美国市值前20的公司中有一半以上都在使用Go”最后,如果你还没有开始使用Go语言,你的公司就落后了。在90、00年代落后可能不是什么大事,那时我们还有“IT”的概念,但现在都快2016年了。你不能落在后面,否则你的企业就会死掉。这不是原创资源游戏,以十分之一的成本提交软件。我们已经多次注意到这种对生产力的巨大影响。信不信你有十倍的程序员,Go语言会让你的团队效率提高十倍以上。如果您不使用Go,所有招聘底层系统的工作都会使您公司的技术面临风险。Ruby显然注定要失败。Javascript具有误导性,Python对数据科学家来说是高跷。JVMSithMonarchs掐住你的脖子,.NET最新的开源尝试想留在开源这边。Go语言是未来,Go语言是你的未来,你还是要选择。Go语言将统治下一个十年!