Python即将出局?Julia和Swift能取而代之吗?

全文共3042字 , 预计学习时长8分钟
Python即将出局?Julia和Swift能取而代之吗?文章插图
图源:unsplash
上世纪90年代 , Python作为一种通用编程语言诞生了 。 尽管语句简洁 , Python在最初十年的使用情况却并不乐观 , 它也没能真正成为开发者使用的编程语言 。 当时 , Perl是编程首选 , Java已在面向对象编程领域站稳脚跟 。
当然 , 一切编程语言都需要一定的成熟时间 , 只有它比现有工具更适合编程 , 才会被广泛使用 。 Python在21世纪初期的第一个机遇就是 , 人们意识到Python的学习曲线比Perl简单 , 还能与其他语言互相操作 。 这种特性让大量开发者使用Python编程 。 Django的出现终结了Perl, Python势头更猛了 , 但仍然无法与其“后辈”Java和JavaScript相提并论 。
【Python即将出局?Julia和Swift能取而代之吗?】快进到现在 , 2019年StackOverflow开发者年度调查报告显示 , Python已超越Java成为第二受欢迎的语言 。
Python还是10年来发展速度最快的编程语言 。 Python的普及很大程度上得益于2010年大数据的出现及机器学习、人工智能的发展 。 企业迫切需要发展迅速、门槛低的编程语言以管理大规模数据和科学计算任务 , 而Python能完美解决这些问题 。
除了以上优势 , Python还是一种动态类型的解释型语言 。 更重要的是 , 它得到了Google的支持 , 后者为Tensorflow购买了Python , 这使其成为数据分析、可视化和机器学习的首选语言 。
然而 , 尽管对机器学习和人工智能的需求在新十年也将不断增加 , 但Python的好景却不长了 。 如同其它编程语言一般 , Python本身也有缺陷 。 这些缺陷让它能轻易被其它更适合完成企业常规任务的语言所取代 。 哪怕有R语言坐镇 , Swift、Julia和Rust等新编程语言的出现也对数据科学的现任王者构成了极大威胁 。
Rust仍在努力适配机器学习 , 所以我认为Swift和Julia是取代Python并最终统治数据科学的语言 。 一起来看看Python面临的困境吧 。
Python即将出局?Julia和Swift能取而代之吗?文章插图
Python缺乏类型安全性 , 运行速度非常慢
Python即将出局?Julia和Swift能取而代之吗?文章插图
图源:unsplash
所有的好事都要付出代价 , Python的动态类型化也不例外 。 动态类型可以轻松快速地编写代码而无需定义类型 。 然而 , 尤其是当代码库变大时 , 代码运行更容易出问题 , 开发人员在生产环境中运行代码时会更艰难 。 编译器很容易发现的 BUG , 在Python中反而无法识别 , 这样就会产生开发障碍 , 最终降低大规模应用程序的开发速度 。
更糟糕的是 , 不同于编译代码 , Python的解释程序每次执行时都要分析每行代码 。 相比于其它语言 , Python开销更大 , 程序性能低得多 。
而Julia能避免上述问题 。 Julia虽是动态类型语言 , 但是它有实时编译器 。 其JIF编译器要么就是在执行前生成正确的机器代码 , 要么就是使用先前已储存、缓存的编译 , 这让它拥有与静态类型语言一样的性能 。
更重要的是 , Julia有一个称为多分派的关键特性 , 类似于OOPs的函数重载(虽然仅能用于运行程序) 。 多分派的强大之处在于它能够处理不同的参数类型 , 而无需创建单独的函数名或嵌套的if语句 。 这有助于编写更加紧凑的代码 , 也是数值计算的一大胜利 , 它可以轻松地通过扩展解决方案来处理所有类型的参数 。
Swift甚至更胜一筹 。 Swift是静态类型语言 , LLVM编译器(低级虚拟机器)对其进行了高度优化 。 它能快速编译成汇编代码 , 这让Swift超高效运行 , 速度可比拟C语言 。


推荐阅读