Python几乎是近几年最火的一门计算机语言。借着机器学习,尤其是深度学习的兴起,Python的发展搭上了快车。
如今深度学习领域最常用的两大框架TensorFlow和PyTorch都是基于Python的,所以学会Python几乎是所有做相关研究的人必备的技术。
Python的胶水特性
Python相对于其他的语言优势很多,但是我想说的是它的“胶水”特性。
我们都知道,每一种语言都有其特长,比如C语言的迅速,Java的“一处编译,多处运行”,R语言广泛的统计学的包和Julia的计算快速。但是同时每一门语言都为这个特长牺牲了其他的性能。
Python可以作为胶水让你使用各个语言的特长,我们能在Python中使用C、Java、R和Julia,并且现在都已经有成熟的包让我们方便地使用。这些都是Python大行其道的原因。
其实计算机语言中马太效应是很明显的,也就是强者越强,弱者越弱。
在前几年做深度学习研究的人还在用Matlab,是因为之前的很多模型都是用Matlab写的,并且Matlab可以很方便地做矩阵运算。
但是随着近几年Python的包越来越完善,加上Google和Facebook分别发力做出了两个框架,Matlab终于寿终正寝,不再是人们研究的第一选择。
其实Python在前几年一直顶着一个“慢”的名头,是因为它是个弱类型的语言,在运行的时候需要动态解释。
这就相当于在运行的时候需要做很多的判断,速度自然就慢下去了。也就是近几年通过很多的优化,并且Python社区的发展,人们才慢慢地能够忍受这种慢,前提还是很多底层代码是用C来写的。
所以,一门语言的大行其道并不一定是性能最优的。这就涉及到为什么Python被大家喜爱?
Python的突出特性在于它好上手
每一个C语言的初学者,如果想写出一个界面的话是很难的,所以C语言程序的运行都是在一个黑框框里。但是Python可以很方便地写出界面,虽然运行速度不一定快。
之前有人用200行代码写出了FlappyBird就是Python的优势的体现。所以随着代码更新换代越来越快,而计算资源越来越多,人的操作的便捷性反而是最重要的。
如此一来,Python方才成为宠儿。
Python会不会被替代呢?
当然,现在就有人暗戳戳地想用swift来替代它啊,但是语言的更新换代并不一定是一件坏事。虽然程序员需要重新去学习,但是学习成本肯定是越来越低的,而语言肯定是越来越先进的。
如果把计算机语言看成人与机器打交道的手段,我相信,这个手段会越来越有效,也越来越简单。
最终,我相信,计算机语言将会成为社会上每个人如说话一般的技术,而机器最终会成为人们的好朋友。