首页 > 编程语言 >技术老鸟告诉你Python为什么能一跃成为世界排名第一的语言

技术老鸟告诉你Python为什么能一跃成为世界排名第一的语言

时间:2023-04-17 12:02:51浏览次数:40  
标签:世界排名 场景 Java 语言 编程语言 Python 数据 老鸟

本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注"慕课网"!

作者:大周|慕课网讲师


一、前言

本文将结合个人经历为各位同学客观的分析是否有学习Python的必要、Python适合谁学、为什么要学,希望能够给看到此文章的同学一点建议,树立学习目标,让学习有结果。
读完后,相信你一定能够有所收获。


二、简述个人经历

本人2010年入行,入行已十余载,历任测试岗、前后端开发岗、大数据、AI等岗位,可以说对互联网技术各岗位都有较深的理解,对各类语言也有较深的使用经历和体会。


三、没有最好的语言

TIOBE每年都会为编程语言进行排行,而近两年为何Python能够蝉联榜首?

技术老鸟告诉你Python为什么能一跃成为世界排名第一的语言_Python

是不是现在Python就是世界上最好的语言了呢?

而我的答案是:当然不是,世界上没有最好的编程语言。而只有在某一场景下最适合的编程语言,所以编程语言才会百花齐放。
所以对于我们来说,也没有必要执着于到底哪门编程语言是最好的,哪门编程语言能够通吃所有场景。即便是能够通吃所有场景,但在某些场景下也并不是最好的解决方案,早晚可能出问题。


四、Python的发展正如大多数的我们

Python语言面世于90年代初,并不是一门新语言,而Python在面世之初的十几年里表现平平无奇,而近些年飞速发展?

技术老鸟告诉你Python为什么能一跃成为世界排名第一的语言_数据_02

我认为在最初的十几年里Python并没有找到自己最好的定位,到底解决哪些场景的问题。

比如:

  • Java语言的定位就是大型网站的高并发问题,比如淘宝、京东等大型电商网站全部用的都是Java。
  • C/C++,主打的就是安全高效,所以国内的大型金融类网站,如银行系统、证券交易系统等用的都是C/C++。

而Python并不知道应该在哪个方向能突破自己,当年的中小型网站的快速建站有PHP,客户端开发有C#。

这好像有点像职业发展迷茫的我们,有时陷于迷茫不知往哪个方向前进。

技术老鸟告诉你Python为什么能一跃成为世界排名第一的语言_Python_03

五、Python发展的契机

5.1 质量体系搭建

我最初接触Python大概是在10年前,也就是2013年前后,当时还是Python2的版本,项目里需要带一群没有编程经验的小伙伴快速构建一套质量管理体系平台,采用什么语言就非常重要了,如果让他们学习Java,那大大的拖慢了项目的进度,于是Python就进入了我的视线。
但当时Python在国内也并不是一个很大众的语言,在世界编程语言排行榜中大概第六的样子,国内用的并不是很多。
但有了这次的使用经历后,Python给我的第一印象就是上手容易,当之无愧的第一易学的编程语言


5.2 离线大数据的数据处理

随着各项技术的突破,大数据开始得到了快速发展,而Python易上手的特点得到了最好的发挥,同时开发效率要远远高于其它编程语言同样的时间、同样的工作,使用Python可以更快速的完成项目

Python在数据处理方面得到了很好的应用,毕竟Python的语言表达比纯SQL的逻辑更让人容易明白,也并不会给数据库带来更大的压力。

当时我所带的项目中:

  • C端网站类的项目采用Java语言
  • 测试平台、自动化测试等质量控制方向采用了Python
  • 实时大数据计算应用的是Java语言
  • 离线数据平台的数据逻辑加工及运算全部采用的是Python,当然今天也有很多人直接用的SQL,毕竟习惯是不同的,个人喜好也不相同,这一点不做强求。


5.3 数据分析

最早的数据分析师采用的分析工具都是Excel,但Excel很难对大规模数据进行处理,大数据时代下大规模数据的处理已成为常态,而此时我推进了公司内部数据分析团队全部采用Python语言进行分析模型的落地。
这一方面也得到了很好的应用,数据处理效率和数据规模都得到了很大的提升

而事实也证明,我的决策是正确的,Python语言在质量控制系统、数据分析及分析平台构建、数据加工处理等方面均表现良好


5.4 网站开发

由于经过了这样发展历程的语言普及,Python走入到了更多人的视线,Python开始反扑web开发市场,直到今天Python占有了很多中小型网站快速建站的市场,在这个方面吞噬了很多原PHP语言的场景。当然也有很多人能够举例说明世界范围内哪些大型网站是使用Python来进行开发的,我并不否认Python也有这方面的能力,但市场上确实在高并发场景中Java应用的是最多的,我并不想误导大家。
还是那句话,我们需要把最恰当的工具用在最适合它的场景。

5.5 人工智能

人工智能是一个不得不提的场景,我2014年开始落地AI方向项目,也带过算法团队,当时做的是知识图谱方向的项目,当时的一些算法工程师应用的是MATLAB来进行算法模型的落地,不能说效率不高,毕竟当时都用这个,但随着人工智能的市场规模扩大,很多算法工程师都开始应用Python来进行算法开发和应用,毕竟它易上手、效率高、拥有丰富的扩展库,看到这篇文章的同学应该做这方面的不多,所以我也不做太深入的说明了,简单提一下。


六、未来的发展

国家政策:在过去的十四五规划以及二十大会议中都提到了建设数字中国
在各大企业的数字化转型中,技术选型又是一个避不开的话题。如何能够快速达成成为数字化企业的目标,那培养数字化人才又成了一个不得不谈论的话题,这里我就不展开细说了,大家如果对数字化感兴趣,那么可以到百度上搜索"周景阳 数字化",可以搜索到相关的一些信息,我在一些数字化峰会上做过一些数字化人才培养的演讲和分享,如果你再感兴趣,那么可以找到我,我们再进行仔细的讨论。

简单来说就是企业要形成数据资产,员工要学会使用数据来给企业创造价值。
那么上面咱们说过,Python在数据处理、数据理解、数据展示等方面都有优异的表现。
那么未来如果想成为数字化人才,Python就是你不得不掌握的一门具有核心竞争力的语言


七、适合谁学

如果你拥有以下场景的问题需要解决,我建议你还是掌握Python会大大的提高你的工作效率以及职场的核心竞争力

  • 快速进行网站开发,如中型及小型网站的快速建站,Python的速度会远远高于Java,市面上绝大部分网站其实都属于中小型网站
  • 质量平台开发,如自动化测试平台、性能测试平台等
  • 运维平台开发,如果你是运维工程师或DBA,Python将会更好的替代shell,能够更能提高你的工作效率,并且能够让你的工作更容易拿到成果,因为我带过的运维及DBA都因为自己能够独立搭建一套自动化运维平台而薪资得到了大幅的提升。
  • 数据分析,如果你是数据分析师,要解决数据分析的场景,Python将会成为你的核心竞争力
  • ETL,不要仅仅会写SQL了,这个技能所有的ETL都会,学会Python不仅提高你的工作效率,而且能够让你具有数据加工平台搭建的能力
  • 自动化办公,如果你恰好是财务、人力、法律、金融等相关岗位,一定一定要学习一下Python,这是你成为数字化人才的必备路线,我有很多朋友在金融体系里工作,部分国央企已经发文提倡全员掌握Python了,如中信银行去年就发了文件讲述了Python对于所有岗位的重要性,要求掌握。我相信在不久之后,会有更多的企业提出这样的要求,如果你能先人一步,那会极大提高你的职场竞争力。
  • 算法工程师,算法并不仅仅需要掌握那些科学计算库,你需要更好的与工程的同学进行配合,未来也需要进行算法平台开发,这样你才能显得与别人不同,才能拉开与别人的差距。

可能Python还会适合一些其他的场景,这由同学们继续挖掘,以上纯粹是我个人的经历,我应用过的方向,给同学们一些建议。

最后,正是由于Python找到了自己的精准定位,才能一跃成为世界编程语言排行榜榜首的位置,精准的解决部分场景的问题。而你,也可以应用Python成为你职业发展的助力,让你的职业规划更上一层楼。


欢迎关注「慕课网」帐号,我们会一直坚持内容原创,提供IT圈优质内容,分享干货知识,大家一起共同成长吧!

本文原创发布于慕课网 ,转载请注明出处,谢谢合作


标签:世界排名,场景,Java,语言,编程语言,Python,数据,老鸟
From: https://blog.51cto.com/u_15771948/6194894

相关文章

  • 记录selenium,python自动化测试中的chromedriver.exe地址和打开后自动关闭浏览器问题
    selenium的官方地址为:https://selenium-python.readthedocs.io/index.html镜像地址:https://npmmirror.com/#导入webdriverfromseleniumimportwebdriverfromselenium.webdriver.common.byimportBy#调用键盘按键操作时需要引入的Keys包fromselenium.webdriver.common.k......
  • [python] Python枚举模块enum总结
    枚举是一种数据类型,在编程中用于表示一组相关的常量。枚举中的每个常量都有一个名称和一个对应的值,可以用于增强代码的可读性和可维护性。在Python中,枚举是由enum模块提供的,而不是Python提供专用的枚举语法。关于enum模块介绍见:enum。如需详细了解Python的enum模块,参见文章:Python......
  • python代码:基于强化学习的智能电网的动态定价方法
    python代码:基于强化学习的智能电网的动态定价方法摘要:提出了一种考虑服务提供商(SP)利润和用户(CUs)成本的分级电力市场中能量管理的动态定价DR算法。使用强化学习(RL)描述分层决策框架,将动态定价问题描述为离散有限马尔可夫决策过程(MDP),并采用Q学习求解该决策问题。使用RL,S......
  • python报错:divide by zero encountered in log
    原因:数字太小的原因,溢出,计算过程中出现-inf,再做其他运算,结果还是-inf。当概率很小时,取对数后结果趋于负无穷大解决:改变浮点数的精度参考:(51条消息)RuntimeWarning:dividebyzeroencounteredinlog错误解决_旅途中的宽~的博客-CSDN博客......
  • 关于Python爬虫使用技巧
    首先,Python是一种非常流行的编程语言,拥有广泛的应用领域,例如数据分析、人工智能、Web开发等。如果您是初学者,可以开始学习基础的语法和概念,例如变量、数据类型、循环、函数等等。许多在线资源可以提供学习资料。其次,Python拥有大量的第三方库和框架,可以帮助您提高开发效率并处理......
  • Python哪种方式循环最快
    众所周知,Python不是一种执行效率较高的语言。此外在任何语言中,循环都是一种非常消耗时间的操作。假如任意一种简单的单步操作耗费的时间为1个单位,将此操作重复执行上万次,最终耗费的时间也将增长上万倍。while和for是Python中常用的两种实现循环的关键字,它们的运行效率实际上是......
  • python3-list
    1、介绍builtins.py文件中定义了list类,用于处理python中列表数据。list也是python的基本数据类型之一。列表是单列的元素集合,用[]包围,内部元素之间用,分隔列表的元素可以是任意类型,且某一列表中可以同时包含不同类型列表支持元素的增删改列表支持数值索引元素不会进行默认......
  • python3-tuple
    1、介绍builtins.py文件中定义了tuple类,用于处理python中元组数据。tuple也是python的基本数据类型之一。元组是单列的元素集合,用()包围,内部元素之间用,分隔元组的元素可以是任意类型,且某一元组中可以同时包含不同类型元组定义后不支持对容量和元素的修改元组支持数值索引......
  • python3-set
    1、介绍builtins.py文件中定义了set类,用于处理python中集合数据。set也是python的基本数据类型之一。集合是单列的元素集合,用{}包围,内部元素之间用,分隔集合的元素可以是任意类型,且某一集合中可以同时包含不同类型集合定义后可以进行增删改集合不支持数值索引set是无序集......
  • python3-dict
    1、介绍builtins.py文件中定义了dict类,用于处理python中字典数据。list也是python的基本数据类型之一。2、类classdict(object):def__init__(self,seq=None,**kwargs):pass3、字面量初始化键必须是number、str和tuple这几种不可变类型,值可以是任意类型......