偶读一文:https://www.cnblogs.com/qing-gee/p/12941219.html

想到了这样的一个老问题,个人搞计算机软件开发、人工智能的时间已经十余年,虽然个人能力有限但是身边的同学朋友已经是985/211大学的硕士导师、公司的技术总监等等,经历的事情多了对于这个问题也是有些个人理解的。

Python语言是一门很悠久历史的编程语言,不过在人工智能,准确的说是机器学习方面火之前Python语言是十分的小众的,作为胶水语言和脚本语言一般也是作为辅助编程语言的存在,说白了就是运维、测试等环境下使用,高校这时候之所以不教Python就是因为根本就没有几个高校的老师知道Python是个啥,并且也基本没有任何的公司会提供Python语言编程的工作岗位,那时候的运维和测试环境下使用Python一般也是个人可以选择的一个选项,毕竟这些环境下传统的编程语言还是那神奇的shell语言,说个后话,这些年来我是觉得Python语言在运维、测试环境下还是真的比she'll好用的多。

人工智能、机器学习、数据分析、爬虫、Web 开发、运维、测试这些都是Python语言的应用环境,基本上可以说Python的应用环境也就这些了,如果非要再加的话可以把物联网极客的树莓派也加进去,而且实际上的人工智能、机器学习其实在现在社会上指的都是一个东西(深度学习)。而数据分析、爬虫、运维、测试这些方面都是十分小众的方向,在整个计算机行业所占比例小的可怜甚至可以忽略,而Python在Web 开发中所占的比例也是小的很,说白了这些领域为什么Python可以占上位置主要就是因为Python语言编程简单,对于性能要求不高但是要求快速编程实现的环境下可以使用Python作为一中取舍替代的语言,如果你从事这些领域而学Python还是可以的,但是你学Python是想从事这些行业你基本可以放弃了,因为这样的话你学Python可能最大的可能也是意味着你找不到工作,毕竟这些行业太小众,而Python也是这些领域的可以使用的一种替代性语言之一。

上面说了这么多基本上可以下这样的总结性的话,Python语言基本上主要的使用环境就是机器学习(深度学习的算法工程师),  正如https://www.cnblogs.com/qing-gee/p/12941219.html中所说的:

可以说学Python或者说Python的主要使用场景都是要求高学历的人士的,也就是所谓的985/211的学生,准确的说是硕士生和博士生,一般招Python的算法岗位要是大些的公司可能还会要求CCF的A、B、C论文或者SCI的论文,如果你不是985/211大些的而且还不知道CCF和SCI可以说这种Python岗位也是和你没有缘分的。其实,10多年前我刚参加工作的时候也有一种类似的岗位那就是计算机视觉算法工程师,当然现在这个岗位也划归到了机器学习大栏目下了,那时候要求就是要求985/211学校的本科以上最好是硕士以上,要求的编程语言就是那神奇的MATLAB,在某种程度上现在的Python和10多年前的MATLAB很像,针对特定环境下使用的,作为编程工具最主要的还是算法的掌握,而这往往要求极高的学历,而这要求对于绝大部分的计算机专业学生来说都是不满足的。其实对于这种岗位别说10多年前,就是20多年前就是存在的,那时候是我博士生导师找工作的时候,那时候的算法工程师(特指机器学习领域)要求的就是学历,那时候就是985/211这样的顶尖学校,那时候也是要求又SCI论文啥的,那时候对编程语言的要求更低,20多年前机器学习算法工程师更为小众,那时候的编程要求是会编程即可,不限制语言,说白了这是一种类似于欧美五十年前的那种研究所的研究院的工作,你的主要任务就是搞论文或者把论文中的东西实现出来,核心技能要求是理解论文、掌握论文,至于编程不行就给你配几个开发人员,这都不是问题,这种情况下编程只是一种工具,我想欧美那些顶尖的计算机科学家里面应该也有不少不会编程或者编程不太行的人存在,换句话说这种行业里面编程并不关键。

说了这么说还是说下我对这个问题的看法吧:计算机专业的学生如果你不是985/211的,或者你也没打算以后再去读个985/211的硕士和博士那你就不要把Python作为主语言来学习,虽然说编程语言都是互通的,但是那也是你把C语言学明白了才真正能掌握这句话,不然这也就是面上的一句话,Python作为主语言往往要你很难完整的理解啥才是真正意义上的编程。至于非计算机专业的学生如果你并不想从事编程开发领域而只是想把编程作为一种辅助技能或工具来用那把Python作为主编程语言没什么问题。总的说就是你要是想搞编程但是没法做深度学习的算法岗位那你就不要把Python做主语言了,如果只是作为辅助技能那就无所谓了。

========================================================

另外再说一点,https://www.cnblogs.com/qing-gee/p/12941219.html提到的:

据我所知,高校之所以这么教主要原因还是第二个原因,毕竟高校里面能教明白C语言、C++、JAVA的老师其实还是不多的,这句话当然也包括了好多985、211高校,即使是这种国内顶尖的高校教编程也是照着课本准备准备就开讲的,至少我认识的那些985/211高校教编程的老师,嘿嘿嘿,写的编程代码其实就是自己上大学读本科时候上机实验课写的那些,这样的高校都况且如此更不要提那些一二本的大学了,毕竟在高校里面教课是不赚啥钱的,大家想的都是发论文,搞基金,拉人脉,毕竟啥路子赚钱就搞啥路子嘛,教好教坏既然都赚一样的钱又为什么要费那么大劲呢,于是乎就干脆直接把Python提上来教课了。在我的观点里面,Python在计算机专业中的地位也就是寒暑假之前搞个小学期,或者当做素质教育周末开班的那种课程,如果作为主课确实有些喧宾夺主,甚至更可能是高校老师为了省力而给自己开的小差。

================================================

高校教编程是否应该将Python作为主语言的更多相关文章

  1. 教你用OpenCV 和 Python给证件照换底色(蓝底 <->红底->白底)

    在我们的生活中常常要用到各种底色要求的证件电子照,红底.蓝底.或者白底,而假如你手上只有一种底色的证件照,你又不想再去拍又不会PS怎么办?今天教你们用OpenCV和Python给你的证件照换底色. P ...

  2. 【转载】教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神

    原文:教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神 本博文将带领你从入门到精通爬虫框架Scrapy,最终具备爬取任何网页的数据的能力.本文以校花网为例进行爬取,校花网:http:/ ...

  3. Atitit.异步编程 java .net php python js 对照

    Atitit.异步编程 java .net php python js 的比較 1. 1.异步任务,异步模式,  APM模式,,  EAP模式, TAP 1 1.1.       APM模式: Beg ...

  4. Atitit.异步编程 java .net php python js 的比较

    Atitit.异步编程 java .net php python js 的比较 1. 1.异步任务,异步模式,  APM模式,,  EAP模式, TAP 1 1.1.       APM模式: Beg ...

  5. 编程中遇到的Python错误和解决方法汇总整理

    这篇文章主要介绍了自己编程中遇到的Python错误和解决方法汇总整理,本文收集整理了较多的案例,需要的朋友可以参考下   开个贴,用于记录平时经常碰到的Python的错误同时对导致错误的原因进行分析, ...

  6. 读书笔记:编程小白的第一本python入门书

    书名:编程小白的第一本python入门书 作者:侯爵 出版社/出处:图灵社区 年份:2016年 封面: 感想: 本书短小精悍,精华部分在于给编程小白打了鸡血的同时输出了一种“高效学习法的思想”. 个人 ...

  7. 2个月,我从编程小白成为了Python研发工程师

    从编程小白,到Python研发工程师,需要多久呢? 答案就是:91门课,450个小时. 听起来似乎难以实现,但其实如果每天抽出八小时学习,两个月的时间,就能由编程小白转变成为Python工程师,听起来 ...

  8. 编程小白的第一本python入门书电子版|百度网盘分享无偿获取|评分超高的python教材

    点此进入网盘下载提取码:cr74 为了能让更多的编程小白轻松地入门编程,把高效学习法结合 Python 中的核心知识,写成了这本书.随意翻上几页,你就会发现这本书和其他编程书的不同,其中有大量的视觉化 ...

  9. 笔记|《简明Python教程》:编程小白的第一本python入门书

    <简明Python教程>这本书是初级的Python入门教材,初级内容基本覆盖,对高级内容没有做深入纠结.适合刚接触Python的新手,行文比较简洁轻松,读起来也比较顺畅. 下面是我根据各个 ...

  10. Python和C++的混合编程(使用Boost编写Python的扩展包)

    想要享受更轻松愉悦的编程,脚本语言是首选.想要更敏捷高效,c++则高山仰止.所以我一直试图在各种通用或者专用的脚本语言中将c++的优势融入其中.原来贡献过一篇<c++和js的混合编程>也是 ...

随机推荐

  1. 一个简单可分享的web数据透视分析

    我推荐一个简单可分享的在线数据透视分析网站,首先看效果: 在线数据透视展示 用户上传一个Excel或csv文件后,把指标拖拽到左右两侧,再选择合适的分析方式,在中间展示区域就会出现分析数据或者图形了, ...

  2. 3年Java阿里跳字节的面试心得总结

    中厂->阿里->字节,成都->杭州->成都 系列文章目录和关于我 0.前言 笔者在不足两年经验的时候从成都一家金融科技中厂跳槽到杭州阿里淘天集团,又于今年5月份从杭州淘天跳槽到 ...

  3. 卷积神经网络-AlexNet

    AlexNet 一些前置知识 top-1 和top-5错误率 top-1错误率指的是在最后的n哥预测结果中,只有预测概率最大对应的类别是正确答案才算预测正确. top-5错误率指的是在最后的n个预测结 ...

  4. nginx 信号量

    nginx支持的信号量 TERM, INT fast shutdown QUIT graceful shutdown HUP changing configuration, keeping up wi ...

  5. 03-Python数据类型

    None类型 Python3中没有NULL,取而代之的是空类型None.空列表.空字典等. None是一个特殊的Python对象,表示无. None的类型是NoneType. 如果只想声明变量,而不想 ...

  6. Java面试知识点(三)Java中的单继承和多继承

    多继承的优缺点 优点:对象可以调用多个父类中的方法 缺点:如果派生类所继承的多个父类有相同的父类(也就是一个菱形继承结构),而派生类对象需要调用这个祖先类的方法,就会容易出现二义性. 1.java 与 ...

  7. Go 如何对多个网络命令空间中的端口进行监听

    Go 如何对多个网络命令空间中的端口进行监听 需求为 对多个命名空间内的端口进行监听和代理. 刚开始对 netns 的理解不够深刻,以为必须存在一个新的线程然后调用 setns(2) 切换过去,如果有 ...

  8. vol2以及mimikatz插件安装教程

    volatility2安装 https://github.com/volatilityfoundation/volatility git clone https://github.com/volati ...

  9. Spring Cloud 比较

    Spring Cloud 比较 一.简介 1.SpringCloud:一套微服务架构下的一站式解决方案,理念就是解决我们在微服务架构中遇到的任何问题: 2.SpringCloudAlibaba:阿里实 ...

  10. nginx面试题及答案

    什么是nginx? Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代 ...