从从Go、、Swift出发:语言的选择需谨慎出发:语言的选择需谨慎
无论是开源的Go,还是闭源的Swift,新的语言总是利弊一体。不过可以确定的是,新的语言给予程序员一些有用的支
撑点。而对于开发者而言,不管你成长多少,你都会受制于你使用的根源语言,所以选择需谨慎。
Google于2009年第一次提出了Go的构思,Facebook在去年春天引入了Hack,随后不久Apple也发布了其Swift语言。
在战争中,胜利者写历史书;在科技中,赢的公司都在写编程语言。互联是建立在开发标准和代码之上,但是社交网
络和云计算领域受企业巨头控制,并且它们开始把自己独一无二的印记烙在数字科技上——这是必然的,就像征服者
威廉和他的诺曼人一样,大量新的词汇加入到英语中。他带来许多新事物,如陪审制度,这些都影响着当地的法律和
语言的方式。
可以确定的是,新的语言给予程序员一些有用的支撑点。Google Go语言的构建简化了并发运行代码的工作,由于存
在并行编程模式,因此这一语言也被设计用来解决多处理器的任务。对于流行的Web脚本语言,像PHP和
JavaScript,Apple的Swift语言提供给iPhone程序员一些简洁性和灵活性。每个语言都有它自己的标志:Swift是一只风
格化的鸟,Go语言则是一只拗脚的地鼠。
Ken Thompson、 Rob Pike 和Robert Griesemer是Google的三位编码大师,于2009年半开玩笑的提出了Go的构思。
像C++和Java这些广泛使用的编程语言是迟钝的,尤其是面对Google那种大规模的项目部署时。每次添加或改变一些
东西时候,你都需要等待编译器将代码转换为机器可读的二进制版本。
Rob Pike说:“这个等待过程要45分钟,我认为这是痛苦的。当需要等待那么长时间时,你有很多时间可以考虑,你需
要怎么做可以更好。”
设计编程语言在于权衡设计编程语言在于权衡——对于程序员容易,对于机器最适合对于程序员容易,对于机器最适合
创建运行快的代码要求程序员付出更多的努力。人们编写运行迅速的代码需要花费多少时间和精力呢?另一个主要权
衡在于直接访问机器时语言提供的内存数量。不仅在这里,在其它地方也一样,语言发明者必须选择:知道他们可能
会搞砸时,你为程序员提供多少自由?你为他们提供多少措施来缓解他们的失误?
语言设计的任务是庄严的、正式的、宏伟的、充满了难题和矛盾。这里没有正确的答案,只有不同的选择,以适应不
断变化的硬件、多变的用户和挑剔的程序员。
Go语言的创造者有足够的经验去做这些选择,Ken Thompson创建了Unix,他和他的同伴Pike(贝尔实验室老将)共
同设计了字符编码的风格,被称为UTF-8,现如今大多数Web会使用。所以他们知道小的决策也会有巨大的影响。现
在增加的每一条规则,可能就意味着在未来极多的按键需要程序员去操作。每一条规则的遗漏可能意味着无数的崩
溃。
例如,编程语言通常使用分号来分隔语句,使用括号将相关语句组织在一起。典型的如“Hello,World”C语言程序:
Go的创造者认为括号是至关重要的。有些语言(尤其是Python)把这放到了一边,允许程序员使用缩进(空格)或“隐
形的字符”来告诉人和机器代码的位置。Go团队认为这是一个“深刻的错误”,括号意味着程序员可以明确不含糊的告诉
计算机如何在很大一块区域组合代码。在一次与Sergey Brin会面上,Google的创始人提出Go的设计人员使用方括
号,而不是花括号,节约开发者无数趟使用“Shift”键。
在2009年12月份,Go决定停止要求程序员以分号结束语句。分号用于解析器——把项目分解成块(相关代码组成一
相关知识
go语言图标叫什么
Go基础之环境搭建
乌兰布和沙漠生态系统服务时空动态与权衡分析
花卉与健康教程
软件开发人员必须阅读的20本书
食用生姜培育与种植教学视频
化学与人类健康
Go语言精进之路:从新手到高手的编程思想、方法和技巧 机械工业图书图书 华章计算机IT书籍 65.8元(需买3件,共197.4元)
移动应用开发是做什么的 – PingCode
探索移动应用开发之旅:从概念到实现
网址: 编程语言选择:Go与Swift的权衡分析 https://m.huajiangbk.com/newsview1787012.html
上一篇: Swift求水仙花数 |
下一篇: 开发语言 ios Swift(5 |