说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

选择Go语言的12个理由

HTML文档下载 WORD文档下载 PDF文档下载
Go语言在编程语言的家族中算是一个比较新的成员,弥补C语言的不足并且保持了C的极简主义,专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。

编者按:多核化和集群化是互联网时代的典型特征,那语言需要哪些特性来应对这些特征呢?多数语言在语法层面并不直接支持协程,而通过库的方式支持的协程的功能也并不完整,比如仅仅提供协程的创建、销毁与切换等能力。如果在这样的协程中调用一个同步 IO操作,比如网络通信、本地文件读写,都会阻塞其他的并发执行协程,从而无法真正达到协程本身期望达到的目标,而Go语言的出现解决了这个问题。

以下是原文:

Go语言是谷歌推出的一种编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。

Go语言在编程语言的家族中算是一个比较新的成员,弥补C语言的不足并且保持了C的极简主义,因此在过去的几年中它的发展却十分迅速。目前在我的工作中Go语言也充当着一个重要的角色!

到底Go语言对企业来说有什么好处?下面简单介绍一下企业选择Go语言的12个理由:

1. 一个完整的语言体系

Go语言已经逐渐发展成一个完整的体系,不论是Go项目自身还是ta的社区都有了极大的发展。

2. C级性能

Go语言目前的性能已经达到了C语言的程度。而且Go语言的性能要比其他企业级语言(如Java、Scala等)更强。随着Go语言版本的更新,它将会变得愈来愈成熟。

"Go is like a better C, from the guys that didn’t bring you C++" — Ikai Lan

3. 快速编译

Go语言编译速度很快,如此快速的编译使它很容易作为脚本语言使用。因为谷歌设计Go语言就是为了解决谷歌自身的问题——数以万计的代码和CPU核心。我自己的也验证过Go语言的编译速度,几乎是和语言同步进行。 

4. 跨平台

Go语言可以在多个平台上进行编译。Go语言设计支持主流的32位和64位的x86平台,同时也支持32位的ARM架构,同时支持多种操作系统,在企业中不需要针对系统环境做额外的部署。

5.测试调优框架

这些基准测试可以查看: my recent post about Golang benchmarking

6. 语言级并行

并发性是能够同时执行多个计算结果。现在并发性已经成为衡量一个语言的关键特性,Go语言就是基因里面支持的并发,可以充分的利用多核,很容易的使用并发。

7. 代码风格 - gofmt

通过谷歌的页面可以看见Go语言里面内置了很多工具链,最好的应该是gofmt工具,自动化格式化代码,能够让团队review变得如此的简单,代码格式一模一样,想不一样都很困难

8.内置文档 - godoc

企业中API和程序的相互协作以及和第三方协作是非常重要的,Go语言可以建立一个代码的内置文档-godoc,可以分享将资源在代码中进行分享。

9.自动垃圾回收

在C和c++程序员花费很多的时间和精力分配和释放内存,R语言则可以消除这种情况,确保程序员可以集中精力进行更多的生产任务。当然垃圾收集也有自身的问题,不过这些都是通过语言来实现的,不需要程序员进行额外的工作。

10. 丰富的库

一个丰富的库对于任何一种语言都是非常重要的,可以通过 the list of packages in Go查看Go语言的库,包括压缩、加密、大量的数据结构、SQL语句、JSON和XML解析、模板、网络等等。

11. 有趣的语言,低门槛学习条件

有一些优秀的程序员可以学习多种语言,他们是非常优秀的。但是作为一个普通人,学习语言还是很痛苦的,但是Go语言有C的基因,学习门槛很低,但是表达能力很强大,几乎支持大多数你在其他语言见过的特性:继承、重载、对象等。

"After Go, programming in anything else seems as difficult as balancing the State of California’s budget." — Charles Thompson

12. 经过线上大规模考验的成功案例

我研究越多,越让我印象深刻。还有很多好处我没有列出来,因为实在是太多了。通过一些具体的案例来展示一下吧。 

iron.io

"In retrospect, it was a great decision to choose Go as it's allowed us to build great products, to grow and scale, and attract grade A talent." — Read Case Study

bitly.com

"We identified early on that Go had all the makings of a language that could supersede some of the places we would have traditionally turned to C and some of the places where we wanted to move away from Python." — Read Case Study

torbit.com

"We process over 6 billion performance metrics a day and our goal is to keep our customers’ data safe forever." — Read Case Study

conformal.com

"In summary, Go makes hacking fun again by doing away with intellectual masturbation and terrible, terrible tools. It compiles super fast and runs at native speeds. Any C expert can pick it up over the course of a few weeks and with its awesome data representation features I believe we could rewrite a product such asCyphertite in 25% as many lines of code." — Read Case Study
原文链接:12 Benefits of Golang For Enterprise Systems   (编译:刘亚琼/审校:仲浩) 


以“云计算大数据 推动智慧中国”为主题的第六届中国云计算大会将于5月20-23日在北京国家会议中心隆重举办。产业观察、技术培训、主题论坛、行业研讨,内容丰富,干货十足。票价优惠,马上报名
三星或发布首款头戴式VR设备Project Moonlight 英特尔亚太研发总经理何京翔:数据化时代背后的智慧 云络网络科技CEO Steve Mushero:游戏行业的云运维 腾讯游戏运营管理中心总监刘栖铜:腾讯游戏云的理想与实践 一号专车产品总监曹景辉:LBS应用仍有无限的创新空间 昆仑游戏总裁张益豪:做好中国游戏的海外代理 游族首席运营官陈礼标:重点打造全球化IP 我是怎么利用微信月收入三万以上的! 我的Y Combinator黑客马拉松之感! 最炫HTML5 JavaScript框架Famo.us融资2500万美元 看板先驱David J. Anderson:看板方法拉动互联网时代敏捷变革 《近匠》增强现实开发团队LegendTech:AR技术现已加入15元豪华午餐 微软新技术:简单修改,手机摄像头摇身变3D深度相机 Black Hat USA安全隐患盘点及黑客奥斯卡颁奖 MDCC免费展位报名火热!数量有限,征集进行中 迪游信息科技CEO张晓雷:中日游戏面面观 百余款智能电视创意类应用参赛角逐 Top13 App新鲜出炉! 微信公众平台开发——如何保证access_token长期有效? 拼的就是速度!超快HTML5 2D渲染引擎Pixi.js 一周消息树:百度“涉黄”遭警告,网盘内容审核的四种方式 微信开发商现状调查:接口限制成主要困扰 行业需求多样是最大难点 小米:海外扩张需谨慎,信息安全或成最大掣肘 AMD FX系荣耀归来 或成大众新宠! 脑洞大开:《80天环游地球》同名游戏诞生记 2014微信开发者大会 最后30个参会名额! 林仕鼎创业产品“云校”正式上线:让教育个性化、多元化、均衡化 14岁少年开发者:伍兴云的智能家居“梦” Xcode 6 Beta 6发布闹乌龙,着重改进Swift语言 当API遇到云平台,开发者面临的新抉择! 《近匠》欧朋流量宝,工具类应用开发之道 《近匠》Bmob:免费无限制的公有云服务 怎么用xp安装盘升级两千或酒吧下的wmp? 怎样得知ListBox中已经有多少项内容了? 看看大家关于微软认证的看法(只能给77,全给了) OFFICE XP以及金山词霸的漂亮菜单如何实现的??有源代码可以参考吗?? 谁能说一下"快手"的程序是怎么工作的啊 这个问题我都问了三遍了,还是没人帮忙回答一下? 这样怎么能不行了?怪了. ~散分哦~,哈~ 可怜的准初级程序员(水平的没过,竟然拿了个资历格的) 各位兄弟请了!一个远程接入问题邀请教各位~! 这个问题好象不难 如何在WIN NT4中安装、使用IIS4????? no pains,no gains. work for the beautiful girl here and for our beautiful life 各位大侠: 我是新手,有人能给我讲讲xmlspy吗?? win.ini与SYSTEM.INI的区别? Oracle 的产品真的很烂吗?参与者都有分! 现需开发一套对多个数据库(不是一个数据库中的多个表)进行操作的程序,使用BDE,请大家提建议 CPen的问题! 各位请教:我要通过电话线做多路远程接入但我不想用路由器 请问,使用ado控件的程序,考到其他机器上,除了数据库和应用程序之外,还需要拷贝什么文件? 部分技术超过OFFICE 国产软件挑战微软 关于子窗口 请教:uninstall onflow.exe和wcmdmgr.exe是什么软件? DataSet如何定位记录. lius_lzc(小刘)你好。请来这 高程成绩 不是高手不要进来!!!!!!!!!!!!! 那位大侠能说一下快手的原理啊,有源码最好???????????????? 各位有什么网站可在线看片或下载东西,网速要非常快,如果有请与大家分享,如果没有请勿进,免得大家试半天的网址,谢谢合作 实模式和保护模式的区别? 一个只问小湖的问题 ASP 中的 Response.End 在JSP中怎么写??? 有关多媒体数据库的问题 笨鱼笨鱼,好象你的故事大家都知道了,贴张相片出来给大家看看,大家说好不好啊?? 请教关于第三方控件的问题,谢谢 软件工程师们,你们开发软件的时候听什么音乐呀? 各位大侠,请帮助一下初学者 CPen的问题!!!!!!! 我在泡脚呢,给大家发分,打听一下你们泡脚的时候都干什么? 关于新的论坛数据的提问 在Delphi如何存取SQLServer DataBase表里的图像记录?(100分) 怎样循环更改窗口图标? 请问,那位能帮忙给个Email地址和url地址的正则表达式。急用,在下不胜感谢! 各位网络高手请进! 关于服务端用自己(socket)的程序,客户端用IE,怎样把客户端的数据信息传给服务端? 共享锁,排他锁有什么不同?· 请问在D3D8.0里可否加汉字?要注意什么?多谢! 请问有没有这样一种类似容器的东东,它其中的元素可以是异构类型,比如可以同时放类A,类B的对象 呵呵。前几天狂问问题狂送分,现在分快没了。 我得计算机怎么播放rm格式有问题啦!大侠们给个招吧! 如何在ctree view 中改变tree 的风格? 如何成为一名程序员? 硅酸盐水泥的颜色受哪些因素的影响 铝矾土的用途是什么? 水泥砖健康吗? 什么是弹性?什么是塑性?哪些东西具有弹性?哪些又具有塑性?请举例说明. 谁知道2007年现行的复合硅酸盐水泥标准是哪个? 做水泥砖,有碳渣,河沙,石子,求好一点的配料比例 什么是材料的弹性和塑性 高铝砖就是氧化铝空心球砖吗?谢谢 水泥砖地原料比例 某些材料虽然在受力初期表现为弹性,达到一定程度后表现出塑性特征,这类材料称塑性材料. 这句话是对某些材料虽然在受力初期表现为弹性,达到一定程度后表现出塑性特征,这类材料称塑性 氧化铝空心球砖体积尺一般是多少 工业上如何制取超纯的氧化铝? 1.熔断器、刀开关、热继电器、接触器、自动空气开关的作用及电气符号 硫铝酸盐水泥用途硫铝酸盐水泥在哪些地方用.什么类型的 厂要用?在 成都有 那些厂要 用硫铝酸盐水泥?具体每年能用多 T12钢的热处理将T12钢试样分别加热780℃和920℃并经足够时间保温后淬火至室温,试问两者中哪一个的Ms点高?残余奥氏体量多?马氏体片粗大?硬度低?出现显微裂纹倾向大? 两个S挂钩样子的是什么电气符号,有人说是热继电器,但是查了热继电器符号,不是啊 不好意思,我是在纸质图上看的,没有电子版图,再问下,接线图和原理图中热继电器的表示方法一样吗?我是纯 请问高铁硫铝酸盐水泥是不是普通硅酸盐水泥?区别在哪? 硅酸盐水泥是什么? Q345钢如何提高低温冲击韧性 弹性与塑性有什么区别? 硅酸盐水泥的主要特性有哪些? GB175-1999硅酸盐水泥中175是什么意思 VIKING材料淬火后硬度正常,按需求硬度回火,但回火2次和回火3次的硬度不一样,回火次数多硬度反而低? 矿渣硅酸盐水泥的特性有哪些? 通用硅酸盐水泥的特点、适用范围 请问聚丙烯pp是弹性还是塑性材料? 道路用硅酸盐水泥和普通硅酸盐水泥相比,有哪些特点 硅酸盐水泥熟料的矿物中决定水泥强度的主要矿物是____________和____________. cr12淬火后不回火能用吗 氧化铝和电解铝分别有什么用途,RT 硅酸盐水泥和普通硅酸盐水泥 用途区别请问2者是否存在巨大区别,在用途上有什么差异,另外二者是否可以互相替代,那种成本更高?更适合非洲使用!是这样的,外商要采购硅酸盐水泥,由于以前 复合硅酸盐水泥与普通硅酸盐水泥怎么区别 常用硅酸盐水泥的物理及化学性质有哪些 硅酸盐水泥和普通硅酸盐水泥有何区别?通用水泥有六种,分别是硅酸盐水泥、普通硅酸盐水泥、矿渣硅酸盐水泥、火山灰硅酸盐水泥、粉煤灰硅酸盐水泥、复合硅酸盐水泥.我查看了《通用硅 硅酸盐水泥好还是复合硅酸盐水泥好?还有各种水泥的用水量有没有要求及范围? 硅酸盐水泥石受腐蚀的种类和防止措施哪些 普通硅酸盐水泥与硅酸盐水泥的区别? 复合硅酸盐水泥游离氧化钙控制在什么范围内 在硅酸盐水泥系列中,采用不同的水泥施工时(包括冬、夏季施工),应分别注意哪些事项?为什么? 硅酸盐水泥P.I属于耐高温水泥吗?它的耐高温程度是多少? 塑性材料有哪些 SK5弹性钢热处理硬度要达到HRC53加热温度要多少?铅浴达到硬度HRC63回火多少温度? 硅酸盐水泥和普通水泥有什么区别? 塑性 是什么意思 热处理硬度要达到HRC20-25.5加热温度要多少?回火多少温度?40Cr O、P、T、 H 建筑材料具有良好的塑性和韧性对钢结构的设计和使用具有什么意义 热处理硬度要达到HRC29.5-34.5加热温度要多少?回火多少温度? 32.5普通硅酸盐水泥,32.5代表什么? 为什么矿渣硅酸盐水泥抗腐蚀性能好如题最好从熟料矿物组成上分析为什么矿渣硅酸盐水泥的抗腐蚀性能比起普通硅酸盐水泥来说要好一些 中性氧化铝吸附原理是什么 Cr12MoV真空淬火HRC56-58,做出来正常是铜色,最近两次回火硬度高了,要到520度回火,表面黑了有影响吗? 铝矾土和铝土矿的区别,和他们的用处. 中性氧化铝在气相色谱法中的作用是? 普通硅酸盐水泥有什么特性? 铝矾土具体都有哪些用途啊?要具体的,有哪些厂家采购铝矾土,厂家采购之后具体都有那些产品,希望知道的大侠给详细解答一下啊!不胜感激! 怎样鉴别一种物质是否是中性氧化铝有一袋柱层层析硅胶,怎样知道它是不是中性氧化铝 硅酸盐水泥问题硅酸盐水泥为什么干的越慢越结实,内部有何化学反应,它的性质是什么? 铝矾土的用途 氧化铝和中性氧化铝有什么区别吗?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn