技术背后的故事缘起

from 博客园_首页 http://www.cnblogs.com/wufengtinghai/archive/2012/06/17/2552365.html

技术背后的故事缘起

本文缘起

         前两天写了一篇题名为“委托背后的故事”的博文,主要是关注委托这种技术需要解决的具体的问题,其中也穿插着简单的介绍了其他的实现技术,但是都没有介绍具体的实现细节。每一篇技术分享,我都需要查阅、阅读相关的资料力求准确无误,深怕自己的不慎会误人子弟。这篇文章几个园友评论没有关注委托的技术实现细节,我想有必要解释一下起初写这篇文章以及其设置器所在这个分类的目的。

技术背后的故事缘起

         最初迸发撰写这篇文章的想法,是看了园子里的一篇有关委托实现细节的文章,写的不错。其实从.net引入委托以来,有关委托的帖子就源源不断,其中不乏深入介绍剖析委托技术细节的优秀文章;其实我也是一个技术的狂热者(自我感觉是吧,哈哈),平时也看了很多的有关委托的文章,但是我还没有发现有关讲解委托所面向的问题域,也就是其需要解决的具体问题是什么;解决同样的问题,是否存在其他的一些技术,这些技术的实现有什么异同等。而最终将其归类为“技术背后的故事”,因为我觉得每个具体的技术的产生都是为了解决某个或者某些问题,同时每个技术都是需要理论支撑的,都是对理论的具体实现和特化。

我觉得了解这些对于我们真正的掌握和灵活运用相关技术还是有很大的作用的。

         技术是为客户服务的,需要解决客户面对的具体问题。某项技术的存在是以自身可以提供的价值为前提的,如果一项技术不能转化成生产力,那么它就会不会长久的存在;而这个评判标准是什么,就是其是否可以解决相关领域的客户的问题;比如说我们开发一款移动应用,我们的客户可能使用各种移动设配,这时候就需要一种技术来解决这种跨平台的问题,这就是html5需要解决的一个问题;虽然现阶段作为跨平台的解决方案,html5并不完美,但是正是它提供者解决这个问题的可能,才使众多的厂商不断拥抱html5

         技术是需要理论支撑的。技术是我们可以直接拿来使用,可以解决我们具体的问题的。所以我觉得技术是一种解决问题的工具。既然是解决某个问题,那么解决同样的问题,必然会有不同的实现方式。我们将这些不同的实现方式进行总结、抽象、提取,那么就会形成解决这个问题的方法论,也就是我们通常称谓的理论吧。技术本身就是某个理论的具体实现,只是很多时候是否值得将其提升为理论罢了。例如,同样的css标准,不同的浏览器厂商有不同的实现,即使是同一个厂商,不同版本的产品的实现也可能不同(比如IE)

         学习技术的一种方式。一般情况下,我们学习一项新的技术,除了学习其具体的技术实现,恐怕很多时候是为了使用其解决自己的问题,这样的话我们可以相对比较快的掌握一门技术。但是如果我们可以深入的了解技术所面对的问题域,或者其所依附的理论支撑,我们可能就会关注其他的相类似技术的实现;我觉得这也不失为学习技术的一种不错的方式。同样的是函数传参,cjavascriptC#有各自的技术实现;同样是实现面向对象技术,javascript却是使用原型实现的;同样是垃圾回收器,comCLR却使用了不同的算法。

         与软件开发过程相吻合。我们知道软件开发的过程,就是使用某种语言来表述我们的解决某个问题的方法。为了解决这些问题,我们就需要选择合适的技术,这就是我们通常所说的技术选型吧。只有我们了解了相关技术解决的具体的问题和理论支撑,我们才能更好比较各种技术实现的优劣,才能选择出更好更合适的技术。

总结

         写这篇文章的目的很简单,就是表达分享以下自己最原始的想法,这些都是自己平时中的一些感悟吧,这些不见得适合每个人,只是希望对学习技术者有所帮助吧。

本文链接

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s