业界疑问,JuliaSet会取代Python吗?
云栖号:https://www.aliyun.com/#module-yedOfott8
第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策!
编程语言Python自上世纪九十年代诞生以来已经发展了很久。
今天,Python是应用最广泛的编程语言,有非常多的应用都使用了它。像企业级应用,机器学习和人工智能模型,或者数据科学工作中都有Python的身影,Python 几乎应用在所有蓬勃发展的行业和领域中。
恐怕连吉多·范罗苏姆(Guido Van Rossum)自己也不知道,他发明的Python会成为世界上最流行的编程语言之一。
Python现状
全世界有超过八百万的Python开发人员出于各种目的虔诚地使用Python。Python由于其动态的特性和优良的扩展性,受到了许多开发人员的偏爱。这也是Python打败开发者曾最喜欢的编程语言JAVA的原因。
但JAVA渐渐退出的原因也可能是出于一种语言的正常衰退过程,毕竟它已到了强弩之末。而很多新语言则为解决当代挑战而设计出来。由于语言的时效性,那些过去产生的语言解决当时的问题是很有效的,但对于日新月异的各行业而言,它们很难再跟得上当下的发展变化。
但Python作为一个开源语言,有非常强大的社区做支撑,因此它直到今天仍是最适应发展的语言。
它丰富的资源库、强大的内在功能是各组织、企业、开发者和科学家选择它的原因。尽管企业开发中仍会用到JAVA,但它在其他领域中的应用基本消失殆尽。也就是说,你不会发现有机器学习专家用JAVA设计和训练模型。虽然JAVA日渐衰退,它仍是全球第二大编程语言。
取代JAVA
Python在很多领域里都成功地取代了JAVA,而在企业开发上,JAVA还面临着谷歌新编程语言GO的威胁。
此外,我们对高性能计算能力的需求与日俱增,这是数据科学和人工智能模型时代的需求。尽管有人觉得发展极限图形处理器能有效提升速度和效率,现实却可能相去甚远。它并不能满足数据处理的需求。相反,最先进的应用程序需要其他依赖项来优化性能、帮助科学家和开发人员完成预期目标。最终,这些表现将引导组织和研究机构寻找稳妥的编程语言,从而更适应利基(niche)任务和交付速度上的需要。
进入Julia的世界
正如前文所说,受到广泛喜爱的Python正受到后起之秀——Julia的威胁。
Viral Shah, Julia Computing的CEO指出:在本世纪初,开发者们更喜欢使用C语言进行系统编程,用JAVA进行企业应用开发,通过SaaS平台进行数据分析和Matlab中的科学计算。但如今开发者则喜欢用Rust语言进行系统编程,用Go语言进行企业开发,Python或R语言进行数据分析,再加上Julia一起进行科学计算。
而事实上,几年前我们还看不到这一番景象。
那时Julia还没有问世,在编程语言的选择上,渐渐从Matlab转向Python。在机器学习开始广泛应用后,由于Python数据库提供了更为便捷的ML模型安装,人们都转向使用Python。早前,Matlab不仅是完成这项任务的首选,更是数据分析和科学计算的最佳选择。但是,很明显,人们很容易接受易于理解、速度更快、性能更高和可扩展的解决方案。因此,Python能完美适应JAVA和Matlab的应用场景。
Julia的市场在哪里?
Julia和Python的一个关键区别就在于两者处理一个特定问题的方式上。Julia设计目的就有想减轻面对高性能计算的挑战,而Python变成了这个挑战。
尽管Python仍能够应对行业的挑战,但是我们得接受它并不是为这项任务而设计的。开发者和研究者已足够幸运,能够见证并促进Python发展成为一个快速的编程语言。另一方面,Julia在设计时就将高速牢记在心。它只诞生了几个月而已,但已经在研究者和数据科学家间引起讨论了。
Julia的稳定版本1.2在两个月前发布,并且已经有了进一步改进,用以高效地处理资源密集型数据科学项目。目前已有超过800名开发人员在 Github 上为Julia的发展做出贡献,并帮助它成为更多人使用的语言。
作为资源丰富且高速的编程语言,仅仅两个月的Julia已经给了有三十载历史的Python沉痛一击。尽管现在断言Julia要取代Python还为时尚早,它一定能够因其独特的性质和处理复杂计算的能力而留下一笔。
此外,需要处理的问题要用到的资源越来越多,更要求严格的计算。凭借它超高的性能,Julia因此可能成为所所有人的最爱。Python如果不想和JAVA一样的命运,它必须改变游戏规则,并努力优化它的资源库以提高速度和效率。这种改变不仅仅是对程序的更新,而是完全转换引擎,使其成为一种对CPU更友好的语言。
相对于Julia而言,Python的一个优势就是其丰富的资源库。因为它还处于初级阶段,所以Julia需要很长时间才能开发出像Python这样的高效且动态的库和函数。
这两种语言之间的斗争才刚刚开始,但Julia已经成为需要快速且有效语言的研究人员和科学家的优势。
未来我们无法断定,但相信不管是否取代,留下来和运用的总是最适合时代的那一个。
你怎么看呢?
原文发布时间:2020-01-02
本文作者:读芯术
本文来自阿里云云栖号合作伙伴“读芯术”,了解相关信息可以关注“读芯术”
云栖号:https://www.aliyun.com/#module-yedOfott8
第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
可以减少环境影响的5种物联网应用
云栖号:https://www.aliyun.com/#module-yedOfott8第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策! 不断升级的环境危机已成为当今最紧迫的问题之一。 然而,被称为物联网的现代技术可以更好地为人类服务。无线技术连接了已适应许多管理流程的各种设备、传感器和无人机,并以无害环境的方式成功地完成了任务。 可持续城市和社区、负担得起的清洁能源、负责任的消费和生产——这些都是联合国2030年可持续发展议程的主要目标。 有趣的事实: 您知道大气中6%的二氧化碳是由街道照明产生的吗?一些国家正在尝试通过安装智能路灯来减少排放。智能传感器跟踪街道有多少车或人,并使用这些数据来调节照明亮度。 但是,物联网技术还能给环境带来什么好处? 垃圾管理物联网 另一个问题是垃圾的无序收集。 幸运的是,现在市场上有智能解决方案。垃圾卡车的自动路径优化越来越受欢迎,管理人员可以为其规划一条自动路线,该路线可以优先处理急需清洁的区域。 应用程序可以远程跟踪智能垃圾箱:一旦垃圾箱需要清空,系统会立即发送警报。这种智能解决方案可提高城市垃圾...
- 下一篇
Novel 1.2.1 发布,支持更多的文件存储
Novelv1.2.1已发布,更新日志: 新增cos和minio文件存储功能。 修改了oss的初始化方式为builder,同步官网。 调整了在程序启动时自动检测创建bucketName。 调整了GlobalUtil中静态变量注入问题,不再使用PostConstruct来赋值。 其他细节优化 # Novel简介 一直想做一款后台管理系统,看了很多优秀的开源项目,从中发现了若依开源框架,从她出现以来就一直关注,但发现其中的功能太过强大,部分功能也不太适合自己,并且自己也一直想要动手学习一下若依的强大之处,便有了自己现在的novel。 它可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA等等,当然,您也可以对她进行深度定制,以做出更强系统。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。 # 内置功能 1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。 3. 岗位管理:配置系统用户...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群