`
xpp02
  • 浏览: 1072730 次
社区版块
存档分类
最新评论

软件技术发展的驱动力

 
阅读更多
软件产品的终极目标是为了实现用户需求从而满足人们的需要。也正是为了不断满足人们的需要使得软件行业不断向前发展。比如,新的算法(MPEG-1、MPEG-2、MPEG-4、H.264、……)等的出现都在当时为了满足不同的需要而被发明。然而,人们的需要(行业发展的外部动力)却并非是软件技术发展的唯一驱动力,因为它无法解释为什么业内的编程语言、软件平台与框架等会层出不穷,有的甚至给人“重新发明轮子”的感觉。如何判断“新轮子”的确是必要的呢?这与本文想重点关注的另外三大驱动力有关,重点关注它们的原因源于其与我们的日常工作更加息息相关。

我认为,软件技术发展的另外三大驱动力分别是简化、复用和美化(行业发展的内部动力)。“新轮子”是否必要的关键,是看它在简化、复用和美化这三个纬度上是否存在优于“老轮子”的内容。注意,这三大驱动力是站在程序员的角度去观察的,而不是从软件产品的最终用户角度。因为最终用户只关心产品的功能与使用体验,而不关注产品的开发过程,更不关心产品是用“老轮子”抑或“新轮子”构建的。

简化是应对日益复杂和规模庞大软件的核心有效手段,因为“复杂的问题总是以简单的方法解决的”(引自《大师亚当斯》)。简化的关键不是“拍脑袋”做到哪是哪,而需运用我们的洞察力去找到解决问题的关键路径、去繁求简。然而,洞察力的获得除了需要在某一技术方向上的长期积累外,更需要我们不断坚持就所面临的问题全神贯注地思考,洞察力也因此成为了行业的稀缺资源,也决定了真正能简化软件设计与实现的人少之又少。

简化在业内有各种不同的表现形式,除了有方法论(比如,领域驱动开发、面向对象编程、设计模式和解耦),更有通过不同形式和程度的抽象(比如,C编程语言之于汇编语言、C++编程语言之于C编程语言、各种软件平台与框架)。有趣的是,这些表现形式在简化的道路上自身却带来了更大的复杂度(复杂度是守恒的?)。

复用的好处相信众人皆知,这使得我们因避免“重新造(相同的)轮子”而获得更高的开发效率和更高质的产品。复用这一驱动力使得业内出现各种不同的开源软件平台与框架,也使得软件企业长期致力于打造自有产品的通用软件平台与框架。对于复杂软件来说,竞品的背后实际上是软件平台与框架之争。

复用的表现形式不只是构建软件平台与框架,还有各种编程语言的“语法糖”等。

简单是一种美,但美不只在于简单,更有软件的内在结构与代码的表现形式,美化因此也成为了驱动软件技术发展的另一大动力。我认为软件之美在于:1)对适应将来软件功能变化而导致的代码变更保持一定的弹性。这种适应能力其实是对软件内在结构的合理性提出了要求。2)代码能作为程序员间流畅沟通的载体与桥梁。这是对代码的表现形式所提出的要求,也间接地指出编程的目的不只是提供API或实现软件功能。美化工作的不到位是很多软件开发团队深陷质量困境的重要原因。

现实中,软件技术的进步其实是简化、复用和美化三大驱动力的综合结果,因为三者间并非完全正交。比如,简化的结果可能也实现了美化,美化的结果可能也带来了简化,复用又为我们带来了简化。无论如何,通常其中一个是作为技术发展的主导动机。



了解三大驱动力有助于我们更理性地看待软件技术的发展,同时作者也想暗示,我们在软件开发工作中应从简化、复用和美化三方面着手,而不能停留在“软件能用就行”这种“原始需求”上。否则,我们的行为就是不符合软件技术发展的“潮流”哦!

分享到:
评论

相关推荐

    信息技术是当今世界经济社会发展的重要驱动力.docx

    信息技术是当今世界经济社会发展的重要驱动力 信息技术是当今世界经济社会发展的重要驱动力,电子信息产业是国民经济的战略性、基础性和先导性支柱产业,对于促进社会就业、拉动经济增长、调整产业结构、转变发展...

    大数据_数据库创新的驱动力

    大数据是21世纪信息技术发展的重要推动力,它重新定义了数据的价值和处理方式,成为数据库创新的核心驱动力。大数据的特点包括海量性、时序动态性和多样性,这些特性使得传统数据库管理系统面临前所未有的挑战。 ...

    信息技术是当今世界经济社会发展的重要驱动力.pdf

    信息技术(Information Technology, IT)是当今世界经济社会发展的关键驱动力。作为国民经济的战略性、基础性和先导性支柱产业,电子信息产业对于促进社会就业、拉动经济增长、调整产业结构、转变发展方式以及维护...

    2025年我国软件和信息技术服务业发展形势展望.docx

    在2025年及未来几年,我国软件和信息技术服务业的发展将呈现出高质量增长、产业链现代化、区域协同发展和创新驱动的新特点。在积极应对挑战的同时,产业的发展潜能将得到进一步释放,为国家经济的数字化和智能化转型...

    陈阳生 交流伺服驱动技术及其发展趋势-201 1

    总之,交流伺服驱动技术作为自动化领域的核心技术之一,其不断演进和创新对于推动产业升级、提升制造业竞争力具有重要意义。随着科技的不断进步,我们有理由相信,未来的交流伺服驱动系统将更加高效、智能、绿色,为...

    信息技术是当今世界经济社会发展的重要驱动力 (2).pdf

    信息技术是当今世界经济社会发展的关键驱动力,尤其在电子信息技术领域,其对全球经济的影响力日益显著。中国的电子信息产业自改革开放以来经历了快速的发展,特别是在21世纪,产业规模、产业结构和技术水平都有了...

    软件技术的发展与创.ppt

    总结来说,软件技术的发展与创新是信息技术领域的核心驱动力,它在满足不断变化的需求、提高效率、保障安全以及推动新产业革命等方面发挥了重要作用。随着技术的持续演进,软件将继续深入到我们生活的各个方面,影响...

    2020年中国软件和信息技术服务业发展形势展望.pdf

    在中国,软件和信息技术服务业是经济发展的重要组成部分,2019年该产业...总之,2020年中国软件和信息技术服务业将面临既有机遇也有挑战的局面,行业需要通过内外部的改革和创新来提升竞争力,并实现产业的高质量发展。

    从驱动力解读城市发展概述.pptx

    1. 城市发展驱动力:城市发展受两大驱动因素影响,分别是外部驱动因素(R1)和内部驱动因素(R2)。外部驱动因素通常包括国家政策、全球经济环境、科技进步等,它们可以为城市带来新的发展机遇。内部驱动因素则涉及...

    电力设备多物理场仿真技术及软件发展现状.pptx

    总结来说,电力设备多物理场仿真技术及软件是电力行业科技进步的关键驱动力,尽管当前存在一些挑战,但通过持续的研发和创新,我们有理由相信未来将实现更加智能化、高效化的电力设备设计和运行。

    通信软件开发技术讲义

    综上所述,通信软件作为推动通信行业和IT行业发展的关键驱动力之一,其重要性不言而喻。无论是国内外现状的对比分析,还是面向未来的通信软件开发技术趋势探讨,都揭示了通信软件在技术创新、市场应用和服务提升等...

    新时期我国信息技术产业的发展

    关键词部分提到信息技术产业、产业发展、发展战略、新时代和中国的发展模式及驱动力,这些关键词强调了信息技术产业在未来中国发展中的关键地位。 文章中还简要提到了信息技术升级的关键节点,从1975年到1995年,...

    中国软件产业发展战略研究报告

    3. **发展模式**:中国的软件产业发展模式包括技术创新驱动、服务外包、产业集聚和协同创新等。报告会深入解析这些模式的实践案例,揭示它们的成功要素和面临的挑战。 4. **政策环境**:政府对软件产业的扶持政策是...

    中国汽车基础软件发展白皮书5.0

    目标在于帮助企业理解和采纳先进的软件开发技术和工具,加速产品迭代,降低成本,提高竞争力。 其他说明:文档还讨论了边缘计算与云端大数据层协同工作的优势,指出了整车软件开发方法从规则驱动向数据驱动演变的...

    【信息服务业】软件和信息技术服务业发展思路浅析.docx

    【信息服务业】软件和信息技术服务业是当今经济社会发展的核心驱动力,对于天津乃至全国的经济转型和升级至关重要。在京津冀协同发展战略和“五个现代化天津”建设的背景下,天津的软件和信息技术服务业呈现出强劲的...

    试论信息时代下软件技术的发展困境及未来思考.pdf

    在信息时代,软件技术已成为推动社会发展的重要力量,但同时也面临着一系列的发展困境。本文将深入探讨这些困境以及软件技术的未来发展趋势。 首先,软件技术在互联网初期主要关注数据处理和计算,随着技术的进步,...

    [软件开发,趋势,计算机]计算机软件开发技术及其发展趋势.docx

    计算机软件开发技术是21世纪信息技术发展的核心驱动力,它在我们的日常生活中起着至关重要的作用。当前,软件开发技术的现状是随着信息化时代的到来,网络已经深入到人们的日常活动中,改变了我们的生活方式。计算机...

    应用软件,步入未来 三大战略构建高速运作的软件驱动型业务 埃森哲信息技术服务观点报告-2015.pdf

    在2015年埃森哲信息技术服务发布的观点报告中,企业被提示了三大战略来构建高速运作的软件驱动型业务。该报告强调了软件在现代商业环境中的关键作用,并指出了企业需要重点关注的领域。 首先,报告中提到的“软件...

    软件和信息技术服务业发展趋势分析.docx

    企业的国际化发展步伐不断加快,中国软件和信息技术服务业开始走向世界舞台,竞争力和影响力不断增强。 二、需要关注的几个问题 (一)中美贸易摩擦凸显核心技术缺失 中美贸易摩擦对中国软件和信息技术服务业的...

Global site tag (gtag.js) - Google Analytics