剑术,语言和模式

编程技术  /  houtizong 发布于 2年前   89
借用独孤求败前辈的武学归纳:利剑、软剑、重剑、木剑、无剑 五个阶段来对我们开发者作一下经历形容,本文纯属扯蛋性质。

1 “无名利剑,凌厉刚猛,无坚不摧,弱冠前以之与河朔群雄争锋。”。
什么是利剑呢,所谓“利”,要从“凌厉刚猛”说起,也就是说,能够借助优秀的工具直接解决问题,再看看“弱冠前”,所代表的就是初出社会,常见于毕业生, 小企业。那么整句话我们就可以这样理解: 刚出世道,对自己、对社会,把握还不准,要借助外部的优秀工具,才能够混得一席之地。举例如:Word、FrontPage、DreamWeaver、 VB等。它们都能够省略很多的开发细节,通过图形界面的拖拉,就可以生成足以满足很多一般性需求的应用。相信很多学ASP的朋友就是这么过来的。在 DreamWeaver中通过简单的界面,不需要编程就可以完成大多数具备数据库功能的小网站。反之,如果你之前没有一点编程概念,而立即去接触VC++ 的话,我敢肯定:最简单的程序(如HelloWorld)你都不会通过,因为你一定与遇到 #include <iostream>的问题。 提问特征:“大哥,这个论坛是用什么软件做的?”

2 “紫薇软剑,三十岁前所用,误伤义士不祥,乃弃之深谷。”
紫微软剑,也就是无名利剑的强化版。这是关键级别,出社会混得有一定时间了。于是就会有一个最常见的问题摆在眼前: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 “自此精修,渐进於无剑胜有剑之境。”
这种都是些什么人呢,我也说不出了。也许就是黑客帝国里面脱离了母体也能够有超能力的尼奥吧。
至此,又想起参禅的三重境界:
看山是山,看水是水。
看山不是山,看水不是水。
看山还是山,看水还是水。

本文谢绝类似于“有本事你用汇编去写网页”之类的弱智讨论以及各种牛角尖问题。

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客