有一种语言在过去十年受喜爱度一路飙升,成为最受欢迎的一种编程语言,它是谁?

千呼万唤始出来,没错,它就是我们的老弟Python。

Python是一种易于使用、阅读和转换的对象型编程语言,由C语言实现。

最近,Python被评为全球最受欢迎的编程语言,其中有很多原因在不断稳固它的地位,但也有许多原因使其可能失去该头衔。

Python的用途是什么?

Python是一种解释型语言,这意味着任何编译器或汇编器都不能将其放入机器代码中。相反,使用Python的另一种语言——C语言,可以用来解释Python.h头文件。通常情况下,可以把Python归入脚本类,但在笔者看来,不忽略Python作为编程主要部分的地位至关重要。

(1) 可执行?

Python的一大缺点是,Python代码不能被编译成可执行文件。用Python编写的任何应用程序或工具都需要在终端用户系统上安装Python及其依赖项,且要安装与之对应的正版安装包,这些版本与用于开发所述应用程序的安装包相对应。

Python也有保质期?它在脚本领域的“大佬地位”还能持续多久?

(2) 网站?

Python已经证明其在运行网站后端方面的惊人才能,这也是Python相对于许多其他语言的一大优势。Python拥有大量不可思议的安装包来部署APIs、甚至设计功能齐全的网站应用程序。

(3) 机器学习

机器学习是Python的另一重要用途,这无疑有助于Python在近年来迅速广受欢迎。机器学习是技术研究的前沿领域,Python及其与C语言的密切关系对机器学习研究非常高效有用。虽然Python确实缺乏一些诸如Nim、Julia和Go等语言的性能,但在很多方面,它的快速、简单、简洁可以弥补这一点,但可能其通用性更为重要。

(4) Unix

如果不讨论现代类unix系统,就很难讨论Python。Python  2.7已被弃用两个月,笔者的桌面环境及操作系统中的更多特性仍然运用Python2.7。Bash和Python的组合可以生成一些非常有用的脚本,用于运行服务器、填充数据、完成请求、编辑文件,当然还有更多作用。

Python的缺点

虽然Python确实是门伟大的语言,对全世界造成巨大影响,但每种语言都有其缺点,Python也不例外。首先,最显著的一个缺点是:

Python运行缓慢。

(1) 性能

虽然笔者肯定同意使用日志及for  each方法,并且通常情况下,编写出更好的代码肯定能加快Python的运行速度,但在某些情况下,代码一定会变慢,机器学习就是个很好的例子,因为训练神经网络常需使用递归。笔者无法告诉你有多少次编写过用Python提取数据的脚本,然后在命令行接口(CLI.)中经历超时和减速。

为缓解这种情况,人们做出了一些努力,使用了颇有影响力的Cython,但在尝试使用Cython时,转换通常并是完全不相关。尽管在很多情况下,Python的局限性不被察觉,但如果说笔者从来没有过必须切换到Julia、Nim或C语言才能完成某些工作,那一定是无稽之谈。

(2) 依赖项

Python的另一个重大缺点是依赖项和虚拟环境。关于Python领域中的脚本语言,笔者认为,Python在依赖项和虚拟环境方面做得很好。我喜欢将Python比作我使用的有类似作用的两种语言——Julia和Nim,Julia依赖项的世界与Python非常类似,其有一个在我主观看来的优点,即虚拟环境要好很多且更易使用。

然而,随着Nim的加入,Python将被遗弃。使用Nim,可以创建一个已编译执行文件,其中包含所需的所有依赖项。在如何为终端用户和部署处理依赖项及安装包方面,Nim轻松完胜Python和Julia。

Python的好处

尽管对Python颇有怨言,但它确实也有很多方面招人喜欢。

(1) Python的令人敬佩之处

Python是一种常用的编程语言,它有很多优点:

  • 易搜索

  • 易讨论

  • 性能好

  • 修补程序很多

不仅如此,Python功能强大,用起来十分可靠,这使得Python成为初学者的最佳选择,同时也使那些想要快速构建稳定、持久技术的人同时运用这些技术更为容易。

(2) Python看起来很英文范儿

像Python这种语言和类似脚本语言之间的一个很大的区别就是Python的可读性和容易理解性。通常,阅读Python就像阅读一本关于与数字等同变量的奇怪又抽象的书。这不仅使初学者更容易接受,而且也使转变、修改和解码更容易进行,这些都极为重要,特别是对有数千名开发人员在其中工作的大型代码池而言。

老实说,大家都宁愿写Python而不愿写C语言。

(3) Python作为开源软件

虽然对一些人来说,他们的语言是否免费和开源可能并不重要,但对笔者而言,这非常重要。Python基金会的运行主要依靠捐款和教育证书,这意味着Python是一个完全免费和开放的软件,有人编写代码供你使用,这太棒了。

Python会寿终正寝吗?

Python也有保质期?它在脚本领域的“大佬地位”还能持续多久?


实际上,我经常被问到的一个问题是,“你认为Python会存在多久?”这个问题经常出现在机器学习领域,因为Python有许多跟机器学习的相关问题。有趣的是,任何一种语言都可能是静态的,且在很长一段时间内将作为最广泛使用的编程语言。

在C语言之前,Fortran广受欢迎,在C++之前,C语言广受欢迎,在Java之前,C++也是如此,这样的例子不胜枚举,而且总会按此发生。计算机让人兴奋不已,因为它不断发展,随之而来的研究技术也不断进步。就在30年前,16GB内存(RAM)的想法听起来还极为荒诞,因此,人们根本不知道未来的编程语言会是什么样子。

虽然Python最终很可能会被另一种编程语言超越,但在笔者看来,人们仍然在编写Fortran、C语言、Java和c++,记住这一点极为重要;所以Python本身很可能会与我们同行,并在很长一段时间内被广泛使用,不管它可能变得多么不受欢迎。

其他编程语言

Python流行所面临的最大威胁可能是其他的新编程语言。上述所讨论的语言——Julia和Nim,在笔者看来是Python目前的两大竞争对手。Julia当然能改变我们进行机器学习的方式,而Nim绝对是高级脚本的一个巨大创变者。

Python也有保质期?它在脚本领域的“大佬地位”还能持续多久?

图源:(https://nim-lang.org/)

目前,虽然这些语言可能还没有得到很多支持,但它们表现出笔者认为的重要一点:

进步大有可能。

也就是说,Python不是一堵坚实的砖墙,编程语言、机器学习和脚本语言的进步肯定不会就此止步。笔者认为,这些语言之所以未获成功,部分原因是它们都是统计型语言,而且在很大程度上为功能性语言,笔者理解,对于那些一直坚持使用并热爱Python的人而言,该概念让人震惊不已。

结论

Python也有保质期?它在脚本领域的“大佬地位”还能持续多久?


应该学习Python吗?

答案毋庸置疑。

Python作为一种很好的入门语言,可以帮助你熟悉如何解决问题,开始编程。与包括Julia和Nim在内的其他语言相比,Python拥有丰富的资源,这就使得它更易学习。

一门语言的大火始终伴随着另一门语言的没落,我不认为Python会很快消失。

但作为一名程序员,不断成长很重要,开阔视野更重要。如果你用Python已有一段时间,那么可以开始学习第二种语言。尝试一种不同模式的语言,并了解那种模式及所选语言的类编程方法论如何运用这些概念。

这样的话,你不仅能学会使用更快的方法,而且还能学会许多之前甚至都不曾考虑的事情。

加油,你是最棒的~

(文章来源:读芯术)