平凡的Python为什么能一跃成为世界排名第一的语言

news2024/11/27 14:46:30

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

作者:大周|慕课网讲师


一、前言

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

二、简述个人经历

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

三、没有最好的语言

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

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

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

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

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

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

比如:

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

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

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

五、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圈优质内容,分享干货知识,大家一起共同成长吧!

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/423569.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

webgl-画三角形

html <!DOCTYPE html> <head> <style> *{ margin: 0px; padding: 0px; } </style> </head> <body> <canvas id webgl> 您的浏览器不支持HTML5,请更换浏览器 </canvas> <script src"./main.js"></script&g…

007:Mapbox GL实现地图地点搜索定位功能

第007个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中实现地图地点搜索定位功能 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共68行)安装插件相关API参考:专栏目标示例效果 配置方式 1)查看基础设…

linux 命名管道 mkfifo

专栏内容&#xff1a;linux下并发编程个人主页&#xff1a;我的主页座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物&#xff0e;目录 前言 概述 原理介绍 接口说明 代码演示 结尾 前言 本专栏主要分享linux下并发编程…

HBU 2023 Simple problem set

目录 7-1 递推公式 7-2 存钱罐 7-3 买东西 7-4 双重子串 7-5 放小球 7-6 最短路径 7-7 统计子序列的个数 7-8 摆放灯笼 7-9 选零食 7-10 1还是2 7-11 最少的门禁数量 7-12 青春猪头之开学了要好好学习 7-13 青春猪头之毕设真头大 7-14 青春猪头之我没学过C语言 7-15 发射小球 7…

FreeRTOS 列表和列表项

文章目录一、什么是列表和列表项&#xff1f;二、列表和列表项初始化三、列表项插入四、列表项末尾插入五、列表项的删除六、列表的遍历七、列表项的插入和删除实验一、什么是列表和列表项&#xff1f; 1. 列表 列表是 FreeRTOS 中的一个数据结构&#xff0c;概念上和链表有点…

【九】springboot启动源码 - refreshContext结束后

afterRefresh 钩子函数,默认实现为空 listeners.started 执行实现SpringApplicationRunListener的started回调 通用处理 this.listeners在之前已经通过SPI加载 获取SpringApplicationRunListener的实现类 EventPublishingRunListener 推送ApplicationStartedEvent事件…

红队内网靶场

文章目录开篇介绍靶场介绍靶场下载以及配置Tomcat Get Shell突破DMZ防火墙拿下域内成员机器将内网机器上线到CS使用Adfind侦察子域信息控制子域DCRadmin登录子域进行权限维持(白银票据/ACL)子域bloodhound获取父域信息分析子域Krbtgt密钥创建跨域金票Dcsync父域PTH父域DC准备打…

Activity启动模式

Activity的启动模式 首先activity启动之后是放在任务栈中的&#xff0c;task stack&#xff0c;既然是栈&#xff0c;遵循先进后出原则。有玩家比喻oncreate是入栈&#xff0c;onDestroy是出栈。 同一个APP中&#xff0c;不同的activity可以设置为不同的启动模式。在manifest…

【深一点学习】我用CPU也能跟着沐神实现单发多框检测(SSD),从底层了解目标检测任务的实现过程,需要什么样的方法调用。《动手学深度学习》Yes,沐神,Yes

目标检测近年来已经取得了很重要的进展&#xff0c;主流的算法主要分为两个类型[1611.06612] RefineNet: Multi-Path Refinement Networks for High-Resolution Semantic Segmentation (arxiv.org)&#xff1a;&#xff08;1&#xff09;two-stage方法&#xff0c;如R-CNN系算法…

centos7.2-rh7.2安装docker的问题

目录1. 环境2. 问题排查2.1 failed to start daemon: error initializing graphdriver: overlay2: the backing xfs filesystem2.2 centos7.2内核bridge.ko问题2.3 kernel:unregister_netdevice: waiting for ... to become free. Usage count 12.4 离线安装依赖问题1. 环境 …

AC7811—FOC无感控制代码调试与测试

目录 滑膜观测器调试 开环调试 闭环调试 IF VF DIRECT IF VF DIRECT 磁链观测器 一次/两次预定位 脉冲注入 高频注入 直线or五段曲线 滑膜观测器调试 开环调试 PWM0 两通道接示波器后&#xff0c;屏幕上打印的是开环给定同步转速积分电角度和滑模观测器估计转子电…

【C++】从string开始了解STL

文章目录1.初识STL1.什么是STL2.STL的版本3.STL的六大组件2.string1.string类模板2.string类的构造函数3.string内部数据访问4.string的遍历5.string类的迭代器6.string的Capacity相关接口7.string的修改相关接口8.其他接口1.初识STL 1.什么是STL STL(standard template liba…

Kotlin在Android开发中的应用与实践

Kotlin在Android开发中的应用与实践 通过本篇文章你将了解到下面内容&#xff1a; 介绍Kotlin语言&#xff1a;简述Kotlin语言的背景、特点和优势&#xff0c;为什么Kotlin在Android开发中变得越来越流行。 Kotlin与Java的对比&#xff1a;对比Kotlin和Java在语法、编程范式、…

规模化敏捷框架:Scrum@Scale

Scrum 敏捷方法有助于团队成员之间更有效地合作&#xff0c;实现共同的业务目标。但是当一个组织想要扩展 Scrum 方法到更多的团队时&#xff0c;应该如何实施&#xff1f;Scrum 仅为单团队开发、交付和运维产品提供了一个框架&#xff0c;而 ScrumScale&#xff08;SS&#xf…

多模态 AI 开发者召集令|4月22日@深圳,等你参加!

四月春暖花开&#xff0c;Jina AI 联合好朋友 OpenMMLab 一起&#xff0c;共同举办第八期「中文社区面对面」活动&#xff0c;将于 4 月 22 日&#xff08;周六&#xff09;下午在 Alpha Bay 深圳智汇港湾孵化器举行。本活动也得到了亚马逊云科技 User Group深圳、Xtreme1 的大…

C++ std::cin

C std::cin相关概念使用1. 一个常见的使用场景&#xff1a;2. 用于静态对象的构造和析构函数中&#xff0c;访问标准输入/输出流是安全的。3. 作为 *while* 语句的条件4. 配合 *get*、*getline* 使用相关概念 istream 一个class&#xff0c;提供输入操作。cin 一个 istream 对…

javaweb游戏代练网站设计与实现

目 录 第1章 绪论 5 1.1 选题的依据及意义 5 1.2 国内外现状研究 6 1.3 研究目的 6 第2章 设计技术与开发环境 7 2.1 相关技术介绍 7 2.1.1 JSP简介 7 2.1.2 B/S模式分析 8 2.1.3 mysql简介 9 2.2 开发环境介绍 9 2.2.1 Myeclipse简介 9 2…

魔镜魔镜告诉我,如何挑选靠谱的硬件方案!

随着传统健身房半胁迫顾客进行数万元的预售、办卡后&#xff0c;分分钟遁地跑路的新闻已经在大家心中留下了深深的烙印&#xff0c;再加上良莠不齐的教练、器材质量、永远无法抢到的健身课、以及办卡之后就被“打入冷宫”……可真是苦了每一个无处安放的运动灵魂啊&#xff01;…

XCODE14生成的APP制作成IPA

1.用XCODE14生成Archives存档包 2.在Finder中显示 3.显示包内容 4.双击进入Products 5.双击进入Applications 6.复制生成的.App文件到Playload文件夹 压缩Playload文件夹成zip 重命名zip为ipa 在弹出 的 提示中 选择 Use .ipa 重命名IPA文件为自己的命名

【vscode】SSH连接远程服务器Host/容器

目录 1. 连接远程服务器 1.1 确保远程服务器Host上ssh打开 1.2 本地主机 1.2.1 安装ssh-client 1.2.2 安装vscode插件 1.2.3 通过密钥完成身份认证 1.2.4 SSH连接配置 2. Python代码跳转 3. C代码跳转 4. Git 历史记录 5. 连接远程服务器上的Docker容器&#xff08;易…