[编程开发] Python是不是被严重高估了?

[复制链接]
whymaomi 发表于 2023-10-4 19:22:10|来自:中国 | 显示全部楼层 |阅读模式
Python从原来的一个不是很大众的胶水语言变成如今的热门语言,被称为AI专用语言,大数据专用语言。各种培训班疯狂开启,颇有一副全民学python的趋势。所以我想问py是不是被高估了呢?他在AI大数据方面的优势能力真的有人们认为的那么大吗?
全部回复5 显示全部楼层
穷人的阳光 发表于 2023-10-4 19:22:31|来自:中国 | 显示全部楼层
国内不太清楚。就现在我在美国了解的technical的求职情况,光会写个python就找到工作我还没听说过;找到工作的人但不会写python我也没听说过。所以,python我认为是现在找工作必须熟练的语言,但要有多么精通,这个问题就智者见智仁者见仁了。
我觉得在学校层面上,python并没有被高估。我个人体会,学校对学生对python驾驭能力的培养,还仅仅是启蒙水平。写写作业,实现一些经典的learning算法如linear regression,Kmeans甚至CNN,我觉得是python程序员最基本的日常,谈何高估?python,是我们为止,学习算法用起来最方便,使用人数最多的工具之一。在没有新的语言替代python之前,用python学习各种算法以达到熟练方乃明智之举。
在科研层面,我认为python并没有被高估的迹象。现在每天依然有大量的库不停地更新,导致的结果是python不断地抢走大量原本使用Matlab,Fortran的理科玩家,因为python方便,而且有社区技术支持,玩法多,论文发表后也方便别人复现。而且还有个很重要的问题,做research不是公司承包项目。research很多追求的是算法或者模型是否robust和sound,对是否能最后高效的商业应用反而不是很关心,这和python的属性基本契合。所以我认为,如果在没有比python又快又简便的语言诞生之前,python未来5年在实验室会继续挤压其他语言的生存空间。
最后就是找工作。个人体会,光会个python去找工作我觉得是有点搞笑的,无论您多么精通。如果您手上没捏个几篇拿得出手的论文,也没实实在在肝过的项目,就会个python然后您能找到AI开发的工作请联系迅速我,我叫您一声老师。想做AI,数据挖掘,ML, DL, 您必须同时具备优秀的数学思维能力,同时理解如何把你做的machine如何跟外界交互。训练数据不是在学校里学的调个CSV和TXT,而是用SQL去调用数据库,实时数据要用websoket,还要考虑要不要用stream的算法。最后visualization我们是不是需要UI interface?要搞UI那我们是不是需要搞个简单又好看的前段后台?JavaScript不学一学吗?Vue和React不挑一个吗?Nodejs不来一发吗等等。所以我建议,不要轻易听信各种培训机构劝你学了python转业马上就人工智能,年薪百万,财富自由。在这些人的嘴里面,再冷的板凳,马上都可以给你吹成3000度的高温,为的只是让你掏钱包,更不要说像python这种本来就在风口浪尖上的东西,更是跟你吹上天。
随意,我最后总结。在学校里,一定要抓紧时间赶紧怼python,无论是CS或者非CS。CS的同学需要是精通python复现各种算法(我反对用python练习后台开发,应该用nodejs或者其他),非CS应该学习python语法,明白如何用python做你的实验和模拟,而不是死磕Matlab。但当你的重心转移到在找工作上时,应多样化你的能力,显示一精多长(多精多长当然更好-,-),最好还要有项目作证你的能力,才能游刃有余。
====================================
【04.01.2021】谢谢大家点赞,最近面了一些大厂的MLE,感慨良多,希望能跟大家分享。我在学校里实际上项目都是跟CV有关,NLP基本是才入门,我以为能给我发面试的公司应该是有CV需求的,结果不然,不约而同地让我去做同一个事情,就是Anomaly Detection,也就是硬件系统的风险预测。按照我的理解,就是收集各种服务器硬件数据log,预测哪里即将出现崩溃,本质是NLP 和时间序列分析。这是我完全没想到的,NLP跟硬件风控粘哪门子的边???我在学校里根本就没听说NLP还可以干这,但实际上业界需求很大。有面试的面试官,直接跟我说他们对NLP不是很懂,希望懂的人带点新点子来。学校真是象牙塔,不出去走一走真不知道需求在哪。建议大家多看看NLP和time series analysis,未来我觉得这快还会有迅速增长。专业做anomaly detection这方面的公司我只知道Datadog,能去这一类的公司做做ML积累经验应该是会有很多用途。(值得研究研究相关公司的股票做一发长期投资)


分享一篇这方面的paper吧:https://www.cs.utah.edu/~lifeifei/papers/deeplog.pdf
xhpzjcom 发表于 2023-10-4 19:23:25|来自:中国 | 显示全部楼层
如果说到嵌入式编程,那么python输给了c;如果说到商业软件开发,那么python输给了Java;如果说到服务器设计,那么python输给了cpp;如果说到科学计算,那么python输给了matlab;如果说到报表分析,那么python输给了excel。。。。。。
但是,仔细想一下,python虽然哪项都没有绝对优势,但是都能干啊
相今天的经历让我更加觉得python被严重低估了。
下午的时候有新闻学院的学弟学妹过来采访,关于人工智能技术的主题。
聊天中,学弟跟我说他们学了python,并且学的不错,感觉很简单。
抛开python是否简单这个难以定论的话题,毕竟python包含的知识点不必任何一门编程语言要少。
单说python对编程的普及作用,我觉得是其它语言难以企及的。都说python是个胶水语言,我觉得准确的说法是python是个万能胶水语言,可以在各项教学任务中轻松胜任。
最后,编程语言无好坏,学精通了都一样!
雷斯魔 发表于 2023-10-4 19:23:38|来自:中国 | 显示全部楼层
“Python是AI专用语言”、“全民学Python”种种,说明的不是Python被高估了,而是Python被曲解了。
Python是通用编程语言,只是在AI、大数据等方面(还是技术栈上层;底层还是靠C/C++)应用得比较多。专用语言出了专用的领域就不能用了。
固然,Python有它的相对简单性(相对简单性指的是语言和各种库都给好了再去写的时候比较简单)。首先是它的语法简洁,语法糖多,模板少,比如文件读取。然后是一些特性支持比较好,比如int理论上可以任意大,又如读JSON不用模板。
然后就是Python真正复杂到可怕的一些特性了,这里仅举几例。
首先,动态类型。这就允许a是个int型的然后a=str(a),就要小心变量的类型在转换前后发生变化。Python还允许函数参数类型不事先确定,只要用到的时候类型不出错就可以了,比如只用到加减乘除,如果没有显式的类型检查,就适用于整数、浮点数、复数、分数,甚至素数域或扩域里的数了。如果要用某个第三方库的函数,还要看这个函数各个参数是什么含义、支持什么类型、推荐用什么类型;不给或给不全就只能要么分析库源码要么尝试了。
其次,作用域。一个函数里面(只要不是里面再套一层函数),if、try、while、for的局部变量甚至可以在跳出之后使用,编程时极易不小心引用到名称十分相近的变量(而IDE可能不会报错)。
再次,异构类型集合(collection)和匿名类型(注意不是匿名类)。集合(collection)在Python里面包括元组(tuple)、列表(list)、集合(set)、字典(dict)等,所述四种collection中除set的元素和dict的键必须是可hash的这个要求以外,对存放元素的类型并无要求,甚至可以混合存放。可以想象,编程者对collection中哪个位置存放什么类型的元素必须十分清楚。至于匿名类型,大概是JSON里怎么表示对象的,Python里就怎么写,不用class,却也要清楚哪个键对应什么类型的值;甚至直接用元组,不仅要清楚哪个位置存放什么类型的元素,还要清楚哪个位置存放的元素是什么含义。
最后,抛出异常的位置和程序出错的位置或许相隔较远。可能只是一个TypeError或ValueError或AttributeError,程序出错的位置离抛出异常并中止的位置可能隔了几个函数,而且成因或许很复杂,比如不同的类型执行“相同的”函数,实际却差之千里。
所以,如果要用Python做一些正经的事,请一定先学静态程序分析,而其中的类型分析在这里尤为重要。
类型分析的难度方面我遇见最难的一个例子是DataFrame的条件过滤,例如
  1. _records = _records[~functools.reduce(lambda x, y: x | y,
  2.                                       [_records[_axis] <= 0 for _axis in axes])]
复制代码
因为是惰性计算,所以推测其中的操作数一定是某个表示placeholder的专设类型,而表达式实质上是语法树,索引操作符[]表示“应用”。
狂刷排名 发表于 2023-10-4 19:23:59|来自:中国 | 显示全部楼层
高估倒说不上,过热是真的。
要说高估,早年我们这代程序员玩Python的时候,确实是被高估了。那时候大家普遍觉得产业里主流的语言毛病太多了,Python是难得出现的一个有意思又不费力的技术,对它有很多期待。
等了解的深了,就发现Python其实没那么神奇,比如性能确实比Java不行,动态类型既是优点,也是缺点。绕一圈后去掉这些光环,Python也仍然是个很好用的东西。至今我仍然会推荐程序员无论主力语言用什么,至少可以学会 Python 作为辅助语言,这个角色上 Python 仍然是最好的选择。
现在Python 的热,根本原因在于对于那些领域专家,Python是最容易学会的通用语言。现在基本上不会再有内行对它有银弹的幻想了。
所以没啥不好意思的,如果你只会用Python,就好好的用吧,能创造价值它就是好东西。
上次去看医生,还跟医生讨论了半天Python。比起当年猎头跟我电话里说写Python的找不到工作,Python 算是终于发展起来了。
=======================一个硬广的分割线===================
神策数据 | 官方招聘 大数据用户行为分析产品
山赋 发表于 2023-10-4 19:24:07|来自:中国 | 显示全部楼层
让学AI的那群数学家学C++?
想多了,人家只是想让自己的算法在电脑上跑起来。Python自带科学计算的切片,自带无限精度运算。但C++还要调库。
而对于全民学Python,特别是小学生进Python培训班,我持否定态度。今日之Python,犹如昨日之奥数、钢琴,具体是什么作用不言而喻。圈钱工具而已。

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则