时间:2021-3-24来源:本站原创作者:佚名

Googl于年第一次提出了Go的构思,Facbook在去年春天引入了Hack,随后不久Appl也发布了其Swift语言。

在战争中,胜利者写历史书;在科技中,赢的公司都在写编程语言。互联是建立在开发标准和代码之上,但是社交网络和云计算领域受企业巨头控制,并且它们开始把自己独一无二的印记烙在数字科技上——这是必然的,就像征服者威廉和他的诺曼人一样,大量新的词汇加入到英语中。他带来许多新事物,如陪审制度,这些都影响着当地的法律和语言的方式。

可以确定的是,新的语言给予程序员一些有用的支撑点。GooglGo语言的构建简化了并发运行代码的工作,由于存在并行编程模式,因此这一语言也被设计用来解决多处理器的任务。对于流行的Wb脚本语言,像PHP和JavaScript,Appl的Swift语言提供给iPhon程序员一些简洁性和灵活性。每个语言都有它自己的标志:Swift是一只风格化的鸟,Go语言则是一只拗脚的地鼠。

KnThompson、RobPik和RobrtGrismr是Googl的三位编码大师,于年半开玩笑的提出了Go的构思。像C++和Java这些广泛使用的编程语言是迟钝的,尤其是面对Googl那种大规模的项目部署时。每次添加或改变一些东西时候,你都需要等待编译器将代码转换为机器可读的二进制版本。

RobPik说:“这个等待过程要45分钟,我认为这是痛苦的。当需要等待那么长时间时,你有很多时间可以考虑,你需要怎么做可以更好。”

设计编程语言在于权衡——对于程序员容易,对于机器最适合

创建运行快的代码要求程序员付出更多的努力。人们编写运行迅速的代码需要花费多少时间和精力呢?另一个主要权衡在于直接访问机器时语言提供的内存数量。不仅在这里,在其它地方也一样,语言发明者必须选择:知道他们可能会搞砸时,你为程序员提供多少自由?你为他们提供多少措施来缓解他们的失误?

语言设计的任务是庄严的、正式的、宏伟的、充满了难题和矛盾。这里没有正确的答案,只有不同的选择,以适应不断变化的硬件、多变的用户和挑剔的程序员。

Go语言的创造者有足够的经验去做这些选择,KnThompson创建了Unix,他和他的同伴Pik(贝尔实验室老将)共同设计了字符编码的风格,被称为UTF-8,现如今大多数Wb会使用。所以他们知道小的决策也会有巨大的影响。现在增加的每一条规则,可能就意味着在未来极多的按键需要程序员去操作。每一条规则的遗漏可能意味着无数的崩溃。

例如,编程语言通常使用分号来分隔语句,使用括号将相关语句组织在一起。典型的如“Hllo,World”C语言程序:

main()

{

printf(“hlloworld”);

}

Go的创造者认为括号是至关重要的。有些语言(尤其是Python)把这放到了一边,允许程序员使用缩进(空格)或“隐形的字符”来告诉人和机器代码的位置。Go团队认为这是一个“深刻的错误”,括号意味着程序员可以明确不含糊的告诉计算机如何在很大一块区域组合代码。在一次与SrgyBrin会面上,Googl的创始人提出Go的设计人员使用方括号,而不是花括号,节约开发者无数趟使用“Shift”键。

在年12月份,Go决定停止要求程序员以分号结束语句。分号用于解析器——把项目分解成块(相关代码组成一块)的幕后工具,目前的FAQ解释道:“我们想尽可能的消除它,从此当你递送你代码到解析器的时候,机器将注入分号。”

Go清除分号减轻了程序员的眼睛疲劳,但是程序员需要更严格的部署花括号,否则分号会注入到错误的地方。

这些选择并不是没有争议的,一个批评家在Pik的讲座上抱怨道:“他们通过冗余的花括号破坏了语言。”语言也可以被设计的很容易,仅仅使用空格行使花括号的角色来阻断代码的不同部分。Googl的AndrwGrrand回应道:“每天都有一定规模不可思议的倒霉事发生。意思是有人会偷偷的把一些看不见的符号放入代码库中,导致一个微妙的Bug。这在Googl的Python程序中已经发生了不止一次。”

然而对于那些在软件论坛争论细微差别的程序员来讲,“任性的”语法也会使他们“醉了”。

和我们所说的语言不同,程序员称之为自然语言。编程语言是为特别目的和用途精心编制的。Go,正如Pik解释的那样,它是由Googl设计的用来解决Googl问题。Googl存在大的问题......我们需要一种语言,可以让我们更容易的完成我们的工作——编写服务软件。

Googl在云服务中运行它自己的全球性超级计算机,这种计算恰恰使Go能够得到最佳化的使用。但是Googl并没有从销售软件中获得一分钱。并且Go已经是一种免费的、开源的项目,这使得它迅速的进入了其他装备的技术库。Rdmonk咨询公司的一名分析师说:“它成为云基础设施的新兴语言。”

Go已经逐渐的流行起来。例如,Dropbox已经从Python转移了大部分的后端代码到Go。Automattic,一家运营Wordprss.
转载请注明原文网址:http://www.coolofsoul.com/cksc/cksc/21307.html

------分隔线----------------------------