借用独孤求败前辈的武学归纳:利剑、软剑、重剑、木剑、无剑 五个阶段来对我们开发者作一下经历形容,本文纯属扯蛋性质。
1 “无名利剑,凌厉刚猛,无坚不摧,弱冠前以之与河朔群雄争锋。”。
什么是利剑呢,所谓“利”,要从“凌厉刚猛”说起,也就是说,能够借助优秀的工具直接解决问题,再看看“弱冠前”,所代表的就是初出社会,常见于毕业生,小企业。那么整句话我们就可以这样理解:刚出世道,对自己、对社会,把握还不准,要借助外部的优秀工具,才能够混得一席之地。举例如:Word、FrontPage、Dreamweaver、 VB等。它们都能够省略很多的开发细节,通过图形界面的拖拉,就可以生成足以满足很多一般性需求的应用。相信很多学ASP的朋友就是这么过来的。在 Dreamweaver中通过简单的界面,不需要编程就可以完成大多数具备数据库功能的小网站。反之,如果你之前没有一点编程概念,而立即去接触VC++ 的话,我敢肯定:最简单的程序(如HelloWorld)你都不会通过,因为你一定与遇到 #include <iostream>的问题。 提问特征:“大哥,这个论坛是用什么软件做的?”
紫微软剑,也就是无名利剑的强化版。这是关键级别,出社会混得有一定时间了。于是就会有一个最常见的问题摆在眼前:ASP好还是PHP好,.NET好还是 JAVA好。VB好还是C++好。那么就要看看独孤求败老先生是怎么回答的:“误伤义士不祥,乃弃之深谷。”。怎么解释呢?对工具和品牌的执着追求,是苍白的。因为那是站在微软的(或者SUN的、开源社区的)肩膀上,并不能说明你自己的能力。所以,这种追求只能是“误伤义士不祥”,因为能力被局限于一个特定的范围内了,而且越陷越深,最终无法脱离这个范围。常见于越来越严重的Web Form,各种各样的框架。
说到这里,要特别注意一个字:“伤”,什么叫伤呢?伤就是既不死,也不健康。所以说,在这个范围内,既不会垮台,也不会进步,我们业界不是有句话吗:“跟着微软走,饿不着,但是也赚不了。”。在这里就把这句话的涵盖面扩大一些:无论跟着谁(仅限大企业之范畴)走,都是饿不着,也赚不了的。当然在本文中,“ 赚”,仅局限于知识结构和个人上的进步,与经济上的“赚”无关。
使用紫微软剑,不需要知道prototype,不需要知道XMLhttp,也不需要知道继承和多态究竟有什么不同。你只要背熟了左边工具栏的那些按钮都是干什么的,拖过来就可以了,然后再右下角的属性里面修改一下参数。最多写几个class,new一下,于是我今天也面向对象了。(但是,把话说得现实点,能在这个级别上混得有经验,也不愁买车买房了。)
这种事情也常见于我们的周围,某些公司之中,隔着两米不到的两个人,传递一份200字左右的信息,要分别依靠在Word文档中编写,然后等待打印机文件排队,再然后走到5米远的打印机去取文件,最后走回座位来交给这个离自己只有2米远的同事手中。 提问特征:“flickr是用什么语言写的?”
那么为什么要“弃之深谷”呢?“弃”了之后又该怎样?请看:
3 “重剑无锋,大巧不工。四十岁前恃之横行天下。”
重剑是杨过拿的,我们搞IT的,身子本来就虚,光看见这东西腿都软了,领会意思即可。什么叫“无锋”呢?也就是相对于无名利剑和紫微软剑来说的,不要去追赶时髦和新潮流。你能用Silverlight实现一个WEB版MSN或者QQ,也许你很牛,但是如果客户那里没有安装Silverlight的话,你的东西就是个废物。你能够在四核机器上流畅调试自己用XNA开发的3D游戏,也许你很牛,但是如果客户的机器配置只有P41.8G和512M(相信以我发布这篇文章时的时间来看,这样的配置占据着大半江山,同样我也不相信会有人为了一个网页而去安装.NET FrameWork),那么你的程序也同样是个废物。
什么叫“大巧不工”?正好相反,并非真的不巧。而是用最实用的技术来解决问题。就拿贝宝和国内银行网关的比较。贝宝可以在任何浏览器上正确完成支付,而国内银行网关则必须指定在管理员模式下通过IE加载ActiveX控件才能够运行。我们暂且不说windows用户,先看看那些MAC和liNUX用户都是什么人:工程师、程序员、IT狂热者。他们的共同特征是少出门,多上网。他们想买东西的话,网上支付就是最好的手段,偏偏这时候你来个ActiveX,这不明摆着无视他们了吗。贝宝在这一点上就做得很到位。没有花哨的要求,只要能上网,就可以完成支付。这就是所谓的“大巧不工”,不受某个企业(微软)所局限。 要达到这个境界,就一定得经过“利剑级”和“软剑级”,所谓“失败是成功之母”,一定得积累很多的经验。才会有这个觉悟。才会体会到原来用 JavaScript和ASP,也是能够完成WebForm的(只要你有这个必要)。也才会认识到xmlhttp原来也就这么回事,出问题的时候可以有无数种替代方案,一个简单留言板,也许直接在Dreamweaver中拖拖两下也就行了,隔壁那个吵吵嚷嚷着说我没有MVC思想的人,也许他才是脑子有病。实用 + 强化要害,就是这个级别的特征。 提问特征:“有评测报告吗?”
4 “四十岁後,不滞於物,草木竹石均可为剑。”
说到这里,也就先提一下列兵美术学院的素描教学:“以快制慢”。无论怎样,先快速完成整个框架。因为只有这时候,脑子中的灵感还能够保持着。还不至于陷入到局部的光影细节等技术问题上。接下来再强调明暗交界线的光影变化。这样在灵感和要害部位上的强化训练出的画家,也就不奇怪在画展和书本上的那种震撼和大气了。就像我们在画小图标的时候,总是画得很快,而且说不准还有某一个画得很好,但是当我们第二次描绘大图的时候,总觉得“没有当时那个灵感了”。这就是以快打慢,以柔克刚。但是快的前提条件是必须有深厚的素描功底,否则就是涂鸦了,再快也没有用,这就又提到另一个概念:“内力充沛,恃强克弱”。综上两点:快速完成+深厚内力,缺一不可。重剑是建立在深厚功力之上的,而木剑也就是开始讲究效率的时候了。如果缺少了功力,耍起木剑来就像是鬼师跳舞一样,没有实质杀伤力,实际例子就是某些为了追求开发速度,而采取胶带式编程的项目,绑得越多,死得越惨。而如果缺少了速度,也就丧失了灵感原则,最终变成任务式开发,效率低下。那么速度又是如何得来的呢?再回顾前面提到的“明暗交界线”:任何一幅作品,只要有了轮廓,有了明暗交界线,那么它就是完成了大部分了。转回到开发上,任何一个系统,保证最核心部分的稳定性和框架,以接口式和抽象式设计,一气呵成,后面的事情也就不用 *** 心了。说得再专业点,也就是熟练掌握了设计模式和数据结构。 重剑的力量+木剑的速度 = 无坚不摧 。这是木剑级的特征。 提问特征:“吃饭没有?”
5 “自此精修,渐进於无剑胜有剑之境。” 这种都是些什么人呢,我也说不出了。也许就是黑客帝国里面脱离了母体也能够有超能力的尼奥吧。 至此,又想起参禅的三重境界: 看山是山,看水是水。 看山不是山,看水不是水。 看山还是山,看水还是水。 总结
以上是内存溢出为你收集整理的剑术,语言和模式(转自博客园)全部内容,希望文章能够帮你解决剑术,语言和模式(转自博客园)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)