2018/5/18 15:02:45当前位置推荐好文程序员浏览文章

    尽管我的学校是今年第一次开Python课,而我有幸是第一批学习的学生,但据我理解,Python语言尽管进了中小学生的课堂,But,除了把它列入学生自愿报考的计算机二级考试的自选项目之外,大部分大学都没有设立这门课,这就有了这篇文章,Why?

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语言学好了,学任何编程语言都是小菜一碟,学任何框架你都会从原理上去了解。学生更可以理解到编程语言从面向过程到面向对象的发展,很好的锻炼思维模式的转换,理解软件底层的原理和设计逻辑,培养基本的编程思维可以力,适合小白启蒙。有了C的基础,再接触别的语言,就像工匠从锤子换成螺丝刀一样。

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

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

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

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

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

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

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

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

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

无论是老师还是教材出版社,都没法这么与时俱进(这个我深有体会!教我们Python的导师也是初学不久,水平没想象中的高,况且老师没法与外面的技术应使用性结合起来,所以效果不太好)。假如要跟着时代不停的出新教材、更换教学内容、课程讲义等等是很头疼的事情,不论是成本上还是时间上。假如老师坚持现有的够使用了,新计划也很难推行。

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

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

但它也不是没有缺点。

比方,运行速度比C和C++慢很多,由于Python是解释型语言,代码在执行时会一行一行地翻译成CPU可以了解的机器码,这个翻译过程非常耗时。

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

自学干货

其实还有一个起因也被认为是大学不开设Python课程的起因,由于它相比其余语言,简单容易学!

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

假如你已经有了编程的基础,那么技多不压身,再来学学Python;能来公众号:PythonEco,会不定期升级Python相关的实使用文章,假如你只想体会一下做程序猿的感觉,也完全能一试,做一个自己的小项目,什么语法不了解也没关系,拿来就使用。

我可以你不可以,该服你还得服

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

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

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

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

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


    感觉自己正好处于风口上,学习的是物联网专业,而后又在接触着新技术的迭代~好幸运啊,但是要居安思危啊,不可以等风口过去后摔得很惨!多为未来做考虑,加油吧,少年!

网友评论