您的位置:首页 > 其它

混合时代的开发己经来临

2015-08-22 15:29 148 查看
作者:爱德华加森(Edward Garson)

随着计算机技术的“自然进化”,架构师用来构建软件系统的工具发生了重大的变化。这种变化再次激起了人们对混合编程(polyglot programming)的兴趣。混合编程是指在同一套软件系统中同时采用多种核心编程语言。

混合编程不是新的概念,以前就出现过,比如大家曾经熟悉的一种架构:前端采用Visual Basic开发客户端,后端采用C++的COM对象开发应用。这时这种架构充分发挥了两种语言的优势。

那么,是什么样的变化重新激发了大家对混合编程的兴趣呢?

得益于技术标准的发展,以及不断增加的带宽和计算资源,现在可以采用基于文本的协议(text-based protocols)了。在分布式系统领域,晦涩难懂的二进制协议己经不再是提高效率的前提条件。基于XML/SOAP的Web服务首先采用了基于文本的远程协同工作方式(remote interoperability),随后Restful架构风格、Atom和XMPP进一步捉进了基于文本协议的发展。

这些新技术以特定格式的文本作为载体,便于所有人编写和理解,为混合开发(heterogeneous development)提供了前所未有的可能性。混合开发允许为每项任务挑选最合适的工具,基于文本的协同工作方式则敲开了通往混合开发的大门。

架构师可以把若干个强大的开发工具组合起来使用,以住的标准是挑选合适的编程语言,现在则演变成挑选合适的编程范式,编程语言支持的范式各有不同,有些是面向对象的,有些是函数式的,有些适合并发编程。对于具体的领域问题,有些范式可以完美地解决,有些则显得力不从心。但没关系,现在可以很容易地把看似不搭界的工具“混搭”(mash up)起来使用,形成巧妙的解决方案。

混合开发的效果己经开始显现,并且正以组合性增长(combinatorial increase)的态势扩展软件系统的架构拓朴图。它一方面反映了软件系统特有的多元性,同时也指出了新的发展方向。

虽然选择多了并不总是件好事,但至少好过以往软件架构非此即彼的窘境。软件行业正面临着严峻的挑战,现有的开发平台还不足以应付新出现的问题,我们必须发掘更多的协同工作方式才得化险为夷。

新的技术变革正逐步瓦解我们以往积累的技术成果,架构师将面临更大的挑战。我们应该拥抱这种变化,跳出原有的思维模式,充分挖掘软件的多元化特性。混全开发的时代己经来临。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: