大胆一点,让Golang成为新一代科研的编程语言

大胆一点,让Golang成为新一代科研的编程语言,第1张

大胆一点,让Golang成为新一代科研的编程语言 前言

路人甲:科研的编程语言不是Python,R,C这些吗,Golang是什么东西。


路人乙:作者什么鬼,不会是个标题党吧。


这可能是大多数点开这篇文章人的心声吧,但各位客观莫着急,我尽量用较短的语言从数据处理,性能对比等等方面来说明Golang为什么可以用于科研。


Go是什么?

Go语言是谷歌公司在2007年发布的静态编译型语言,其目的是为了取代c++,作为c的补充,关于这一点其实linux之父linus在2007年就说过c++是一个很糟糕的语言,主要原因是在于c++没有垃圾收集,仅在c上添加了一下渣滓而已。


Go语言的设计思想就是简单二字与c++的复杂形成了鲜明的对比。


Go作为c的补充,其设计与c极为相近,基本上就是在c的基础上添加了一些特性如:对象,接口,携程,channel,切片,垃圾回收器,闭包等等。


为什么Go可以成为科研语言?

在做实验的时候我们基本上会采用Python来对实验数据进行处理分析,可视化,其主要原因是在于python提供了数据处理的库,有良好的第三方库供我们做数据处理,那么Go呢?

在Python中,numpy和Pandas库可以说是每个科研人必用的两个库了,在Go中也有gonum和gota库与其相匹配。


其实说到底,一款语言能否成为科研利器,最主要的是看其生态,对于Go语言来说其生态可以说是日新月异的变化,主要原因是使用golang的开发者,在以肉眼可见的速度快速上升,国内外不少大型企业都将golang作为企业项目的开发语言,这为Go语言生态的繁荣有利的推进器。


而golang之所以可以成为各大企业的项目开发语言的主要因素是在于其性能上的优势和开发效率上极高的性价比。


golang作为一门带垃圾收集器的语言,golang的开发效率比Java还高,性能比其更具优势。


其拥有调度携程的能力,能轻易的开出上万的并发量。


与Python相比其开发效率是不及Python的,毕竟Python有众多语法糖,Go语言的语意表达能力要略低于Python,但在权衡开发和运行效率后,我们不难发现Go语言的性价比是真的高。


当然光说可能大家没什么概念,可以这么模拟一个场景:需要部署一千台机器用于允许Python语言程序来满足数据分析需求,那么如果用Go语言编写,可能只需要十台服务器就够了,同时响应时间特别快。


这也是企业喜欢全面使用golang的原因之一,那就是省钱,对于科研项目来说,golang更是经费紧张的帮手。


最后

其实作为使用者平时大多时候都还是使用Python进行数据分析,比较在数据量不大的情况下我们对运行效率并没有那么看重,使用Python主要是因为它有jupyter那样的工具,可以一遍写一遍调试特别方便,当然这也反应了Go语言的生态上距离其他语言还是有一定的距离,但随着golang的使用者越来越多这一点在不久的将来可以得到极大的改善。


所以就目前来说,我们可以保留用Python做数据分析,在性能不够的情况下,可以改用Golang进行大幅度的优化。


以上内容仅代表本人观点,若有不对或不严谨的地方,欢迎大家相互讨论交流!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/571691.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存