查看原文
其他

为什么很少有大学开设Python课程?

2018-02-12 六个太阳 读芯术

科技时代,我们更加怀念温暖邂逅的时光

后台回复“想要”,得到近期有温度的推荐

全文共2433字,预计阅读时长3分钟



前方敌袭!眼看就要冲到阵前,你该怎么办?


你手下的大将纷纷出谋划策。


C:拿出一根棍子,一个一个把敌人砸死。

C++:用机关枪。

Java:我打电话叫十万个基佬!

Perl:我会功夫!

Ruby:大喊着拿着武士刀冲上去了。

Lisp:我先把敌人分组一下吧!

Haskell:我们可以用歼星舰啊!

PHP:让我们把敌人老死吧!

Python:用氢弹。


这是网络上的一个关于编程语言能力值的段子。


听起来,Python能给敌人造成更大伤害,它的功能也似乎最是强大。


难怪小学生和高中生都要开始接触和学习Python语言。


不过奇怪的是,Python语言虽然进了中小学生的课堂,但奇怪的是,除了把它列入学生自愿报考的计算机二级考试的自选项目之外,很少有大学开设Python这门课。


你说,这是为啥?


Python的江湖地位


虽说年龄辈分不及Lisp、Pascal、C,但公开发行于1991年的Python走到今天,也算是个老江湖了。


下面这组数据,将让你看到Python作为老江湖的新地位。


2017年7月,IEEE Spectrum 杂志发布了一年一度的编程语言排行榜,通过综合10 个重要线上数据源对 48 种语言进行排行,Python夺冠



2017年2月,Python 正式迁移到源码托管平台 GitHub,而在10月份的GitHub 年度开发者报告中,Python 就超过了 Java,排在“最受欢迎的语言编程语言 Top 15”的第二位


11月由数据平台 Kaggle发布的《2017 机器学习及数据科学调查报告》显示,Python是数据科学家使用最多的语言



为什么大学不开Python课?


既然Python这么有潜力,小学生都学,为什么大学的课堂里却很少见?反而是C语言成为大多数计算机学生的必修课?


关于这一现象的讨论,大致可以分为几个方面的观点:


C是基础:基础打得好,学啥都so easy


当今最受欢迎的10种语言,除去C语言,剩下的9种中,有7种都直接使用、间接引用或部分借鉴了C语言的语法,从这一点来看,C语言是一票编程语言的基础。


多数人认同的观点是,C语言学好了,学任何编程语言都是小菜一碟,学任何框架你都会从原理上去理解。学生更能了解到编程语言从面向过程到面向对象的发展,很好的锻炼思维模式的转换,了解软件底层 41 36299 41 14985 0 0 923 0 0:00:39 0:00:16 0:00:23 3165原理和设计逻辑,培养基本的编程思维能力,适合小白启蒙。有了C的基础,再接触别的语言,就像工匠从锤子换成螺丝刀一样。


大学重视的是基础和自学能力,高等教育也不是功利性的教育,这也是大学和蓝翔一类的技校和速成的培训机构不一样的地方。


Python容易学,但并不适合入门


在介绍Python时,“简单易学”是最常被列举的优点,看起来似乎很适合入门。但有一种观点对此并不认同,说是Python其虽然简单,但并不适合新手入门。


Python因为简洁让不少程序猿青睐有加,但这个简洁在于它隐藏了很多细节,但它的计算模型还是复杂的,而理解这些复杂度,是能够顺畅使用Python的前提。


但对还不知道编程是怎么一回事的新人,就很难理解——呀,为什么这个地方能这么写,不能那么写?要解释的部分,恰恰是Python语言的简单背后藏着的那些东西。



所以在一些人看来,对于新生来说,入门编程语言的简单,不是指代码量上的短,而是指思维、语法和计算模型上的简单,让新手可以集中注意力理解少数几个概念,不需要纠结于很多惯用法、隐藏的细节等等,语法上的简洁是给熟手加快进度用的,并不适合新人入门用。与其最后只学个皮毛,还不如教一种学生能吃透的语言,以后触类旁通。


技术迭代快,教材、课程、师资难跟上


现在的编程语言的迭代是很快的,假如你刚在2017年学完Python2,不太好的消息是,Python核心团队计划,从2019年1月1日开始,任何新的功能版本都只支持Python3。在2020年将停止支持Python 2。


费了时间精力学到了,发现马上要OUT了,也是欲哭无泪。



无论是老师还是教材出版社,都没法这么与时俱进。如果要跟着时代不停的出新教材、更换教学内容、课程讲义等等是很头疼的事情,不管是成本上还是时间上。如果老师坚持现有的够用了,新计划也很难推行。


Python并不像你以为的那样完美


大约2010年之前,Python在国内还只是一门小众语言,但最近几年猛地火了。主要是乘了云计算、大数据、以及人工智能的东风。网络爬虫、机器学习、人工智能、数据分析等领域,Python都表现不俗。



但它也不是没有缺点。


比如,运行速度比C和C++慢很多,因为Python是解释型语言,代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时。


它用缩进来区分语句关系的方式还是给很多初学者带来了困惑,就像我们前面提到的那样,而且即便是很有经验的Python程序员,也可能陷入陷阱当中。


自学干货


其实还有一个原因也被认为是大学不开设Python课程的原因,因为它相比其他语言,简单容易学。


所以,好马跑得快,自学就好了,不用等学校等老师来教。



如果你已经有了编程的基础,那么技多不压身,再来学学Python;如果你只想体会一下做程序猿的感觉,也完全可以一试,做一个自己的小项目,什么语法不理解也没关系,拿来就用。


  • 《简明 Python 教程》

  • 《笨方法学 Python》

  • 廖雪峰的Python教程

  • 视频:斯坦福大学公开课 编程范式

http://open.163.com/special/opencourse/paradigms.html

  • 视频:哈尔滨工业大学 程序设计入门 Python

http://mooc.study.163.com/course/1000002017?tid=2001354013#/info

  • 视频:麻省理工学院 计算机科学和Python编程导论(自主模式

http://www.xuetangx.com/courses/course-v1:MITx+6_00_1x+sp/about

  • 视频:哈佛大学公开课 计算机科学cs50

http://open.163.com/special/opencourse/cs50.html


读芯君开扒


我能你不能,该服你还得服

 

说起编程语言,似乎在程序猿之间存在着这样一条鄙视链:写汇编语言的鄙视写C语言的,写C语言的都鄙视写C++的,写C++的鄙视Java和C#的,写Java和C#的则相互鄙视,然而,所有的都鄙视写PHP的……不知道写Python的在不在这条鄙视链当中?

 

其实吧,不同的语言各有优缺点,最佳的应用场景可能有所不同,但很多也是互通的,比如C++、Java就可以适应各种应用场景,Python的功能也同样强大。

 

编程语言是工具,拿手顺手就OK。

 

学会一门编程语言,用得顺手,然后精通它,把它变成你的拿手绝活,成为大牛大咖,就是一件了不起的事。哪怕身处歧视链的低端,但我能做的,你不能做,该服你还得服。

 

不过,管他什么语言,有女朋友的程序猿才是雄踞在鄙视链条顶端的人。


留言 点赞 发个朋友圈

我们一起探讨AI落地的最后一公里


作者:六个太阳

参考文献:

https://www.zhihu.com/question/49431701?from=profile_question_card

http://www.php.cn/python-tutorials-88446.html


如需转载,请后台留言,遵守转载规范


推荐文章阅读


AI撩你出轨了?呵呵

一周入门,一年自通,机器学习没那么难

文科生不服!谁说AI只是理工科的天下?

天呐,这些高校AI开课了!但我发现……

哦活活,在这个领域,AI没有任何一点比得上人类!

用这招,看男朋友到底是不是直男!

懵逼了!我AI还没入门,熊孩子已经玩起了Python

老娘我在百度实习这么嗨,都是因为对自己狠

“读芯术杯”冲顶大会——人工智能专场

斯坦福“AI Index”年度报告说了哪些你不知道的

阅读理解做不过AI?我不服

当心,AI偷走你的声音

上帝不愿咬的那个苹果,为什么是他?

这样面试,你的成功率将达到90%

你们长得太像了!但又不一样!

不想被人脸识别?请这样做

拿去!助你赢得百万大奖的Python代码已上线

如果有一天,AI开口和你谈权利

“祝你永远幸福”,不是吹牛,是真的!

未来如何避免雪乡式被宰?

当AI来拍MV,画面简直流鼻血……

让我一次“架”个“构”

AI这么火,科技公司却争着开源,傻吗?

图灵测试,测的到底是什么?

不好意思,我随便“跳一跳”就破万了


长按识别二维码可添加关注

读芯君爱你


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存