全文共3304字,预计学习时长10分钟

图源:(Python logo courtesy of https

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

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

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

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

Python的用途是什么?

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

可执行?

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

网站?

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

机器学习

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

Unix

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

Python的缺点

来源:Pexels

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

Python运行缓慢。

性能

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

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

依赖项

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

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

Python的好处

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

Python的令人敬佩之处

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

· 易搜索

· 易讨论

· 性能好

· 修补程序很多

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

Python看起来很英文范儿

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

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

Python作为开源软件

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

Python会寿终正寝吗?

来源:Pexels

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

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

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

其他编程语言

图源:(src = http://julialang.org/)

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

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

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

进步大有可能。

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

结论

来源:Pexels

应该学习Python吗?

答案毋庸置疑。

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

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

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

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

加油,你是最棒的~

留言点赞关注

我们一起分享AI学习与发展的干货

如转载,请后台留言,遵守转载规范

python是一种动态语言这意味着_Python如何能成为全球最受欢迎的编程语言?该不该学Python?...相关推荐

  1. python是一种动态语言、这意味着_【python编程的优点是什么?难怪选择python的人越来越多了】- 环球网校...

    [摘要]Python是一种动态解释的.强类型定义语言:编写它时不需要定义变量类型.python判断值的类型的方法是什么,那么python编程的优点是什么?难怪选择python的人越来越多了,所以你知道 ...

  2. python是一种面向____的高级语言_Python简介_语法_高薪Ptython系列专栏_2

    Python是一种什么语言? Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python的3.0版本,常被称为Python 3000,或简称Py3k.相对于Python的早期版 ...

  3. python是一种面向____的高级语言_Python 基础教程Python是一种解释型、面向对象、动...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Python 基础教程 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python由Guido van Rossum于1989年底 ...

  4. python面对对象建立自己的电子宠物的编码_父与子的编程之旅:与小卡特一起学Python(第3版)(全彩印刷)...

    Python青少年编程启蒙畅销书全新升级! 上一版豆瓣评分8.5分,被众多老师.家长推荐! 左耳朵耗子.爱编程的魏校长.周自恒倾力推荐! 1.第3版的示例使用Python 3 而不是Python 2, ...

  5. python高级进阶_7_Python动态语言之紧箍咒(slots)03

    前面的讲解可以看出 ,方法和属性都可以为所欲为的添加,为了限制你的能力必须给你戴上紧箍咒. 这个紧箍咒是什么呢 slots, 它的作用就是给你个范围,你只能在这个范围蹦跶,超出了就枪毙, 强调下只是针 ...

  6. 达内 python 是一种更纯粹的面向对象_python 面向对象(进阶篇)-转发自武SIR

    面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个"函数"供使用(可以讲多函数中公用的变量封装到对象中) 对象,根据模板创建的 ...

  7. python中四种进制的输出_Python基础语法和进制

    基础语法 开发种常用的快捷键 键位 功能 ctrl + / 添加注释和取消注释 ctrl + s 保存 ctrl + c 复制 ctrl + v 粘贴 ctrl + x 剪切 ctrl + z 撤销 ...

  8. python中几种读取文件的方法_python 逐行读取文件的几种方法

    Python四种逐行读取文件内容的方法 下面四种Python逐行读取文件内容的方法, 分析了各种方法的优缺点及应用场景,以下代码在python3中测试通过, python2中运行部分代码已注释,稍加修 ...

  9. python举两种字符串引号的例子_python里的单引号和双引号的有什么作用

    在Python当中表达字符串既可以使用单引号,也可以使用双引号,那两者有什么区别吗? python单引号和双引号的区别 简单来说,在Python中使用单引号或双引号是没有区别的,都可以用来表示一个字符 ...

最新文章

  1. mingle_大众汽车品牌SUV之夜,数千平米的mingle区和超长弧面屏了解一下?
  2. JVM调优实战:G1中的to-space exhausted问题
  3. java和python哪个好就业2020-java和python哪个的前途更好?
  4. quartz分布式集群部署并且可视化配置job定时任务
  5. 文献记录(part18)--3D neuron tip detection in volumetric microscopy images using an adaptive ...
  6. Liunx安装gogs,mysql,jdk,tomcat等常用软件
  7. axios post参数为空
  8. python爬虫基础17-抓包工具使用
  9. java 计算器 junit测试_测试工具之JUnit4 结合Mockito模拟测试代码
  10. r语言调用python_R语言与Python协同工作
  11. 【安全篇 / 反病毒】(5.6) ❀ 01. 反病毒的基本配置 ❀ FortiGate 防火墙
  12. 斗魔之残龙纹 第一章
  13. 2020年的发展,想转行学前端还是后端好
  14. 自动化车间3D可视化设计思路
  15. ABAP EWM HU打包
  16. H5实现复制淘口令功能
  17. 戴尔DELL SCV/SC系列存储故障 Storage Center停机错误的解决方案
  18. 佳铁精雕机连接电脑设置_佳铁和精雕哪个好
  19. SAAS服务商助力企业快速构建培训学习体系
  20. python中双冒号(::)的用法

热门文章

  1. c语言二叉树的生成,C语言实现二叉树的创建以及遍历(递归)
  2. Assigning to Classes CodeForces - 1300B
  3. 79. 单词搜索(dfs)
  4. PAT_B_1054_Java(20分)
  5. mysql的索引的作用_数据库索引的作用,优点和缺点
  6. CF思维联系–CodeForces - 225C. Barcode(二路动态规划)
  7. 数学--数论--HDU 2582 F(N) 暴力打表找规律
  8. C/C++头文件一览表
  9. LeetCode Hot100 ---- 最长相关专题(动态规划)
  10. NS2安装笔记 - Ubuntu9.10