我觉得并不会被淘汰,只是应用场景决定了最好的语言。

大数据文摘出品

来源:medium

编译:陈之炎、coolboy

自从20世纪90年代初发布以来,Python一直相当火爆,在这二十多年里,它的流行程度远远超过了C、C#、Java甚至Javascript。

虽然Python在数据科学和机器学习领域占主导地位,甚至是科学和数学计算领域的主角,但与Julia、Swift和Java等语言相比,它确实有些欠缺。

为什么Python如此受欢迎?

Python迅猛发展背后的一个主要驱动力是它学习起来相当容易,使用起来功能强大。对于初学者来说,像C/C++这样有难度的编程语言,不熟悉语法的人都会敬而远之,所以Python显得非常有吸引力。

语言的核心是代码可读性,Python的语法简洁而富有表现力,开发人员无需编写大量代码,便可以表达想法和概念 (C或Java等底层语言的情况也是如此)。它非常地简单, 并可以与其他编程语言无缝集成 (比如将CPU密集型任务交付予C/C++)。用Python语言开发会给开发人员带来许多好处。

Python应用广泛的另一个原因是它被企业大量使用 (包括FAANG)。今天,对于你能想象到的任何项目,你都可以找到一个相应的Python包----科学计算的有Numpy,机器学习的有Sklearn,计算机视觉的有Caer。

Python的弱点

它很慢,太慢了。

不用多说,速度通常是开发人员最为关注的焦点之一。不仅是现在,将来的很长一段时间都会如此。

Python“缓慢”的主要原因,可以归结为以下两点----首先,Python是解释性的语言,而不是编译型的语言,这终究会导致执行时间的缓慢;其次,它是一种动态的语言 (变量的数据类型在执行期间由Python自动推断)。

初学者经常对“Python的确太慢”的说法产生争议,事实上,的确如此,但也并非完全这样。

例如, Python的机器学习库TensorFlow实际上是用C++编写的,在Python中进行调用而已,是在C++的上层实现的一个Python“封装器”。Numpy是如此,Caer也是类似的形式。

Python有一个GIL(L)

Python缓慢的主要原因之一是GIL(Global Interpreter Lock)的存在--它一次只允许一个线程执行。这虽然有助于提高单线程的性能,但限制了并行性,而开发人员为了提高速度必须实现多线程处理程序。

不是内存密集型任务的最佳选择

当对象超出范围时,Python会自动进行垃圾收集。其目的是消除C和C++在内存管理中涉及的许多复杂性。由于指定的数据类型缺乏灵活性,Python消耗的内存量可能会迅速爆增。

此外,在运行时,一些BUG 可能会被Python忽略,最终成为延缓开发过程的主要诱因。

在移动计算中表现牵强

随着从台式机到智能手机的迁移,显然,人们需要为手机软件构建更强大的语言。虽然Python在计算机和服务器平台上有不错的表现,但由于缺乏强大的移动计算处理能力,在移动开发中它往往会失去优势。

近年来,(Python)在这方面有了很大的进步,但这些新增加的库与他们强大的竞争对手相比,如Kotlin,Swift和Java,还相去甚远。

其他语言的兴起

最近,像Julia、Rust和Swift这些新出现的语言,借用了Python、C/C和Java的许多良好设计概念——Rust确保了运行时的内存安全和并行,并提供了与Web Assembly的一样的互操作性;由于它支持LLVM编译器工具链,Swift几乎和C一样快;Julia提供了用于I/O(输入/输出)密集任务的异步I/O,而且速度惊人。

结论

Python并非最好的编程语言,它无法取代C/C++和Java。它被打造成一种通用的编程语言,强调可读性、以英语为中心的语法。人们利用它可以快速开发程序和应用程序。

和其他语言一样,Python只是一种工具。某些应用场景下,它是最好的工具;在另一种场景下,它或许不是。在大多数情况下,它 “挺好用的”。

那么,作为一种编程语言,Python会消亡吗?

我不这么认为。

它逐渐失去魅力了吗?

啊,也许只是一点点,只是一点点。

Python正在褪色,最晚2030年就被淘汰相关推荐

  1. 27岁自学Python转行靠谱吗?入行晚吗?

    前言 今年已经奔三的小编来给大家说说,之前自己也是在一个普通的二本院校上学,学的还是工商管理,毕竟读书的时候电视剧里面的主角都是工商管理的大佬. 不过在毕业之后就经历了社会的毒打,后面小编就想去换一个 ...

  2. 28岁自学Python转行靠谱吗?入行晚吗?

    本人28岁了 毕业于一个普通的二本院校,工科男,学的是计算机科学与技术. 做了三年的软件应用开发,现在做Android开发,越来越感觉到力不从心,很多技术需要从头学起,压力太大,自己没有太多的天赋学习 ...

  3. r语言和python-r语言和python

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! r的取值范围是,r=1表示完全正相关! r=-1表示完全负相关! r=0表示完全 ...

  4. 平院Python习题

    在读写文件之前,用于创建文件对象的函数是( A ). A. open B. create C. file D.folder 解析: open(file, mode='r', buffering=-1, ...

  5. 云漫圈 | 学Python还是Java, 8张漫画带你全面分析

    戳蓝字"CSDN云计算"关注我们哦! 作者:Leoxin 来源:菜鸟学Python Java和Python两门语言都是目前非常热门的语言,可谓北乔峰南慕容,二者不分上下,棋逢对手. ...

  6. python求正整数的百位部分_Python程序设计课后习题答案

    习题1 一.选择题 1.Python语言属于().C A.机器语言 B.汇编语言 C.高级语言 D.科学计算语言2.下列选项中,不属于Python特点的是().B A.面向对象 B.运行效率高 C.可 ...

  7. python课后题答案第一章_Python程序设计课后习题答案-第一单元

    1 习题 1 一.选择题 1 . Python 语言属于( ) . C A . 机器语言 B . 汇编语言 C .高级语言 D .科学计算语言 2 .下列选项中,不属于 Python 特点的是( ) ...

  8. python程序设计课后答案第三单元_最新Python程序设计课后习题答案-第一单元

    精品文档 精品文档习题1 一.选择题 1.Python语言属于().C A.机器语言 B.汇编语言 C.高级语言 D.科学计算语言2.下列选项中,不属于Python特点的是().B A.面向对象 B. ...

  9. 学习python可以从事哪些工作_学习Python可以从事哪些工作呢?

    相比其他编程语言,Python虽然起步较晚,但随着人工智能时代的到来以及国家政策的支持得到迅猛发展.很多的知名企业都或多或少的使用Python进行开发,对于Python开发人才的需求也一直居高不下.为 ...

最新文章

  1. 科普:BCH能够买什么?如何使用BCH买东西?
  2. All cached global options setting for WordPress
  3. asp.net core结合Gitlab-CI实现自动化部署
  4. hadoop 2.7 java_Hadoop2.7环境搭建---Java环境变量
  5. [vue] vue过渡动画实现的方式有哪些?
  6. 易语言窗口c_句柄取进程名,易语言窗口句柄取进程文件名源码
  7. python def和lambda的应用
  8. Redis实践操作之—— keyspace notification(键空间通知)
  9. Windows下将txt导入MySQL及远程连接设置
  10. 从键盘录入10个整数,统计有多少个奇数,Java基础轻松实现
  11. 越狱团队否认收钱并中止与太极合作
  12. hitool java_第三章:使用HiTool下载程序
  13. windows脚本编写及使用方法
  14. 中国粮食安全问题及其应对措施
  15. DAP-seq助力胡杨耐盐机制的研究Populus euphratica WRKY1 binds the promoter of H+-ATPase gene to enhance gene expr
  16. python interpreter下载_Piton - Python interpreter
  17. 下载 bilibili 视频字幕文件
  18. 虚拟机里运行的windows10突然变卡
  19. 男人心疼女人的13种方式
  20. 阿里云过户找不到账号安全组ID问题

热门文章

  1. 怎么写显示商品图片_虾皮商店封面图片 虾皮商店介绍怎么写吸引人
  2. 排序——归并排序和快速排序
  3. python之堡垒机(第九天)
  4. bootstrop 日期控件 datepicker被弹出框dialog覆盖的解决办法
  5. SimpleXML操控XML
  6. Electro桌面应用开发之HelloWorld
  7. 【HDU3530】 [Sdoi2014]数数 (AC自动机+数位DP)
  8. MySql表大小、行大小和列大小的限制
  9. (转)Spring Boot(七):Mybatis 多数据源最简解决方案
  10. (转) 分布式文件存储FastDFS(一)初识FastDFS