你想要72变还是孙悟空?

来源:互联网 发布:js在线美化 编辑:程序博客网 时间:2024/04/29 20:44

72变还是孙悟空?这是个问题。

人人都想要得到72变的能力,不过不是每个人都愿意或者都能够去深山修行个数载。然而这里正好有个孙悟空具备72变的能力,能够降妖除魔,这给每个人又增添了一个选择,却给人带来了疑惑:掌握72变,无所不能,但却要花费更多的时间和精力去学习;收个孙悟空当徒弟固然可以降妖除魔,但是却让自己失去了驾驭超凡能力的机会。

我们都知道,唐三藏选择的是后者,因为他很明白自己想要的什么,什么才是最重要的。他的最终目标是去西天取得真经普度众人,沿途需要斩妖出怪,有个孙悟空当徒弟,自然就得以解决。不过他也是承受的风险的,毕竟孙悟空是徒弟,而不是自己,所以几次被妖怪抓走只能期盼徒弟来营救。如果时光倒流,唐三藏选择花个十年八年去学得一身好本领再独自去西天取经,估计到那时已经物是人非,为时晚矣。

程序员其实也时时面临类似的问题。程序员到底是应该花时间去掌握对底层的驾驭能力呢,还是使用某种中间件。这也是两种不同的代价选择。选择其一,付出的代价是时间和精力等的花费;选择其二,付出的代价是遇到莫名的问题,难以找到其根源。

我见过好多程序员很排斥中间件,一是他们不信任中间件,二是他们说不够灵活。在我看来,他们的想法也是有道理的。但是,现今的软件开发真就那么需要强大的灵活性?其实不然,大多数软件的瓶颈不是对底层的灵活控制,而是构建软件本身的复杂度问题。就像如果一个普通人想要取得真经那绝非易事,如果唐三藏没有使用诸如:孙悟空、猪八戒、沙悟净以及白龙马这样的中间件,估计他还没有走出家门就被妖怪吃掉了。

另一种极端的情况就是过分依赖中间件。程序员和唐三藏有一点不一样,唐三藏很看得开,即使自己不小心被妖怪抓住也没关系,正应了那句:“我不入地狱谁入地狱”。程序员要承担的现实风险是很高的,他必须在规定的时间内保质保量的完成产品,否则就可能失业,并且大多数人都承担不起所带来的后果。当只知道依赖中间件的程序员突然遇到中间件中出现了莫名的问题,就好像孙悟空时常也让唐三藏陷入困境之中,那么他可能就完全无法解决这样的问题了。

所以说这也是个非绝对的问题。或许我们不能72变样样精通,但我们总得会那么几样吧,说不定什么时候被妖怪抓了还可以自我逃生;或许我们不能得到像孙悟空这样的全能勇士,但我们有个猪八戒也不错嘛,收个猪八戒,省下几年学法术也不错。

可能在如今的软件开发当中,我们需要的是会一些法术的唐三藏加上几个徒弟,因为取西经的道路是越来越困难。中间件提升了抽象级别,给我们省去很多纠结细节的时间,提高软件开发效率;底层知识让我们遇到在中间件抽象级别之下的问题能够有能力去分析、调试,并解决,不用等待中间件提供商来修补其错误(往往这样的时间开销是承受不起的)。

72变还是孙悟空?我个人的选择是:收个孙悟空,叫他教我72变。