没什么是永恒的——包括编程语言。很多看起来可能是将来的佼佼者,到头来可能被人们遗忘。无论是因为不可抗拒的原因,还是因为自身发展的原因。

Python时下正在“最热门的编程语言榜”上春风得意,看起来将会成为一门不朽的语言。但是现在,很多其他语言也逐渐显现出Python的一些优点:编程方便,对数学和科学计算拥有强大的处理能力,庞大的第三方库。

下面是Python的一些潜在的挑战者,并讨论了Python是如何保住它第一的席位的。

Swift

它是什么:苹果公司的一种编程语言,主要用于原生的iOS开发,但是现在已经开源,并有向服务器端发展的倾向。

它的优点:使用Swift编程是一种毫无障碍的体验!用起来相比于编译型语言(比如,它间接的前任Objective-C)更像是一种脚本语言(比如Python)。Swift的决定性的优点是它的速度——它是由LLVM编译框架编译成机器码的,所以它具备真正的多线程。Python还在这方面挣扎。

如果说开发速度要比执行速度重要的话,Python在方面更有优势。但是Swift有XCode IDE的“Playground”模式。

Python的优点:一方面,相比于Python来说,Swift是一门新型的编程语言,Python有所有成熟的语言所具备的有点——大量的用户基础,大量的库,成熟的多平台支持。Swift现在甚至还不能支持Windows(如果不算上第三方库的话),虽然这是将来必定会实现的特性。Swift还会产生对苹果工具链的依赖(比如Xcode),而Python的依赖就少的很。

Go

**它是什么:**Google的“表现力强、简洁、干净、高效”的语言,从Docker及其相关项目到InfluxDB数据库,Ethereum坏链系统和Canonical的Snappy包管理工具都是用Go写成的。

它的优势:和Swift一样,Go语言也会编译成平台相关的机器码,所以它不仅可以在多任务方面比Python快很多,还还可以在运行时不像Python那样生成额外的目标。Go代码编译速度非常快,开发速度也很快,所以它更像一门解释性的语言。

Python的优势:虽然Go不像Swift那么新——它在2009年发布——Python在用户和库的数量方面还是占有优势。此外,Go的语法和错误处理方式和Python相去甚远。所以,现在Python用户很难转移到Go,但是不会阻止新用户选择这样一门语言。现阶段,Python的安装器让使用和构建Python应用非常简单——更不必说像Linux这样的系统,Python已经成为了标准。

Julia

它是什么:在2012年发布,是面向技术应用的一门编程语言,例如数据分析和线性代数。

它的优点: Python一个很大的用处是数学和科学应用——多亏了Numpy这样的库和交互式的IPython编辑程序。Julia的目标用户也是同样的群体,和Go、Swift一样,它也比Python快。它还有一个正在不断扩展的包,不仅仅包括科学和数学计算的应用,还有很多Python的功能,比如从云端提供商那里取得数据。

Python的优点: Julia有和Python类似的库,但是Python并不满足现状,还在马不停蹄地优化语言的核心和开发环境。Python的速度并非一定不及Julia(或者其他Python的竞争者),只要针对不同的工作选择恰当的库完成,速度还是客观的。

Julia语言本身还存在一些争议。比如,Julia的数组下标是从1开始的,而不是0——这不仅和Python比是一个缺点,很其他语言比起来也是。(很多第三方的包索引也是从1开始,但是仍让人很不习惯。)

R

它是什么:无论是就开发环境还是语言本身来说,这都是一个很老的语言了。它专为统计学设计。

它的优点: R有很多Python的优点,比如有丰富的第三方库等。但是R是专门为统计学而生的,并且在后面的发展中依然专注于此。Python也可以做数学和统计学方面的计算,但是在这方面被R语言完全碾压。

R语言还引起了很多大公司的注意,微软收购了一个R语言标准实现的开发商开服务它的云端数据。Hewlett-Packard开发了一种分布式的R语言计算产品,可以同时跨多个节点运行。这个产品在将来可以把Python完全挤出这个领域。

Python的优点:有时候,作为一个多用途的语言也有它的好处。R语言的功能局限在统计学计算方面。由于开发环境的限制,构建R语言应用也很麻烦,使用Python创建应用就很简单。而且通过像RPy2这样的包可以轻松地将R语言和Python联合起来。

微软对R语言的投入很多,但是同时微软也对Python提供了很多支持,所以这两种语言都能在Azure上工作的很好。

原文:4 languages poised to out-Python Python

python julia go_挑战Python的四个语言:Swift、Go、Julia、R相关推荐

  1. 永恒python怎么强化_永恒python加6_pythontip 挑战python (6-10)

    挑战python,6-10题,入门题的解答过程,有更好的方法请留言 题目(id:6):求解100以内的所有素数 输出100以内的所有素数,素数之间以一个空格区分 思路:筛选法求素数.另外,每行结果最后 ...

  2. 精通 Python OpenCV4:第三、四部分

    原文:Mastering OpenCV 4 with Python 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 计算机视觉 译文集],采用译后编辑(MTPE)流程来尽 ...

  3. python全栈工程师薪水_python全栈+爬虫+自动化+AI=python全能工程师-挑战年薪30W+

    如果你想选择一种语言来入门编程,那么Python绝对是首选! Python非常接近自然语言,精简了很多不必要的分号和括号,非常容易阅读理解.编程简单直接,更适合初学编程者,让其专注于编程逻辑,而不是困 ...

  4. 美国 AI 博士:什么都不会怎么学 Python?60 天知识脉络图,快速挑战 Python 全栈

    我见过市面上很多的 Python 讲解教程和书籍,他们大都这样讲 Python 的: 先从 Python 的发展历史开始,介绍 Python 的基本语法规则,Python 的 list, dict, ...

  5. 如何打开python的交互窗口-Python多版本情况下四种快速进入交互式命令行的操作技巧...

    原标题:Python多版本情况下四种快速进入交互式命令行的操作技巧 因为工作需求或者学习需要等原因,部分小伙伴的电脑中同时安装了Python2和Python3,相信在Python多版本的切换中常常会遇 ...

  6. python课程推荐-课程推荐:四天人工智能 python入门体验课

    作为一名被大数据和数量信息包裹的文案,我们必定要在文案力.创意和策略能力之外,准备一个加薪引擎--以技术思维处理数据运算的能力. 只有跑得足够快,才能不被行业当成 "老古董" 落下 ...

  7. Python之路【第十四篇】:AngularJS --暂无内容-待更新

    Python之路[第十四篇]:AngularJS --暂无内容-待更新 转载于:https://www.cnblogs.com/weiman3389/p/6224181.html

  8. julia 调用python库_Julia调用Python实现超像素分割SLIC算法

    最近想要在julia中实现 Simple Linear Iterative Clustering (SLIC) 算法对图像进行超像素分割,关于SLIC超像素分割算法,请参考SLIC Superpixe ...

  9. [Python从零到壹] 十四.机器学习之分类算法五万字总结全网首发(决策树、KNN、SVM、分类对比实验)

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

最新文章

  1. Vue.Draggable 实现组件拖拽
  2. Linux 计算某文件夹下的所有文件的md5值
  3. java怎么访问视图_springmvc-直接访问视图文件
  4. 使用 010 Editor 分析二进制文件格式
  5. 云将与行业走向深度融合
  6. 配置 --- vscode中react格式化解决方案
  7. upc 组队赛18 STRENGTH【贪心模拟】
  8. centos 零碎学习小记 2.
  9. C++三大继承与多级派生
  10. BZOJ 1228: [SDOI2009]ED(SG定理)
  11. Markdown 官方教程
  12. P-矩形最小周长-找规律
  13. 变态ie6之要求css与页面编码一致引发的问题
  14. 使用OWA无法撰写邮件内容的解决法
  15. Windows版 Oracle安装
  16. 容器化部署之看板工具: Wekan
  17. java createfile,Java Filer.createSourceFile方法代碼示例
  18. linux firefox打不开网页,FireFox网页打不开(火狐)
  19. 本地项目与Git项目关联
  20. 软件构造 Lab3 CircularOrbit 实验日记

热门文章

  1. 宁可相信世上有鬼,也不要相信产品经理那张破嘴?
  2. 虚拟机:请问我刚刚回收的对象是干垃圾还是湿垃圾?|文末送书
  3. 追根溯源 - 数据中台概念的起源
  4. 工程师的基本功是什么?如何练习?听美团技术大咖怎么说
  5. 读书笔记—《销售铁军》随记8
  6. inittab文件剖析[CentOS 5.X](第二版)
  7. Git添加和克隆远程库
  8. New to My Oracle Support?
  9. ubuntu16.04中使用搜狗输入法Qt5无法输入中文解决方式
  10. Http 四种请求访问代码 HttpGet HttpPost HttpPut HttpDelete .