2008年必须知道的新技术——软体开发篇 [zz]

2008年必须知道的新技术——软体开发篇 [zz]
原帖地址:
http://www.runpc.com.tw/content/168/168E18_1.aspx
2008年必须知道的新技术——软体开发篇 [zz]
2008年必须知道的新技术─软件开发篇
文/蔡学镛.汇整/编辑部
________________________________________
新 技术不断出现,其中某些技术很可能会成为我们不可避免的挑战,因此每隔几年,我们
都应该审视我们未来应该注意的技术有哪些。透过本文章,和大家分享我的技 术观察与建
议。 当然对大多数的开发者来说,Visual Studio 2008是今年的重头戏,这也是Windows
Vista推出之后的第一个全新的Visual Studio版本,不容我们轻忽。但依照惯例,微软还是
会用大量的技术资料、研讨会、资源…等,把我们喂得饱饱的。我就不用在此多介绍了。
另外RIA也是今年的重点,最值得注意的RIA技术当然是WPF/Sliverlight和AIR/Flash。关于
RIA,许多文章都已经有提及,我也 不在此赘述。我想在这篇文章中带领大家认识的,是比
较不一样的新挑战。

多核心与网络运算
穆尔定律观察到,每隔两年,在单一芯片上能做的事会加倍。但是穆尔定律绕道而行,不是
产生越来越快的处理器(这几年CPU频率的增加已经趋缓), Intel与AMD等公司的作法是产
生多核心的装置:单一芯片内包含两个、四个、甚至更多个处理器。如果你的程序没有共时
(concurrent),则一 次只会在单一个处理器上执行,使用者会认为你的程序很慢。对于
编程员来说,如何充分运用多核心的运算威力,变成一个重要的课题。 而网络的连结,造
成分布式的环境;如何用更有效的方式进行分布式编程,也会越来越重要。 结合了上面了
两点因素,Erlang正开始获得大家的重视。

Erlang解决了现今开发者面对的最迫切问题之一:如何写出可靠、共时(concurrent)、高
效能的系统。Erlang已经在世界各地被许多公司 广泛地采用,这些公司用它来产生可靠、
有效率、具规模弹性的应用。 Erlang是一个编程语言,它的设计目的,正是为了帮助我们
建立极度平行、分散、容错(fault-tolerant)的系统。它已经被商业采用运行多 年,建
立出许多容错系统。多年来,这些Erlang所建立的系统出错率极低。 Erlang程序在多核心
的计算机上执行时,会充分运用系统:这意味透过本文章,和大家分享我的技 术观察与建
议。 当然对大多数的开发者来说,Visual Studio 2008是今年的重头戏,这也是Windows
Vista推出之后的第一个全新的Visual Studio版本,不容我们轻忽。但依照惯例,微软还是
会用大量的技术资料、研讨会、资源…等,把我们喂得饱饱的。我就不用在此多介绍了。
另外RIA也是今年的重点,最值得注意的RIA技术当然是WPF/Sliverlight和AIR/Flash。关于
RIA,许多文章都已经有提及,我也 不在此赘述。我想在这篇文章中带领大家认识的,是比
较不一样的新挑战。

 多核心与网络运算
穆尔定律观察到,每隔两年,在单一芯片上能做的事会加倍。但是穆尔定律绕道而行,不是
产生越来越快的处理器(这几年CPU频率的增加已经趋缓), Intel与AMD等公司的作法是产
生多核心的装置:单一芯片内包含两个、四个、甚至更多个处理器。如果你的程序没有共时
(concurrent),则一 次只会在单一个处理器上执行,使用者会认为你的程序很慢。对于
编程员来说,如何充分运用多核心的运算威力,变成一个重要的课题。 而网络的连结,造
成分布式的环境;如何用更有效的方式进行分布式编程,也会越来越重要。 结合了上面了
两点因素,Erlang正开始获得大家的重视。

Erlang解决了现今开发者面对的最迫切问题之一:如何写出可靠、共时(concurrent)、高
效能的系统。Erlang已经在世界各地被许多公司 广泛地采用,这些公司用它来产生可靠、
有效率、具规模弹性的应用。 Erlang是一个编程语言,它的设计目的,正是为了帮助我们
建立极度平行、分散、容错(fault-tolerant)的系统。它已经被商业采用运行多 年,建
立出许多容错系统。多年来,这些Erlang所建立的系统出错率极低。 Erlang程序在多核心
的计算机上执行时,会充分运用系统:这意味着你的Erlang程序在四核心的计算机上会比单
核心的计算机上快,而最棒的是,你完全不需 要更动程序,就有如此显著的效果。当然,
你可以用别的语言做到和Erlang一样的事,但是只会事倍功半。
 GUI
在Windows 3.x时代,Charles Petzold的Windows程序设计著作是大家必读的经典。有人要
他为Windows NT也写一本这样的书,他却说:等NT卖千万套再说吧!这显示出Charles
Petzold一直都是属于「大众技术类」的作家,当他在2007年也写出一本3D程序书籍时,或
许代表我们3D程序设计的时代已经揭开序幕。 Vista与MacOS都早已经进入3D的时代。如何
运用3D的API,开发出更炫目的设计,会是未来GUI吸引使用者的重点。

 Java
除了Sun官方的Java,Google刚推出的手机平台Android也是一种Java平台。更不用提AIR也
可以算是广义的Java平台(太多地方都 类似Java,连Bytecode档案格式都很类似)。由于
Android和AIR都不是弱势的平台,所以可能会造成Java的分歧。 但是虽然彼此分歧,也算
各有其所。Java用在Web后端,Android用在手机,AIR用在Web前端。

 Shell
30多年来,沿袭自Unix的Shell用法,再怎么改变,终究是换汤不换药。在微软推出
PowerShell之后,Shell终于有了截然不同的面貌和 更强大的威力。运用.NET,整合各种对
象模型(WMI、COM…),PowerShell名称中有出现Power(威力)绝非浪得虚名。相当值得
系统管 理员与编程员学习。 但是提醒你,PowerShell或许不难上手,但是有太多陷阱。一
开始不熟悉这些陷阱时,会吃不少苦头。

 语言
从Tiobe的编程语言需求排名,可以看到Ruby与D语言快速进入主流;Perl消退,被Python超
越;C# 慢慢上涨、Java与C维持平盘、C++ 渐渐低落;Delphi持续探底,Lua往上猛窜。 估
计未来几年,OO语言还是主流,函数语言渐渐流行。目前主要是学术圈在使用函数语言(
Functional Language),但确实有相当多迹象显示,函数编程有可能会渐渐走入业界。

自己写parser。除非你用像REBOL这样的语言,否则写parser应该会是很痛苦的事,幸好你
可以利用 ANTLR帮你产生parser。目前ANTLR已经支持相当多主流语言,ANTLR相当值得学习

 Security
网络的时代,危机四伏。许多系统的保全都是事后加上的,这样子很危险。事先良好的规划
是建立保全环境的关键,而规划的最佳工具是模型塑造 (modeling)。用形式上的作法,
寻找威胁与弱点,以破除攻击。 STRIDE是相当知名的威胁分类模型。STRIDE可以用来为系
统的重大威胁进行分类。威胁正是攻击者希望发生的事,也就是我们不希望发生的事。如果
我 们塑模所有的STRIDE威胁分类,我们就有很高的机会可以涵盖大多数重要的领域。

STRIDE是Spoofing(伪造)、Tampering(窜改)、Repudiation(否认)、Information
Disclosure(信息揭露)、Denial of Service(服务阻断)、与Elevation of Privilege
(特权提升)的缩写。 建立保全模型,有三个部分:威胁、资产、与缓解(mitigation)
。透过塑模了解你的系统可能面临的威胁,并缓解问题,保护资产。不要让你的程序, 布
满弱点,危害大众,程序员必须及早补充Security相关的知识,将STRIDE应用在开发过程中

 整体而言
简单才是王道。PHP、RoR、REST会流行正是因为简单才是王道。复杂的技术固然有许多美好
的愿景(弹性、效率、跨平台…),但是大多数的 developer尚未看到愿景,就已经半途阵
亡。复杂的技术,学习门坎太高,开发过程太长,成本太高,所以只适合用在极少数的项目
中。 多语言的时代来临。以往只要用C/C++,就可以包办各种应用的开发,不管是系统程序
、桌面应用、网络应用。现在却是多语言的时代。多会几个语言比较保 险,尤其是学会两
、三个Script语言绝对不嫌多。 今天的资产是明天的包袱。不甘心丢弃手中的技术(毕竟
是多年学习的结果),改用(改学)新技术者,会渐渐被时代抛弃。Paradigm Shift是常态
,所以我们应该积极地接受这些新挑战,毕竟IT产业就是这样。

你可能感兴趣的:(2008年必须知道的新技术——软体开发篇 [zz])