我当年在美国读phd的学校并不是什么顶级名校,说实话就是个真的美国三流大学。
然而就算是美帝三流大学,教授也是mit/uiuc/stanford这些学校毕业的。
然后我印象最深的就是上compiler课的时候,上课的教授每堂课都几乎会讲一下这个内容在intel的某个compiler中怎么做的,在gcc里面又有什么变化…
很多年后我在川大兼职上课数据结构相关的课(当时创业,生活不易),也如法炮制,用百度搜索为切入点,讲了一下web search要涉及哪些内容,graph这些数据结构在其中的作用,引申到es和lucene的一些内容…其实也就是给学生讲点实际应用,不算太深,理论结合实际呗。
然后下来他们教导主任(还有几个别的学校的在旁听)委婉给我说讲得太发散了,可能不利于同学们聚焦…
然后我也去旁听了另一堂课,记得好像是讲c还是c++,怎么讲的呢?某校专家写一行什么代码,然后问:同学们你觉得下一行该写什么呢?是i++还是++i(大概这种问题)?同学们齐声回答后,专家高兴地说:同学们答对了!
…
这是大概2013年的事情,现在相信有很大提高。只是历史的一颗尘埃回忆,不代表现在国内cs教学水平。
题主不必妄自菲薄。中国虽然目前还没有top20这样现象级的通用编程语言,但是真正商业化,被世界广泛使用的语言如ReScript是存在的。
我先证实下我的观点,然后说说哪些方面国内是可以改进,需要努力的方向。
ReScript起源于我的个人周末项目,后被很多公司包括Meta用于messenger.com, Google用于WebAssembly的标准实现,甚至在巴西还有专门针对ReScript的培训课程,其社区活跃程度已经超过了很多非现象级的编程语言了。我们看看CircleCI的创始人是这么评价Rescript的
@rescriptlang
is a good language. Arguably the best compiles-to-JS language. They’ve had to make more difficult decisions around community/direction than a young language should, which they done as well as possible. Ecosystem isn’t quite mature (cont.)
翻译成中文是说ReScript是有争议的最好的JS平台上的编程语言,没有加上“之一”, 这已经是很高的评价了。ReScript的贡献者有几百人,另外一个核心开发人员Cristiano也是业界权威,著名静态分析软件infer的原作者,POPL十年最佳论文的一作,我的挚友。
所以我们要自信一点,中国人是有才华做出世界一流的作品的。
但是在基础软件方面,我们现在看到的大多是单点突破而不是面这样的群带效应,主要还是我们刚刚发展起来,我们富起来时间太短了。基础软件是个非常耗时的过程,不存在一夜暴富或者弯道超车的可能,其成果的产出是需要时间的,据我所知华为在编程语言反面已经有很多年的投入了,开花结果还需要一些时间。所以我们需要有一点耐心。
另外一个需要的是国家和大公司的支持,需要领导者对自己有信心,不要止步于”国产替代”,我们的目标是世界一流乃至世界第一,我个人觉得这不是一个不切实际的目标,只有目标高远,加上持之以恒的努力,一定会在基础软件方面做出优秀的成果的。我个人也会在今年国庆后开一些编译器和程序语言设计理论方面的公开课,希望能够培养更多的年轻人对这方面的兴趣。
我对中国的发展是有信心的,以中国人的天赋,智慧与勤奋,必将在未来给世界做出更大的贡献。
我第三次在知乎里推荐这本书:
我知道价格比较贵,但是我相信这个问题是很多中国程序员脑子里挥之不去的。所以真心希望了解的还是读一下。
这个问题的角度很多。绝不是一个答案就能解释的。比如说,我把发展中国家研发基础技术的「污名化」捡出来说就是一个长答案。但是如果不顾及到其它方面马上又会有人来喷。
说点政治不正确的。
虽然中国的软件行业借着互联网的东风着实风光了一把,程序猿满地走。
很多人就忽略了中国在computer science这一块的薄弱。
中国的Computer Science(计算机科学)远没有中国的互联网市场这样繁荣昌盛,很多方面的确是落后于美国和其他发达国家的,这是一个客观事实。
而事实上程序设计语言和基础类库的构建,除了大把的码农之外,还需要很多的CS的人才才能有所建树。
据我所知,中国的这些互联网公司对上游科研工作也就是计算机科学的支持相当有限,这可能在今后成为中国互联网发展的瓶颈。
