如果中国重新开发像MATLAB这样的软件大概需要多久?

看到这个问题,不禁回想起当年开发maTHmU项目的热血岁月。

当时,我们几个大三的学生,想要搞出一个能比拟Mathematica的东西来。于是就从12月搞到4月,也总算是搞出了一个雏形来。不过,除了当时拿了几个奖以外,现在能够残留下的东西,也就是一些模糊的记忆了。

搞了半年,写了无数文档,最后也参加了当年的挑战杯,有幸拿到校级、市级和国家级的三项特等奖,还被作为创新典型进行了宣传。然而我们自己心里清楚,我们完成的东西,用冰山一角来形容,都有点夸大其词了。

就拿数学后端来说,要支撑Mathematica的逆天计算功能,至少需要几千个相对独立的算法。每个算法,都随时可能有更新的版本出现,需要及时更新。没有一个超大团队,或者一个健康的生态,根本不可能做到这些。至于后端,Mathematica的优美设计更是让我们震撼,几乎每个元素都能用某种box表示,不仅可以显示数学公式,还可以进行复杂的绘图和交互。按照我理解的工程效率,没有上百人的团队是不可能开发出如此强大的功能。

回到问题。开发这种软件,需要的是长期的积累和持续性的投入。然而,由于市场已经被完全占领,这些投入在早期肯定是无法看到任何回 的。即使考虑到后发优势,在下决心投入的情况下,没有5年不可能达到一个能用的标准,没有10年不可能建立起健康的生态。

所以要先明确两个因素:决心、钱,然后才能讨论时间的问题。

我有时会看到 上对我们所做工作的评论。我比较喜欢一句“不切实际的幻想”,当然评论者都是带着温暖的心态说着这句话,并且默默支持着我们。当年几个大三的学生,现在也都走上工作岗位了,据我所知,并没有人的工作和这个项目有密切的关系。我们确实抱着不切实际的幻想,亲身体会了开发大型系统的艰辛。这段经历,对我而言,是人生中宝贵的财富。

我们之所以最后放弃了开发,当然是因为各种客观条件的影响。大家都要读博,而且各自的研究方向跟这个项目没有任何关系——坦率地说,如果当时有相关的方向,我应该会毫不犹豫地去选。同时,我也会乐观地看待这件事:我们不过是几个普通的怀揣梦想的大学生。下一次有人开发这样的系统,他们肯定会站在更高的平台上,走得比我们更远。

10月20日晚更新

没想到这个回答会有这么多赞。看着大家的评论,我也回忆起不少十几年前的往事。我决定趁着还没忘记,把它们记录下来,也算是对这个问题的补充回答。

虽然是初代目的maTHmU成员之一,但我和其他几个主创(写书的几位大神)起初并不认识。当时我从数学系转到计算机系,但是计算机系没床位了,我就继续住在数学系的楼里。大约是2008年12月,他们几个已经完成了计算机代数系统的核心架构设计,并且实现了几个算法(包括符 微积分和超大整数阶乘),但一直没法实现图形界面。于是李超就在宿舍楼里贴了些A4纸黑白打印的启事,想找一个懂图形界面的同学,把项目往前推一步。我当时刚学过Java,算是对这差事比较感兴趣,就发邮件给李超(其实我们宿舍在同一层,只有30米远),表明要加入。

入坑邮件

话说当时这个招人的广告也贴到了计算机系的宿舍楼,可没什么人关注,估计大家是不太相信几个数学系的同学能搞定这么复杂的系统吧。倒是来了两个大一的小朋友,分别来自计算机系和电子系,战斗力爆棚。我猜李超大概等了一圈,没有更合适的人,就接受了我的申请。总之,阴差阳错地,我就成了图形界面的负责人。我们七个人(四个出书大神+我+两个大一小朋友)在李超宿舍的中厅,留下了一张珍贵的合影。

左起:周梦宇、我、崔恒纲、李超、张翔、阮威、张龙;我当时已经很久没剪过头发了,形象略差

开始的两个月,我这边的进展很慢。作为刚刚学会Java的同学,要实现精细的数学公式排版并且支持各种键盘操作,工作量远远超出了我的想象。记得当时反复翻看D.E. Knuth写的TeXbook,还找到了Mathematica图形界面设计师的博士论文,希望从中找一些灵感。寒假的时候,李超直接就没回家,一个人憋在集中住宿的宿舍里赶他们的著作和核心代码。我大概在寒假过半的时候,才摸索出些许门道,开学前两天总算实现了一个非常初步的版本(大概就是能用键盘打出上下标和分数线的水平)。到了学校,心想李超要骂我,没想到他看了我的demo以后觉得挺不错,我心里的石头才落了地。

4月以后就比较顺利了。我们拿着第一个能用的版本参加了学校的挑战杯,拿到了特等奖第一名。我记得在答辩现场,评委老师几乎没问技术问题,只是反复确认:你们真的是数学系的学生吗?要知道,即使抛开图形界面,后台的代码量也是超乎想象的(准确地说,后端代码量比前端大得多)。校赛结束以后,我一边补课,一边重构前端的代码,系统的鲁棒性大大增强,我们终于可以让观众来操作这个系统了。6月,我们拿到了北京市挑战杯的特等奖。

校级获奖证书

到了大四上学期,李超忙着申请出国,参加全国挑战杯的任务就更多地由张翔和我来完成。全国赛的会场设在北航,我俩骑着车,不知道来回跑了多少次,才完成了展台的布置。当时张翔和我都确定在本校直博,还因为去实验室不够勤快,被各自的实验室警告了。好在最后拿下全国赛特等奖,算是给maTHmU画下了比较圆满的句 。

当年我们确实得到了不少荣誉。李超拿下了清华本科特奖,maTHmU应该是个很大的加分项。他还作为学生创新代表见到了来学校视察的温总理。张翔和我也捧着全国赛的奖杯,在学校2009-2010跨年晚会登台领奖。虽然学校的宣传不可避免地夸大了我们的工作(比如超越Mathematica),但就像我说的那样,我们的真实产出连Mathematica的冰山一角都比不上。项目能走到这一步已经非常不容易,如果不是李超出色的领导力和个人魅力,团队根本坚持不下来。要想让项目有质的飞跃,就必须商业化不可——如此浅显不过的道理,我当年就死活想不通,甚至经管学院的同学来找我们谈合作,我都一直持反对态度,生怕自己的孩子被人夺走似的。相比之下,张翔就比较开放,所以随后带着这个项目走完创业挑战杯的也是他。顺便说一下,其实maTHmU总共拿了6个特等奖,包括商业挑战杯的校级、市级和国家级奖项,不过后面就跟我没什么关系了。

研发方面,maTHmU作为一个学生创新研究课题,持续了挺长时间。我还招了一些感兴趣的学弟,煞有介事地教他们设计排版系统,还布置作业。也许缺乏了些热血,后面的进展似乎没有初代那么快了。

再后来,初代的主创们就各奔前程了

以下描述大多是 上能够查阅到的信息,侵删

  • 李超去了Harvard攻读纯数学的博士学位。临行前,他说他估计会消失5年,潜心搞学问。我读博四的时候,他回国跟我们见了一面,再往后就没怎么联系了。他现在在Columbia数学系任教。
  • 张翔在交叉研究院读博,做量子计算。 由于还在一个学校(其实实验室就在一个楼),我也跟他时常能见面聊聊天。 和性格沉稳的李超不同,张翔是个非常爱折腾的人,时常有些神奇的想法,有时甚至让人啼笑皆非。 他现在在人大物理系任教。
  • 阮威和张龙,与我交集比较少。 阮威在本校拿到博士学位后,去了Berkeley的物理系,搞的好像是超导相关的研究(反正我也看不懂)。 张龙也在本校拿到了博士学位,现在在国科大任教,搞的也是一个我看不懂的物理方向(感谢 @xdra 在评论区的提醒)。
  • 崔 恒纲和周梦宇,是低我们两级的小朋友。 他们跟我一样,都进了机器学习的坑,拿到学位以后,现在分别在Uber和Microsoft搞研发。 周梦宇还领导了后续maTHmU小组挺长时间,只不过后面的成员,我也不认识了。
  • 回头看看,好像我们都走上了科研道路,不知道是巧合,还是maTHmU项目对我们产生了神奇的影响。虽然只做了些很不成熟的东西,但我们几乎可以断言,仅凭一腔热血来做大规模系统,或许我们的项目就算是最好的结果了。没有成熟的商业模式或者健康的生态,项目不可能长期走下去。

    其实前前后后加入maTHmU的成员有很多,我认识的就不下30人。这里没法一一提起,但是他们都为这个项目做出了自己的贡献。

    我总觉得,那天晚上的李超,似乎比拿到本科特奖和Harvard的offer时,还要更高兴一些。

    10月21日晚更新

    有些同学对我们的代码和demo感兴趣。其实我们很早就在GitHub上公开了当年的代码,请见:https://github.com/maTHmU

    其中UI项目下,就是重构以后的前端代码。昨天考古,才发现我们的项目主页也存留至今:http://mathmu.github.io/

    首页的视频demo,就是当年我们拿到全国赛去演示的视频,是我和张翔一起录制的。现在看这个视频有点幼稚,不过确实已经展示了我们的核心功能。

    如果有人受益于我们的代码和书,能在我们的基础上更进一步,我想所有maTHmU的成员都会很欣慰的。

    10月23日晚更新

    截止今晚,这个回答为我带来了1K+关注者和4K+赞同。两位主创李超和张翔也久违地联系我,说他们看到了回答,回忆起不少往事。再次感谢这个问题!

    同时,我也希望借这次更新,探讨一些评论区看到的问题,也算是补充回答吧。

    或许有人认为,只要我们核心团队坚持下去,这个项目就能成大气候;抑或,如果当时或者现在有个金主把我们团队聚集起来,这个项目就会长期进行下去。很遗憾,这些看法都是片面的。要想比肩大型商业软件,最重要的还是长期的投入和生态。我们必须看到,国内的软件环境对于开发者非常不友好——游戏行业同样饱受盗版之苦,大家宁可花钱购买 游里的道具,也不愿支持正版单机游戏。如果这种现象没有本质改善,那么大型商业软件的出现就只能仰仗于奇迹,成功概率不是没有,但是非常低。我不希望我的文字在这个方面产生误会——否则它就仅仅是一个精彩的故事,甚至不能被当成这个问题的回答了。

    项目初期,我曾经问过李超,为什么会想搞这个项目,难道真的只是为了挑战杯,为了给自己增加各种筹码?他说不是。这个项目,他从大一就开始筹划,纯粹出于个人兴趣坚持了两年,终于在大三的时候看到了做成初步版本的希望。他也向我展示了各种文档,都是他点滴积累的笔记,甚至连TeXbook都是他介绍给我的——在UI设计的初期,他在方向性问题上的视野也远比我要长远。这些知识,是不可能在短期内积累起来的。正是这种坚持打动了我,我决定和他们一起追梦。事后证明这个决定是正确的,至少我拥有了难忘的回忆和宝贵的精神财富。

    最后,请各位读者在惊叹之余保持冷静。我们这个团队,不过是无数怀揣梦想的学生中的一小拨,想做一件小事,咬牙坚持了下来。我们成就了这个项目,这个项目也让我们成长,仅此而已。如果夸大了我们团队的模式,就是在夸大 个人英雄主义。如果是从未有人做过的事,那么依靠个人英雄主义或许可行。然而在市场上已经有MATLAB、Mathematica等成熟软件的前提下,商业模式驱动下的团队作战才是唯一的活路。辩证地看,我们的项目之所以能进行下去,是因为我们 一开始就没有冲着商业变现而去;因此,我们没有做成真正的大型项目,也就是天经地义的事了。

    最后我想说,我们的经验是有正面意义的。它至少证明了:任何一个时代,都不缺少敢于追梦的年轻人。只要有合适的时机,辅以适当的引导,我们就能创造属于自己、属于这个时代的奇迹。

    希望这个回答能给大家带来些许信心。如此,它就比其他高赞回答更深刻一些了吧。

    10月31日晨更新

    然而我希望提醒各位:不要用狭隘的眼光看待此事;不要把在美国或者美企工作,等同于无法为中国做出贡献。可以预见的一段时间内,中国科技水平和美国的差距还很大,因此任何与美国的科技合作,都会从统计意义上对中国有利。近年来,中国在计算机领域取得的重大科技进展,与美国是密不可分的。

    别人不提,只说我的经历:我在学术道路上的四位重要导师,无一不与美国相关。

    我的博士生导师,张钹院士,是中国人工智能的先驱和泰斗。上世纪80年代,他曾在美国UIUC访学两年。直至今日,他依然会回忆起访学经历对他产生的重要影响。

    我的博士生副导师,田奇教授,是计算机领域的知名学者。他在美国取得硕士、博士学位,并且担任教职达17年之久。然而,这并不妨碍他为中国各顶尖院校培养数十位研究生,而听过他讲课并且受到影响的学生更是不计其数。

    我在微软亚研实习期间的导师,王井东博士,也是计算机领域的知名学者。他在微软亚研工作10余年,也为中国各顶尖院校培养了数十位研究生。微软亚研作也被称为中国AI的黄埔军校,对中国AI的贡献无法估量。

    我在JHU做博后期间的导师,Alan L. Yuille教授,本身就是美籍英国人。他的实验室里,90%以上的成员都是中国学生——我认为他对中国的贡献,比大部分中国人要大得多。

    所以,请各位认清事实,以平常心态去对待两国之间人才的流动。我们要相信时代,更要相信这些优秀的学子们:中国正在逐渐强大,或者无论中国是否强大,学子们 效祖国的决心都不会改变。如果我们抱着狭隘的民族主义思想去阻止正常的学术交流,才更会阻止中国做出更好的科技成果,开发出更强的系统和软件。

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2021年1月10日
    下一篇 2021年1月10日

    相关推荐