说点政治不正确的。
虽然中国的软件行业借着互联网的东风着实风光了一把,程序猿满地走。
很多人就忽略了中国在computer science这一块的薄弱。
中国的Computer Science(计算机科学)远没有中国的互联网市场这样繁荣昌盛,很多方面的确是落后于美国和其他发达国家的,这是一个客观事实。
而事实上程序设计语言和基础类库的构建,除了大把的码农之外,还需要很多的CS的人才才能有所建树。
据我所知,中国的这些互联网公司对上游科研工作也就是计算机科学的支持相当有限,这可能在今后成为中国互联网发展的瓶颈。
我当年在美国读phd的学校并不是什么顶级名校,说实话就是个真的美国三流大学。
然而就算是美帝三流大学,教授也是mit/uiuc/stanford这些学校毕业的。
然后我印象最深的就是上compiler课的时候,上课的教授每堂课都几乎会讲一下这个内容在intel的某个compiler中怎么做的,在gcc里面又有什么变化…
很多年后我在川大兼职上课数据结构相关的课(当时创业,生活不易),也如法炮制,用百度搜索为切入点,讲了一下web search要涉及哪些内容,graph这些数据结构在其中的作用,引申到es和lucene的一些内容…其实也就是给学生讲点实际应用,不算太深,理论结合实际呗。
然后下来他们教导主任(还有几个别的学校的在旁听)委婉给我说讲得太发散了,可能不利于同学们聚焦…
然后我也去旁听了另一堂课,记得好像是讲c还是c++,怎么讲的呢?某校专家写一行什么代码,然后问:同学们你觉得下一行该写什么呢?是i++还是++i(大概这种问题)?同学们齐声回答后,专家高兴地说:同学们答对了!
…
这是大概2013年的事情,现在相信有很大提高。只是历史的一颗尘埃回忆,不代表现在国内cs教学水平。
这个其实锅在大学和科学院。
按说他们衣食无忧,不用担心发不出工资破产,真真的该去做些这种不太赚钱但是很有技术含量的东西。但是。。。
至于公司,为什么不做?
以下场景纯属虚构:
甲:我们被卡脖子了,我需要MATLAB,国家批下来一笔钱。。(以下省略套话1000字),你们公司能做不
乙:要做MATLAB,,这个是个大工程,不得做个好几年。。
甲:我们****前就得上,要给******献礼。。。。。BLABLABLA
乙:(崩溃1)就几个月,也就做几个功能。。能不能给个需求文档
甲:说了MATLAB乐,就跟那个一样就行
乙:(崩溃2)那几个月绝对不可能。。。不可能
甲:是嘛,,哎,,你说你们这些公司真是。。。行吧,,就做ABC这几个功能吧
乙:那几个月还可以,(心想:只能用人家的库了,改个名吧)。我算了算,三个月,10W块
甲:怎么这么贵!不行,绝对不行
乙:。。。。三个月10W,一个好点的程序员工资都不止这个数。。。。
甲:4W,爱干不干
乙:¥%#¥%¥……¥%……,,,,,
====================================
补充:之所以说锅在大学和科学院,一则是因为他们吃皇粮,没有破产和KPI压力。二则,类似编译器,或者编程语言这种,重复前人事没意义的,要做的话,需要有更创新的理论基础,新的思路,这方面大学显然更有优势。总是说美帝如何如何,人家的程序员也不是上班不干活,很多·好的想法新东西也是先在大学萌芽,出个大模样,公司再进一步的细化推广。
指望某个公司当成一个产品来做这种事,相当于让一家公司去挑战人家从大学研究所到多个巨头公司的完整生态,本身就不太合理。
指望一家公司做这事,即便强如微软谷歌,也就做到C#和KOTLIN的地步,普及度远谈不上主流,这还是他们操作系统优势地位的前提下做到的。
中国公司要做这事,先做系统建生态吧。谷歌微软是站在美国这个巨人的肩膀上,BAT全靠自己做这事太难了。。。。。。。。
虽然圆胖肿是Java白,但是这次我觉得他在理:
编译器和编程语言在美国有很多并不是公司主导的。
当然确实有很多是公司做的,比如高贵的C和C++是贝尔实验室生出来的,而贝尔实验室是由AT&T发起的。但是那个时候的贝尔实验室也是有一点半官方学术机构的感觉,不是一个完全的商业研究机构。
现在像Google的go,dart和v8,ms的csharp(以及cli)和ts,apple的swift,jb的kotlin,这些算公司主导。
(不过jb是一家本质毛子公司)
但是现在的c和c++,gcc是gnu的,msvc是ms的,llvm和clang你能说是apple的吗?不能吧。所以c++是社区和学术界主导。
那么es呢,它是tc39主导,虽然的确说tc39成员有很多来自google,apple和ms,但是至少Mozilla你不能说是公司吧,而且tc39也有学术界的人,所以es是大杂烩,并不是公司主导。(Google:嗯对对对)
咱这还没说完全由社区推动的rust。Mozilla不是公司对吧,咱这得说清楚。
Python。这是从个人项目到社区开发的,和公司没啥关系的那种。
Perl:个人项目
Ruby:个人项目
Lua:个人项目,学术界
PHP:个人项目,虽然和jb有点说不清道不明的关系
还有估计肿酱可能会(喜欢)的某jvm函数式语言,这也是学术界开发的。
所以与其说这是学术界主导的,还不如说很多语言是一些有闲的技术大牛们自娱自乐出来的。
那么为什么中国不搞?因为中国的技术大牛没有闲。不然你看vue,不也是搞得很好吗?大牛去公司都996写bug搞办公室政治去了,哪还有一点多余的创造力能剩下来?
所以什么时候中国能多养几个 @尤雨溪 这样的人,那就有人搞pl了。
事实上中国人有在研发编译器,例如 XOC, XPOLY, 如果有兴趣的话,可以在 github 上搜 stevenknownxoc , 以及 stevenknownxpoly, 前者是阿里研发的编译器,后者是编译器中基于多面体模型的的循环变换引擎。
去打游戏
花一个月的业余课余时间,把高中数学和高等数学(教材)学明白了。
能做到的话,有点希望
这个问题问得很好啊,我的建议是看今年年会的摘要集:
中国化学会第32届学术年会 - 论文检索系统 - 中国化学会
可以看到有很多分会,不过计算化学分布得比较散,夹杂在各个分会中。各分会的主题可以从这里找到,可能相关的包括:
有一些主题是理论计算夹杂着实验的,还需要仔细辨别。回到摘要集,以第一分会为例:
中国化学会第32届学术年会摘要集-第一分会:物理化学前沿 - 论文检索系统 - 中国化学会
可以看到题目和单位全都标出来了,而且还可以下载。
显然,能找到相关方向的摘要的单位,就是开设了相关方向的院校,甚至还能精确到具体的某个课题组。