杂文笔记

    返回首页    发表留言
本文作者:李德强
          喜欢重复造轮子
 
 

        近年来常常有人说起“不要重复造轮子”。然而对于我来说,我却偏偏喜欢“重复造轮子”。为什么呢?其实很简单,我一向认为只有去真正的了解“轮子”的原理才能更好的使用它,把它应用的加合理、更加有效。在这个信息高度发达的时代,技术这一名词在很多人眼里变得越来越不值钱,很多人认为目前有那么多的开源技术,那么多的开源功能,需要用到某一个技术时随手拿来就可以用了,根本不用管它的内部结构与实现原理,能为我所用才是主要的(请参见《技术真的没用吗》)。中国民间有句老话说:“不但要知其然,更要知其所以然。”我觉得这句话说到我的心里去了。

        在几年前,我对操作系统内核产生了浓厚的兴趣,于是参考Linux内核,自己边学边做,开发了一个属于自己的操作系统内核。从启动引导程序到内核程序再到外壳程序全部从零开始的编写,整个过程近三年的时间,这几乎占据了我全部的业余时间。有很多朋友跟我说:“做这内核程序没有一点用,就算你最后做完了,也没有人家Linux内核做的好。不要重复造轮子。”然而我还是在继续的编写我的操作系统程序,在这三年里我步履艰难,常常遇到一些非常棘手的问题,有的问题可以三五天能解决,也有的两三个星期才能解决,更有甚者我花了两个月的时间才解决掉。整个过程非常枯燥、非常痛苦,我的内心也非常孤独,但一路走来还是把我的操作系统做的有模有样。虽然它只是一个仅供学习用的操作系统程序,没有什么实际用途,但我从中学会了非常多的技术知识。而对Linux内核程序也有了一定的了解,为学习Linux内核也打下了基础。我是在“重复造轮子”,但我喜欢这样的工作,在学习前辈的优秀作品的过程中更能使自己的能力有所提升。

        相同的事情还有很多,比如我研发做了一个多旋翼无人机,采用树莓派做飞行控制器,自己编写的所有飞行控制程序,整个过程大概用了一年半的时间。也有朋友问我说:“你做的这个无人机跟市场上现有的商业无人机比较有什么优点?是否属于‘重复造轮子’?”我其实在做无人机时从未想过要超越市场上现有的无人机,我做无人机的初衷无非还是“爱好”两个字,没有任何的商业性质。整个制作过程也非常的痛苦,就只调节平衡参数部分(角度与角速度的双PID调参)就花了我大量的时间,一个参数一个参数的调整,但看似在“重复造轮子”,但过程中我学会了很多知识,在实践中真正的理解了每个PID参数的原理与作用,这要比在书本上看到的说明理解的更加深入和彻底。在多旋翼无人机制作的过程中由于控制程序编写的错误,导致飞机失控我还多次受伤,飞机的螺旋桨曾多次砍在我的身上,现在还留有伤疤。但是在飞机真正的飞上天的那一刻流过的血和汗就都值得了。不但学到了真正的知识,还真正的体会到了那种“有志者事竟成”的经历,也许制做一驾小小的飞机并不算是什么成功。但在我:重复造轮子”的过程中我学到了知识,学到了技术,学会了努力,学会了坚强。

        “重复造轮子”——制造轮子的过程值得经历和体会站在巨人的肩膀上,跟着前辈的脚步前进。造轮子的过程也是成长的过程,不能因为世界上已经有了轮子,我们就不再去造轮子。我喜欢”重复造轮子“,在造轮子的过程中我乐在其中,编写操作系统内核使我对内核程序的原理有了更深入的了解,并真正的理解了多级指针、goto语句等等技术。制作无人机使我对多旋翼的飞行原理有了更深入的体会,并学会了PID调参、多线程技术等等。或许在哪一天我造出一个不一样的轮子来,比现在的轮子又好又实用也未尝可知。

    返回首页    返回顶部
  看不清?点击刷新

 

  Copyright © 2015-2018 问渠网 辽ICP备15013245号