计算机语言 整形,编程语言扎堆整容,Python成整容模板

原标题:编程语言扎堆整容,Python成整容模板

29e122ac97c374c6eab86c5473000558.gif

Python2到Python3的迁移让Python社区苦不堪言,但是只有Python社区有这样的分裂吗?绝不是,其实很多语言都面临着迁移的问题,而且有的语言的升级换代堪称整容,整容的模板就是Python。

1、Java 5 升级到 Java 6

这样说其实不太准确,Java的语言标准叫做ECMA,所以确切地说就是ECMA5升级到ECMA6.

这次升级带来的主要特性有Symbol, Proxy, Reflect, Set, Map, Iterator, for...of, Generator, Promise, 异步操作和Async, Class, Decorator, Module.

大家注意看橘黄色的部分,是否有一种Python3.6的即视感呢?接下来我们看一下ES6和Python3在类定义上面的对比:

b1a5fa9982b7096af554f74f6fadd7f4.png

何其神似啊~JS社区目前遇到的情景和几年前的Python是一样的,语言推出新标准,但是社区及工具链的迁移需要数年的时间,祝他们好运~

2、swift 2 升级到 swift 3

swift 的升级相比于JS和Python的升级,其实是相对小的升级,但是它仍旧是 和2不兼容的!swift 函数和属性的命名很多继承了Objective-C“又臭又长”的特点,一个简单的函数调用画风都是这样的:

let content = listItemView.text.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())

这次升级在大量的API中去掉了无用冗余的部分,上边这句话就变成了下面这样:

let content = listItem.stringValue.trimming(.whitespaceAndNewlines)

虽然在Pythoner看来还不够简洁,但是对于swift粉们已经是一个重大的解脱了。在小编看来,这句话应该继续简化一下,变成这样:

let content = listItem.string.trim("\S+")

对于Swift和Objective-C的语法,小编只有一句评价:“No Zuo No Die.”

3、C++ 11的逆天改善。

C和C++都是静态语言的老大哥,谁也没有想到C++老大哥会在版本11中做出如此多跟得上潮流的改进。

首先是逆天的auto关键字

auto i = 1;

auto d = 1.0;

auto str = "Hello World";

auto ch = 'A';

这样定义,变量i会自动被声明为整数,d被自动声明为浮点数,多么智能啊!希望下一个版本能把auto这个关键字也取消,反正本来用处也不大,直接i = 1就好了。

其次是逆天的lambda表达式

C++支持lambda表达式,太潮了!一个例子:

auto func1 = [](inti) { returni+4; };

func1(6)

为什么我觉得写起来比Java还简单一点?速度又快,写起来又简单,没有天理(⊙o⊙)啊!

还有很多其他新潮的特性,C++的这次升级让不少人眼前一亮。

总结陈词

可以看出,编程语言更新换代是非常正常的一件事,没有一门语言是稳如泰山、从不改变的。而改进的方向恰好是向着越来越Pythonic而改进。这个现象不是巧合,是由于Python在设计时的哲学决定的。Python设计的哲学能够让大多数人认同,就像普世价值能够被大多数人认同一样,所以随着时间的推移,编程语言渐渐都会Python化,这就是编程语言的进化。

Python哲学

优美胜于丑陋

明了胜于晦涩

简单胜过复杂

复杂胜过凌乱

扁平胜于嵌套

间隔胜于紧凑

可读性很重要

即使假借特例的实用性之名,也不违背这些规则

虽然实用性次于纯度

错误不应该被无声的忽略

除非明确的沉默

当存在多种可能时,不要尝试去猜测

应该有一个,最好只有一个,明显能做到这一点

虽然这种 方式可能不容易,除非你是python之父

现在做总比不做好

虽然过去从未比现在好

如果这个实现不容易解释,那么它肯定是坏主意

如果这个实现容易解释,那么它很可能是个好主意

命名空间是一种绝妙的理念,应当多加利用

b3fbdd7865316f53e40138f064d27bcd.png

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值