TIP01:为什么要选择Python

在本文章中,作者尽量通过自身的经历,力求客观的谈谈作者个人选择学习Python的动机。

  1. 从流行的Java看IT技术的趋势;
  2. 选择Python不仅仅是选择一门语言;
  3. 选择Python用来做什么;
  4. 抓住机遇

  当Java开发人员满大街都是的时候,职业的竞争就变得残酷起来;当每天使用ctrl+c、ctrl+v编写代码的时候,我们总想改变点什么;
  有志者,利用业余时间跟踪着各种眼花缭乱的新语言与新技术:go语言、julia语言、swift语言、volidity语言、python语言以及Hadoop、Spark、Storm、SmartBI、智能合约、以太坊、机器学习、神经网络、Tensorflow、Docker。没有关注过这些概念的童鞋,那就更是雾里看花、如痴如醉。
  我们学技术做什么?挣钱,实现小小的财务自由,如果是这样,我们跟踪新技术,新的语法就有明显的方向感(有崇高的拯救人类使命的人,排除在我交流的人群以外)。
  下面我们就从目前比较流行的开发技术Java来说起,因为Java已经几年蝉联开发语言的宝座(TIOBE[1]排名):

TIP01:为什么要选择Python_第1张图片
2017年与2018年开发语言排名

一、从流行的Java看IT技术的趋势

1. Java成功的基因

  因电视机机顶盒、微波炉等硬件应用开发,Java起于1990年,发布于1992年;但从Java诞生开始,Java除了能解决一些硬件开发项目以外,一直默默无闻;
  但从1990年,第一款浏览器[2]诞生开始,就一直纠结于静态页面缺乏良好的交互性,Java发挥嵌入式优势(嵌入浏览器中动态执行)提供Applet技术实现,暂时解决了早起网页的交互性(鄙人就是在2000年左右看见第一款用JavaApplet编写的网页3D菜单而被Java所吸引)。后来浏览器厂商(NetScape公司)借鉴Java的语法,制定了Javascript语言标准,才算彻底解决了网页的动态交互问题。
  1998年,当时的Sun公司,把Java细分为J2SE、J2ME、J2EE、JCard等应用技术领域,通过在美国证券交易所取得完整的企业信息管理与交易系统的商业成功,开始逐步取代当时的ASP与PHP(后来PHP在国内借助页游春回二度就是题外话了)占领取企业开发市场的。其中J2EE(现在官方称呼已经更名为JavaEE)在企业中借助开源,如火如荼发展处各种各样的开源框架技术,取得目前所拥有的霸主地位。
  Java的成功目前主要在于两个市场:(1)移动开发市场(主要是Android,J2ME在2008年就基本上随着Nokia的被收购,丢失市场份额);(2)企业开发市场。这两个市场的成功不是偶然的,都是基于Java的两个基因:嵌入式与互联网基因。

TIP01:为什么要选择Python_第2张图片
Java的故事

2. Java的定格

  当中国信息化基本上完整结构性建设后,现在面临的是大量企业因信息化产生的业务数据的处理问题与价值挖掘的需求。而传统的信息化建设将面临天花板。有一个迹象可以反馈出来:很多高等院校的外包服务专业开始取消,部分软件学院开始改名为数据科学和大数据应用。
  正是因为Java对信息化建设的成功,开启了一个新的时代【大数据时代】,传统的Java尽管擅长构建大数据信息化框架,却不擅长数据的分析处理;工程师们开始尝试新的技术:Scala语言,R语言,Matlab语言,Python语言等等。

TIP01:为什么要选择Python_第3张图片
Java、大数据与数据分析

  从目前各种迹象(企业招聘,语言排名等)看来Python应该是暂时领先,这得力于Python的厚积薄发。下面是鄙人个人出于职业求职原因,在Boss直聘2年来关注的职业信息:
TIP01:为什么要选择Python_第4张图片
算法工程师与Python工程师

二、选择Python不仅仅是选择一门语言

1. 选Python就是选择趋势

  语言本身不具备生命力,其生命力来自企业应用(正如软件开发是一种寄生产业一样,没有产业就没有信息化;产业是朝阳产业,软件开发就欣欣向上;所以软件开发除了选技术,还要在掌握技术后,选择产业;比如现在很多人选择电商开发就是一种潮流)
  所以我们选择Python不是因为Python本身,而是产业因为数据处理的需求,选择了Python,我们也选择Python就是选择了数据分析的企业需求与职业机会。Python绑在螃蟹上就是螃蟹价,绑在白菜上就是白菜价。
  我们选择Python就是选择了一种企业技术趋势--数据分析,可能在N年后,Python会被其他语言替代(Swift语言,Julia语言,Go语言都虎视眈眈,奔新的技术趋势而来。不过我认为因为都是新兴语言,还是缺乏积累,可以值得关注,不值得消耗过分的学习成本)。

  下面是Python的发展,其历史沉淀足矣支撑企业新技术开发。
TIP01:为什么要选择Python_第5张图片
Python的发展足够厚重,只是缺少一个机会

  Python长期在学术界与科研界使用,当算法等从学术殿堂走向产业的时候,Python被选择是丝毫不奇怪的。

2. Python所代表的企业技术趋势

  实际上P数据分析仅仅是开始,因数据分析的商业应用触发,数据分析从框架剥离出来,形成单独的技术:数据科学;当剥离数据后,核心就是算法,而算法是人工智能的强项,人工智能散发第三春,开启商业应用之路。
TIP01:为什么要选择Python_第6张图片
大数据应用->数据科学->人工智能

  其实Java在企业信息化的成功应用后时代,应该是智能时代,以智能算法为核心的新的商业应用蓬勃发展:智能算法像水银一样倾泄到各种传统商业应用,产生各种创新。

三、我们选择Python用来做什么?

  既然我们选择了Python,就决定我们把Python当成一把斩刀,既在传统应用有所作为,也在新兴领域建功立业。
  实际上,作为一门语言,很多Java能实现的,使用Python都能实现,但在运维,科学计算是Python的传统领域强项(Python早起的初衷是给非计算机专业的人群开发的)

1. 传统领域(语言本身的功能)

  系统运维,网络编程,GUI用户界面,数据库(关系数据库与NoSQL数据库)访问,数据解析(正则表达式与JSON、XML数据),游戏(OpenGL),Web服务开发,自动化测试,其他第三方独特的应用(文档处理等等)

2. 新兴领域(语言具备的计算功能)

  数据计算,机器学习深度学习(神经网络),数据分析数据采集(爬虫),计算框架(Tensorflow等),数据可视化

四、Python对程序员的机遇

  机遇从不同的角度,可能机会不同。我谈点自己的感悟:

(1)在职因为公司战略调整,想降低职业危机的人群可以投入精力学习,比如鄙人。尤其公司因项目给你提供这个转向的机会,不抓住机会的人就不是正常人
(2)其他行业不好混,想转行IT的,从Java与Python中选择,我个人倾向于Python。
(3)在校学生,我建议与其花精力在Java,还不如学习Python,强烈建议数学相关专业(数学,统计,金融数学等),物理专业,电子、通信专业的学生可以借助Python把你们的数学优势发挥淋漓至尽,当然计算机与软件相关专业的,在这个时代不学点Python,不了解下数据分析与人工智能,出门容易遭受鄙视((⚈᷁‿᷇⚈᷁)^ ͜• ^)。


  1. 【TIOBE】
      TIOBE排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo!)以及Wikipedia、Amazon、YouTube统计出排名数据,只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。可以阅读百度百科 ↩

  2. 【第一款浏览器】:
      蒂姆·伯纳斯-李是第一个使用超文本来分享资讯的人。他于1990年发明了第一个网页浏览器WorldWideWeb,后来改名为Nexus。在1991年3月,他把这个发明介绍给了他在CERN工作的朋友。从那时起,浏览器的发展就和网络的发展联系在了一起。可以阅读百度百科 ↩

你可能感兴趣的:(TIP01:为什么要选择Python)