软件脱离硬件的束缚才真正成为软件

来源:互联网 发布:js bridge 编辑:程序博客网 时间:2024/04/28 12:39

当想法脱离纸和笔时,才能被称为思想!

近日读了《Linux/Unix设计思想》,得到了很多启发。
一直以来,人们认为软件运行于硬件之上。这是事实。然而严重依赖某种硬件的软件事实上只是一个奴隶而已,一旦硬件主人风光不再,那么它也寿终正寝了。因此编写可移植性的代码是最最重要的,随着硬件的多样化,汇编语言越来越不受欢迎。硬件的束缚只要存在,就会限制软件的进一步腾飞,软件只有脱离硬件的限制才能天马行空,其设计精髓才得以表现。
    那么,基于特定硬件的软件真的一无是处么?考虑这个问题的时候,不妨想一下软笔书法,直到今天,使用中性笔,圆珠笔的今天,软笔书法依然是一门艺术,然而人们终于认识到它只是一种记录的工具而不再是思想本身,因此软笔书法只能是一种艺术,而不再是思想本身,曾几何时,写一手好字被认为是有文化,有修养,而今天,这种陈旧的观念已不复存在。曾几何时,汇编程序员多么令人崇拜,可是后来,人们发现软件有很多仅仅属于自己的东西。基于硬件的调优以及其他工作完全成了很少一部分人的工作,当然你也可以称他们为艺术工作者。如今更令人崇拜的是搞纯软件的。软件发展了这么多年,事实上已经积累很太多的设计理念,模式,开发经验等有价值的东西,而这些东西和硬件的关系是不大甚至没有什么直接关系的,如果被硬件牵住,那么就无法彻底透彻的理解和应用这些纯软件的东西。
        基于特定硬件编程,往往希望得到的是“更快”,然而“明年的硬件的表现”会令你费力的工作汗颜。
        学习Linux内核的时候,我曾经花了多少个日日夜夜看代码,调试,编译,就为了弄明白0x7c00这个位置的特殊性,搞得我差点成了硬件工程师!花了那么久研究Intel处理器的分段机制-完全是为了兼容,其实就是为了能把Linux内核看下去,当我终于看到start_kernel的时候,已经乏力了...而实际上,真正的大牛们可以直接从schedule函数中得到调度器设计的信息。如今的我,虽然远远不是什么大牛,但是也甩开4年前的自己很远了吧?...现在,还有多人像我当年一样,为了弄懂Linux内核而去研究Intel分段之类的,是时候停下
来反思一下了。