仓库源文

.. Kenneth Lee 版权所有 2017-2020

:Authors: Kenneth Lee :Version: 1.0

写论文


今天和一位研究生朋友交流,谈到“写论文”的问题,我有个感觉——不仅是他——很多人都觉 得非常具有先进性的东西才能写为论文。这和一些刚入行的工程师的理解一样,觉得非常 高大上的技术才能成为“专利”。我觉得这是一种误解。

论文,是一种概念收缩的过程,让我们在很复杂的概念空间中得到一个相对简单的概念。 即使是前人都已经做过的事情,再做一次都可以形成论文。比如孟德尔的豌豆杂交实验, 你再做一次,难道就没有价值吗?明显它是有的,一个设计严谨的实验,它会再次证实, 或者推翻前人的结果。不同的观察视角,会带来不同的总结,从而引导一个学科分支走到 不同的道路上。不是非要开发一个操作系统才能写论文的,把不同操作系统的系统调用过 程进行归纳,比较也是论文。它论述的是主流的操作系统有哪些,是否都有系统调用,以 及系统调用的分类,乃至可能还有这些系统的实现方式各自有什么优势,或者可以由此推 出还有可能使用什么样的其他设计可能性。更简单的,可以仅仅在x86上运行QNX,跟踪一 次msg_send的性能和一次简单内核request的性能差异。你的每个动作,如果进行严谨的记 录,它就是一个可以成为其他实验的基础的“价值工作”,这都是有价值的论文(当然价值 有高低),就算这个论文不准备发表,你都可以通过这个论文整理你的逻辑链,改进你的 实验,从而让你的工作变得更有效。比如我们最近有人验证了使用硬件加速器加速openssl 的效率高还是直接用cpu的效率高。他把他的数据逻辑链摆出来。我就Challenge他的逻辑 链如下问题:

  1. 如何证明两个测试的结果没有受到其他参数的影响?

  2. 如何证明两个测试的结果在某些指标提升后(比如CPU升级,CPU数量升级,硬盘换SSD 等),比较结果还是有效的?

  3. 使用硬件加速器虽然性能没有提升,但是否可以释放CPU的压力?

这些Challenge有些会导致他修改结论,有些会导致他观察更多的数据。最后,我们就可以 得到一个抽象的结论,比如:“在XX情况下,硬件加速器对CPU的优势在数据包超过XXX的时 候才有优势”等等。这些结论,会成为下一个研究或者设计的基础,这就是好的论文(同样 ,无论是否发表)。

所以,我很难理解为什么一个科学或者工程行为,完成后既没有产品输出,也没有论文输 出,那这个科学或者工程行为的目的是什么?——我们不是民工。

专利的问题是类似的,专利也不是高大上的发明。专利是这样产生的,我要做一个新产品 ,在其中一个设计选择上,我有5个方案,2个方案已经有人用了,我想出了另外3个,其中 2个被我做砸了,最后我用了第5个,这个虽然简单,但从来没有人用过,我这是付出的代 价得到的结果,它不需要高大上,但它是有成本的,后面的人其实是用了我的代价的,所 以作为先行者,我需要有加持,我就把它申请专利了。专利不是高大上的发明,专利是给 予先行者投资的保护。

很多新手工程师都不明白这一点,明明该申请专利的东西,觉得没有什么了不起的,轻轻 就放过了,后面被人仿造了都不知道自己的亏吃在什么地方。

所以,无论是论文还是专利,其实需要我们清晰知道,我们研究和创造,想得到的是什么 东西。这些东西再小,你愿意消耗时间去解决它,就说明它很重要,而这些才是你应该真 正关注的,需要你在每个细节上打磨,而那些所谓高大上的概念,发明,其实只是好看, 水月镜花,缺乏非常严谨的逻辑链支持,是没有价值的。