前言
有很多想学编程的观众小伙伴问我,为什么现在美国有很多名校,都把Python作为编程的入门语言,为什么没让学用c语言入门呢,不是说c语言,能帮你更好地掌握计算机底层的原理吗?用python入门相比于用c入门究竟有哪些优势呢?本期文章就来回答一下这些问题,希望让你的编程学习之路会变得更顺畅。
python四大亮点
首先呢要澄清一个观念,一门编程语言能让你更好地了解计算机硬件的底层原理,并不代表你就应该用这门语言来入 门。对于初学编程的人来讲呢?最应该培养的其实是problem solving(问题解决)的思路,一门语言它越是能够精简地描述problem solid思路,就越适合用来教授编程和理解computer science的本质,这也是CS四大名校MIT、CMU、Stanford UC、Berkeley,全都选择Python作为入门语言的原因,等学生们通过Python快速掌握了编程的直觉和本质,这些学校再通过后续的课程,来教授计算机的底层原理,同时呢让学生深入的学习c语言,比如这些学校的 operating system课程,就会让大家用c,来实现一个类Unix的操作系统
那么Python究竟有哪些亮点,使得他对初学者这么友好呢 下面我就来一一介绍一下
亮点一 Python代码非常的简洁
举个最简单的例子吧! 分别用C、python来输出hello world,直观感受比对下:
python实现
C实现
如果你想用Python来输出hello world,
那么直接调用print函数,
一行代码就搞定了,
清晰又直观吧。
相同的逻辑呢,
用c语言来实现,
代码明显复杂得多。
那如果你是用c语言来入门编程, 你就不得不花更多时间, 去搞懂多出来的那些代码到底是干嘛的, 以及他们为什么在c代码里是必须的。 所以呢用Python来入门编程, 能让你省下更多的时间, 来专注于学习编程的本质, 而不是学习语言本身, 这样你的学习效率自然就提高了
亮点二 Python代码的可读性是非常高
Python代码的可读性是非常高,相对来说更容易理解
举个例子
分别用C 、python编写代码,把0-9这10个数字打出来
C实现
python实现
虽然这里的Python代码,并不比c代码简洁多少,但是呢Python的for loop的写法,明显更接近英文的语法,这就是说,如果你有英文的基础,那么你读Python代码,大概率会觉得更自然,更容易看懂,然后关于python的可读性的优点
有个很经典的案例
就是AI领域的大牛Peter Norwig,同时也是Artivicial intelligence a modern approach这本书的作者,当年他在学校教AI的时候,经常收到学生的反馈,说书中用的伪代码描述的AI算法和Peter在网上提供的用类似,写的参考代码找的实在太不一样了,导致这些类似,代码读起来很费力,于是呢Peter为了减轻学生的负担,就决定换一门语言,来实现书中的尾代码,然后他找了一圈之后,发现Python是所有语言中,最接近书中伪代码的,于是就有了这本书的Python代码的实现,这也是为什么Peter Novic非常偏爱Python,后来他在udesity教AI课程的时候,也选择了Python
博主在读大学的时候,计算机课程,书本里面那伪代码的确很难理解,跟上面案例学生反馈的感受是一样的
亮点三 Python提供了丰富的标准库
是它提供了丰富的标准库,让很多功能实现起来都非常的容易
举个例子
想在程序里创建一个list,用Python来写不要太简单,直接一个方括号括起来就搞定了,代码读着也非常的直观 而如果你用c来写呢?c的标准库并不支持list,你要么 自己去找一个支持list的第三方library,要么你亲手实现一个list对他structure
python实现list
这两个对初学者来说都很难
所以如果你用c来入门编程,会遇到更多的障碍,会更容易被劝退
再讲一个例子吧
如果你想实现一个文件下载器,使用Python自带的标准库,4行代码就搞定了,而c元的标准库呢,并不支持类似功能 就算你找到了第三方library,比如图中的这个curl library,你的代码也会繁琐得多
python 实现文件下载
所以呢用Python来入门编程,相比于用c
-
你的产出会多得多
-
就更容易产生成就感
-
激励你一直学下去
亮点四 Python具有很强的交互性
具体的说呢
是Python自带一个repo,也就是一个交互式的shell,你的每一行代码,都可以在repo里马上执行,马上打出结果 从而实现了从写代码,到看结果的快速的反馈,对于初学者来说,这种快速的反馈,会帮你省去大量的时间,而c和C++呢,就不提供这么快的反馈,因为你的代码不能马上运行,必须要先compile一下才能执行,等于多了一个步骤嘛,当然会花更多的时间了
看到这里,一定会有小伙伴说,Python是解释型语言,所以代码不需要编译,可以直接运行,而c和C++是编译型语言
当然必须编译一下喽,这种说法其实是错误的,因为,根本就不存在所谓的编译型语言,和解释型语言,所谓的编译型解释型,并不是编程语言的特性,而只是语言实现的特性
综上所述,入门选择python是比较好的,现在好多小学生编程培训机构,不也选择的是python吗?