所以,不仅为我自己,为了每一位学员,我决定深入探讨一下Python之兴起背后的原因,来试图了解为什么今天有这么多的人在学习该语言,明年是否还是同样的理由,这些答案对你,对我以及我们的事业,又意味着什么。
01 Python的兴起
编程语言总是来了又去了。Python最近的受欢迎程度,令人着迷。不久前,很多人认为它已经死了。
1999年,Perl编程语言的创始人拉里·沃尔(Larry Wall)向其坚实的粉丝们发表了他的第三个年度主题演讲。在演讲中,他公布了在职业网站dice.com上绘制的对各种语言的需求:
▲图片来源: wall.org
正如你所看到的,那时Python没有被登记。作为一个很偏门的语言,Python当时几乎没有什么知名度。沃尔特称:"对Python程序员或许根本没什么大量需求,而且,Python程序员很容易找到,根本不用在dice.com登广告。”
有趣的是Python变得更强大了。去年秋天,堆栈溢出(Stack Overflow)证实,在他们的网站上,有关Python问题的访问者的数量,增长得比其他任何语言的都快,这让Python有资格声称它是世界上增长最快的主要编程语言之一。
在Codecademy上注册免费Python课程的用户人数,也显示出对这一说法的支持——目前正在Codecademy上学习Python的用户数量比去年同期增加了34%。
那么,为什么该语言如此迅速地受到欢迎呢?
▲图片来源: languagehealth.com
02 为什么是Python?
Stack Overflow将其归结为一个主要原因:Python的兴起与人们对数据科学兴趣的兴起相关。
他们的分析非常吸引人,值得一读,但是太长了,别读了:D, 简而言之,"Python在数据科学和机器学习方面的普及可能是其快速发展的主要动力。”我不会多费口舌来介绍了,这两项是 2017年最令人瞩目的技术趋势。
不过,这里仍有一个重大问题。有其他大量编程语言,如SQL和R,可以在数据科学领域一展拳脚。但为什么这么多人选择了Python呢?
一个主要的因素是Python的多功能性。有超过125,000的第三方Python库。这些库使得Python从从事传统的(例如web开发,文本处理)到最新的(例如AI和机器学习)特定任务变得更为上手。例如,生物学家可能会使用Biopython库来帮助他们进行基因测序。
此外,Python已经成为数据分析的首选语言。对于像pandas,NumPy和matplotlib这样以数据为中心的库,任何熟悉Python语法和规则的人都可以将其部署为处理,操作和可视化数据的强大工具。
我们的数据分析课程开发人员和Codecademy的首席数据科学家Hillary Green-Lerman每天都在使用这些Python库。作为一名数据科学家,她将Python描述为一种编程语言中"一种非常美妙的,吸取了各种长处的工具”。
"如果你想做简单的事情,那可能是一行代码。如果你想做一些非常复杂的事情,你也能很好地控制它。”
鉴于其对数据分析的多功能性和适用性,一个每一天都变得越来越重要的技能,我很清楚,Python将占据重要位置。所以如果对数据的读写是我的首要任务之一,那我应该开始使用Python吗?
03 主修商科的人学习Python
Hillary把Python称为编程语言中"一种非常美妙的,吸取了各种长处的工具”,因为它可以做她所需要的东西,但她是一名专业的数据科学家。我不是,所以我的要求和她的要求会有些不同。Python能否给像我这样的人的带来任何好处呢?
我不想为了成为一名数据科学家,或是软件工程师而学习Python。相反,我的目标更专注于提高对数据分析的掌握水平,为Web开发使用编程的技能,或是为我今后职业生涯中可能出现的任何其他技术需求而做好准备。
我不是唯一一个有这种想法的人。越来越多寻求编程知识的人不希望成为全职的软件开发人员或数据科学家。相反,营销人员,项目经理和企业家等一些专业人士正在使用编程的技巧来更好地从事他们的工作。这些人或是正在寻找最新的知识,或是没有时间为每个目的而学习一种新的编程语言。
Python在非技术领域吸引了我们这些人,在不受任何限制的情况下,它可以轻松地实现数据分析功能,这成为商业世界中越来越重要的技能。
福布斯报道说,"数据驱动的决策越来越受欢迎。而在过去的几年里,分析师们一直在使用像Excel这样的软件来分析数据,只有学者才会转向SPSS,Stata等工具,现在这种情况正在改变。
即使作为一名内容营销人员,根据市场营销专家Andrew Chen的说法,通过学习数据,我可以更好地工作。
"增长黑客"的新职位正在融入硅谷的文化,强调编码和懂得技术正成为一个伟大的营销人员的重要组成部分。陈说,增长黑客是营销和编码的混合体。"他们将直接营销的侧重点置于量化测量的基础上,通过电子表格来进行模型设计以及大型的数据查询工作。”
当你读到"数据库查询”时,会想到SQL,Python和R。学习Python,似乎是许多做类似像我这样工作的人已经采取了的行动。
所以,下一个问题:我可以学习Python吗?正如我前面提到的,我的编码技能没有什么可写的。谢天谢地,Python是学习编程的首选语言。原因很简单,它直接,而且有很多已经建立起来的免费资源,使得学起来很容易上手。
它有些近似严格的语法规则使它保持了代码的一致性,所以不同人之间的代码看起来相似。即使是缺乏经验的人,也可以很方面的去阅读。
假设我想用Python 3打印下面一段。我会写:
print ("On the other hand, if I wanted to print the next paragraph in C++, I would have to write:”)#include int main() {std::cout << "All of that’s to say, Python is pretty simple in comparison. ";}
Python社区也很欢迎菜鸟程序员。正如Hillary所描述的那样,语言本身和围绕它的社区有这样的态度:"不要担心,如果出现问题,我们会保护你。”
尽管Python对于初学者来说非常棒,但它也拥有完成高级工作所需的全部功能。Hillary每天都在使用Python来处理和分析数百万来自Codecademy的学员的数据,她说:"你真的可以用Python做所有事情,有许多真正的,严谨的人在使用它。”她继续说:"Python会和你一起成长。开始会很容易,但当有一天,你决定要做自然语言处理,机器学习或者TensorFlow时,它也会变得非常相关。你也可以做到这一切,因为它是一个完整的语言。”
在我们的"2017年全球未来工作报告”中,我们发现,我们的学员正朝着Python方向发展,然后就没再离开。已经使用Codecademy学习过其他语言的人(40%)要学习Python, 这比学习过Python的人要学习其他语言(25-30%)的比例要高。这个数据看起来和Hillary的观点是一致的——你可以用Python做很多事情,这可能是像我这样的人唯一需要的语言。
04 所以接下来呢?
我清楚地知道,Python是编程语言的瑞士军刀——一种多用途的工具,可以用于任何职业。出于这个原因,我相信它不会很快地消失。
对于新手编程员,市场营销人员,业务分析师,银行家以及任何想要更多使用数据的人来说,这都是理想之选。