记得前些时候,老赵还在的时候,有一股F#学习的热潮,那个时候,如果你不知道什么是函数式编程,你都不好意思在园子里面说话。一时间,F#变成了一个有未来的东西,长篇累牍的文章占据着网站的首页。可是现在事实证明了,这又是一口井。SL虽然不至于落寞到F#的份上,不过,热度明显已经褪去很多了,SL的应用还是仅限于内部网。自从MS就自家的skyDriver的SL废掉之后,各种谣言满天飞了【如果大家对SL前途有不同看法,请发表意见,不过此文不是针对某语言或技术的,可能在SL的前景上的观点不是实事及实事的全部,仅是个人意见】。
诚然,每个人的时间都是有限的,我们学习这门语言,这项技术,不是喜欢这项技术,只是想靠他赚钱罢了。这个技术上投入了大量的时间学习,做了大量的练习,等到技术成熟的时候,可以出去赚钱的时候,却发现这项技术已是明日黄花了。这种失落感,可以理解。但是,真的到了这个地步,我们应该做些什么呢?或者说,我们应该抱着怎么样的心态去学习一门新的东西呢?本文想对于这个问题,进行一些阐述和讨论。
每当MS出一个新技术,MS就会使用手里的资源大势宣传,一俊遮百丑,配合水军们的功力,立刻让大家相信,这个东西代表着未来的趋势。记住,微软可以同时并行多个项目,只要一个成功就可以了,你不行,你的时间有限,所以,你必须有自己的主见来决定你,学习或者不学习这个东西。对于园子里的发言,大都有一种可怕的倾向性,我学的东西,我也要大家学习,我是MS的粉丝,我必须强迫你接受,我学的东西最好,你也应该学习。Java之流的东西,属于异教徒的奇技淫巧罢了,不入流。这点有点像17世纪的传道士一样。正确的做法是,带着中立的心态去看这门语言:
1.这门语言适合我吗?和我以前学过的东西有多少交集,有多少相识度,学习成本高不高。微软的一个问题就是有时候不顾大家的学习成本。WPF和传统的Winform,Webform改变太多了。原来Winform上的很多东西和WPF完全格格不入。一下子就有一种新概念膨胀的感觉。如果你是一张白纸,你当然可以学习WPF,如果你是一个时间充裕的人,你也可以学习WPF,如果你是一个喜欢尝鲜的人,你也可以学习WPF。但是,WPF只是一个企业的标准,不是IEEE的标准,如果你的以前的知识体系已经很成熟了,并且不想将命运和一个企业绑在一起,还是浅尝即止比较好。
2.将新技术和现有的技术进行比较,看看有什么学习的必要吗?
新技术,如果它可以做一些旧技术无法完成的事情,这个才是新技术的价值。F#有什么别人不能做的事情吗?SL相对于Flash来说,有什么过人之处吗?我不知道这两个问题的答案,我不发表意见。但是,你在学习新的东西之前,应该问问自己这样的问题。新的东西是企业竞争的产物还是技术趋势的结晶?C#,其实就是MS对抗Java的一个产品罢了,不用将其放在圣经的位置上,每天顶礼膜拜。
3.我能接受这门技术的失败吗?我学习新技术的目标是什么。
学习新技术,不能急功近利。一旦技术失宠了,觉得时间浪费了。
学习新技术,其实就是一种探险,哇。。。原来编程可以这么有趣,原来可以这样操作数据。
例如我们学习了汇编之后,知道了循环语句其实就是一个比较和一个跳转语句,即使你不使用汇编,你也收获到了知识。
学习新技术,就是要学习新的思想,能不能赚钱,应该放在第二。你抱着这种心态的话,即使这门技术落寞了,你也不会失望,你的目标是学习新思想,学到新思想后,你的目标就达成了。当然能靠这门技术赚个三瓜两枣最好了。
不管未来F#,SL能不能有属于他们自己的荣光,学过这两门语言技术的人,如果能够开阔思路,扩展视野,就不要患得患失了。与其在论坛上为了某技术的未来唇枪舌战,不如干点实事。某技术的未来,不是我们这些蚂蚁说了算的,大鳄有自己的打算,随时可以牺牲小卒子的。
这里无意卷入 Sliverlight 等技术未来的话题,我没有资格说这个话题。只是想说说,如果一个技术落寞的时候,我们应该怎么办。
- Do while(time++){
- love++
- }
最新版源代码请在官网下载
我记录网址 http://www.wojilu.com/
我记录百度百科:http://baike.baidu.com/view/5898394.htm