1

为什么初学编程我建议从Python开始

 2 years ago
source link: https://codechina.org/2020/04/python/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
为什么初学编程我建议从Python开始 – Tinyfool的个人网站

从1992年算起,我写程序已经写了28年,从2001年上班算起,我写程序也写了19年了。编程最早就是我的一个爱好,然后整个职业生涯编程养活了我,让我过了一个还不错的生活。到了这些年,我写文章的收入日益增长,变成主业。但是编程并没有离开我的生活,它又变成了我的一个爱好。

在92年的时候,我还刚上初中,我就认识到了,未来整个世界都会是被计算机驱动的。作为一个少年,我觉得我的前瞻能力还是蛮强大的。那个时候,其实对欧美来说,计算机也没那么普及,中国就更难说计算机有多大用处了。要知道这离互联网泡沫还有8年呢。对现代的这些生下来就玩互联网和手机的年轻人来说,简直就是史前年代的感觉。他们可能很难理解那时候的人类是怎么吃饭,娱乐和买东西的。

嗯,我就是从那个史前年代来的。

我学的第一个语言是Basic。简单易学,但是一直被诟病不够强大。后来,我不得不学了好多种语言。仅在工作之前,我就已经学过Pascal,C/C++,甚至我们大学当时还有Foxpro的课程。

我刚开始工作的,甚至在我工作了很多年,一直都有一种学啥都不如C++的鄙视链。最早在中国,玩Java的人都会被嘲笑没有办法接触系统底层。我们的技术社区也曾经经常有过一些,“国外某名校用Java教编程”,“用Python教编程”,这样会不会让一代程序员变成不懂系统底层细节的白痴的讨论。

然后,经过了这么多年的发展,计算机语言越来越多,也越来越简单。大家越来越理解,那么多不同的语言,都可以发展的很好。这是因为在不同的领域,需要不同的抽象模型,不同的架构,以应对不同的需求,不同的领域知识。百花齐放,争奇斗艳,所以行业才能高速的成长和发展。

所以,这两年,有人问我初学编程应该从什么入门的时候,我总是推荐Python。原因如下:

1. 简单、简洁、易学

这些特质曾经是某些人嗤之以鼻,甚至抵制的。他们认为不从最底层讲起,不把一门语言的学习搞的非常痛苦,就不是真正的深入的学习,就无法培养高手,甚至就是大逆不道的。

事实上,我们不管使用什么工具,学习什么技术,最终都是为了解决问题。如果一个东西简单易学,表达简洁,那么自然可以方便我们入门,也可以让我们更轻松的解决问题,何乐而不为呢?

至于什么深入学习,培养高手,那其实都是入门以后的事情。把入门的门槛一味拉高,只能让很多人知难而退,只能减少编程的快乐。

2. 结合实际,上手快,鼓励动手

事实上中国的大学里面以前都有C语言的教育,看似是从基础抓起,但是大多数人只学会了在课本上介绍的IDE里面写几个简单的打印*的代码。根本不知道怎么把编程知识和自己的工作生活结合起来。大多数学了就学了,一辈子也用不到,而且很快就忘掉了。白白遭受了痛苦。

而Python很简单,很容易上手。这是因为Python是一个相当现代的语言,而且设计理念和社区风格都是从实用出发,各种库和开源lib应有尽有。

3. 紧跟时代,面向未来

其实早期,Python更像一个胶水语言,方便快捷,但是很多时候都被当做小工具使用。但是这些年来随着Python受到程序员的广泛欢迎,开源社区的努力,等等的加持下,Python的功能越来越强大。用Python来构建大系统,复杂任务的例子越来越多。

特别是最近几年,随着机器学习,AI,深度学习的越来越流行和普及。Python已经成为这个领域里面的首选语言。很多时候学习AI,就是在学习怎么用Python来开发AI。

这里面有很多好玩的历史原因,比如大多数AI领域的研究者都喜欢用Python,它兼具了一般编程语言的强大功能,又兼具了R之类的数据处理专业语言的强大数学能力。于是很多深度学习,AI的库都采用了Python为主要的语言。再比如,实际上大多数科研人员并没空学更加”强力”的语言之类,但是他们用了Python以后发现,他们也根本不需要去学习那些传说中更加“强力”的语言。

对于初学者,甚至对于业余开发者,Python都是最好的入门路径和首选的工作语言。而我也想提醒,想从事编程这个行业,或者想把编程作为一个爱好,或者本职工作的强大助力的朋友们。编程当然是一件复杂的事情,但是复杂应该复杂在处理那些复杂的问题,而不是在入门。在日常工作学习上,选用最好用易用的工具,一直都是这一个行业的应有之义。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK