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

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上工作的很好。

【编辑推荐】

【责任编辑:IT疯 TEL:(010)68476606】

点赞 0

python julia go_Python的四个挑战者:Swift、Go、Julia、R相关推荐

  1. 用Python分析了1w四六级数据,教你如何通过四六级!

    微信改版,加星标不迷路! 用Python分析了1w四六级数据,教你如何通过四六级! 作者:阿广 概述 前言 数据介绍 预期结果 实现过程 搞笑一刻 阿广说 每日问题 前言 陈奕迅说过:在有生的瞬间,考 ...

  2. python学习之第四课时--运算符

    python学习之第四课时--运算符 运算符 1.算数运算 运算符 描述 实例 a=10,b=20 = 加,两个对象相加 a+b输出30 - 减,一个数减去另一个数 a-b输出-10 * 乘,两个数相 ...

  3. Python正则表达式使用的四个基本步骤

    http://blog.itpub.net/31403259/viewspace-2157701/ Python正则表达式使用的四个基本步骤     1.用import re导入正则表达式模块     ...

  4. python安装第三方库-python第三方库的四种安装方法

    讲解一下python第三方库的四种安装方法 问题场景 (我的操作系统windows): 我使用pip install selenium 发现先爆出一大段黄色警告日志,最后是两段红色的错误日志,无法成功 ...

  5. 机器学习算法与Python实践之(四)支持向量机(SVM)实现

    机器学习算法与Python实践之(四)支持向量机(SVM)实现 zouxy09@qq.com http://blog.csdn.net/zouxy09 机器学习算法与Python实践这个系列主要是参考 ...

  6. 贪吃蛇程序设计报告python_20192116 2019-2020-2 《Python程序设计》实验四报告

    20192116 2019-2020-2 <Python程序设计>实验四报告 课程:<Python程序设计> 班级: 1921 姓名: 饶欢 学号:20192116 实验教师: ...

  7. python自动华 (四)

    Python自动化 [第四篇]:Python基础-装饰器 生成器 迭代器 Json & pickle 目录: 装饰器 生成器 迭代器 Json & pickle 数据序列化 软件目录结 ...

  8. [Python人工智能] 三十四.Bert模型 (3)keras-bert库构建Bert模型实现微博情感分析

    从本专栏开始,作者正式研究Python深度学习.神经网络及人工智能相关知识.前一篇文章开启了新的内容--Bert,首先介绍Keras-bert库安装及基础用法及文本分类工作.这篇文章将通过keras- ...

  9. 孤荷凌寒自学python第五十四天使用python来删除Firebase数据库中的文档

    孤荷凌寒自学python第五十四天使用python来删除Firebase数据库中的文档 (完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数据库 ...

  10. Python精确指南——第四章-部署和技巧

    4       Python工程打包部署 Python程序在提供给用户使用时,要脱离Python开发环境运行,此时,需要对python工程进行打包. 常用的Python打包工具有PyInstaller ...

最新文章

  1. python判断素数的函数_Python素数prime函数练习_Python源码实操
  2. 【错误记录】Android Studio 编译信息输出乱码
  3. 未来10年,一类人率先失业,涉及8亿人!这8类人最安全,希望有你
  4. ICallbackEventHandler使用
  5. 数据脱敏的 6 种方案
  6. QT的QFileInfo类的使用
  7. Drop down list value changed
  8. 期权价格的上限和下限
  9. 前端学习(2796):实现左侧数据渲染和点击高亮
  10. 产业数字化升级进入深化期,腾讯智慧出行释放“数字底座”核心能力
  11. Linux系统查看内存的几个小命令
  12. 泡泡玛特就“女性面试需填生育计划”一事致歉 称将积极改进
  13. Proxy error: Could not proxy request错误解决
  14. 基于图像的相机定位/SLAM分类
  15. 【MySQL高性能】Canal数据同步神器
  16. Unity3d 5 官方教程:UI
  17. java中catch什么意思_你真的理解Java中的try/catch/finally吗?
  18. 系统安全的三个方面(CIA)
  19. 迪士尼照片_迪士尼经典游戏,《狂热》和更多Linux游戏新闻
  20. 点击苹果手机计算机页面慢,苹果平板电脑浏览器打开慢怎么办

热门文章

  1. Android 多个listview的实现
  2. 字符串转换为合法IP地址
  3. 以前收集到的PHP总结笔记
  4. Flutter RotatedBox旋转容器
  5. 如何使用计算机小学生课件,小学生计算机课件
  6. python项目方案书-前端python解释器方案预研
  7. The Entity Framework tools version升级
  8. C# 比较两个数组中的内容是否相同的算法
  9. linux改变所属用户组
  10. js中将字符串作为函数名来调用的方法