写点什么

软件开发的过程

  • 2008-08-20
  • 本文字数:1047 字

    阅读完需:约 3 分钟

“射箭高手的秘密诅咒”一文中,纽约时报专栏作家Katie Thomas 描述了一种奇怪的痛苦情绪,它广为人知,人们称之为“目标恐慌”。当世界顶尖的射箭高手向目标发出一箭时,这种情绪会导致他们失去控制能力,如此现象让人费解。人们通常认为这是一种心理问题,新的研究表明:“目标恐慌”实际上是神经失调的表现。

为了理解这些以前无法解释的痛苦,神经病学家开始探究大脑深处存在的处理方式。比如最近《纽约客》发表了一篇文章,其中Atul Gawandem 博士描述了对于“四肢疼痛幻觉”的全新治疗方法。“四肢疼痛幻觉”是指,接受截肢手术的人会感受剧烈疼痛,不过这些疼痛出现在已被截去的手臂或腿部之上。医生将接受截肢的人放在多面镜子之前,这会让患者产生四肢健全的幻觉。接下来医生会让患者完成多种任务,比如指挥不存在的交响乐团。来自Walter Reed 医院的全新研究显示,这种“镜箱治疗法”可以有效去除“四肢疼痛幻觉”症状。令人惊讶的是,为大脑提供一系列全新的、出其意表的感官输入,这会让大脑改变内部的处理流程。

当然,在人工智能领域之内,使用数据改变处理这些数据的算法,这并无特别之处。此种“学习算法”的应用非常广泛,涵盖了从语音识别到信用卡欺诈检测等很多领域。实际上,随着处理海量数据能力的增强,似乎学习算法接受的数据要比算法本身还重要。在2008 创业学校上的演讲中,Peter Norvig 比较了五种可以自我调整的算法在表现上的差异,这些算法是用来处理自然语言的。结果表明:选择更好的算法所带来的表现提升,远不如让它们处理更多数据带来的提升更明显。

可是这种方式能够用来跟软件开发的过程做类比么?在《人类赖以生存的隐喻》一书中,George Lakoff 和Mark Johnson 讲述了隐喻塑造我们理解世界的方式,以及隐喻揭示与混淆我们身边世界的方式。对于大脑、软件,以及软件开发,唯一的隐喻就是:机器——也就是硬件。可是在这两个例子中,如果能将处理过程看做软件——也就是可编程的,也许能取得更好的进展;虽然易于出错,但是也易于修复。如果软件是软件开发的隐喻,那么软件开发的流程创建和提炼的方式,应该与软件创建和提炼的方式相同;小窥一下,处理软件开发流程,只需构建需要的部分,而且总是通过迭代和测试驱动的方式。

大家都已经习惯于事先明确定义最佳流程,要想抛弃这种观念,也许有点让人胆战心惊,可是现实告诉我们:要想为一组特定的人制订软件开发的流程,不应事先进行流程的明确定义,而应将精力放在流程的演进上;这也是与人类大脑和软件本身最一致的方式。

查看英文原文: Programming Processes

2008-08-20 09:389311
用户头像

发布了 479 篇内容, 共 157.8 次阅读, 收获喜欢 49 次。

关注

评论

发布
暂无评论
发现更多内容

【Java 基础语法】万字解析 Java 的多态、抽象类和接口

Java 程序员 后端

公有云是什么意思?其存在的意义是什么?

行云管家

云计算 公有云 私有云 混合云

营口市广东商会成立

江湖老铁

架构实战营-模块三作业

随风King

「架构实战营」

YGC问题排查,又让我涨姿势了!

Java 程序员 后端

《Spring实战》读书笔记-第4章 面向切面的Spring

Java 程序员 后端

《JVM系列》 第六章 -- 对象的实例化与内存布局

Java 程序员 后端

【Java从0到架构师】Maven

Java 程序员 后端

【Java从0到架构师】SQL 多表查询

Java 程序员 后端

【Java核心面试宝典】Day3、图解HashMap高频面试及底层实现架构!

Java 程序员 后端

WPF学习——依赖项属性(2)

Java 程序员 后端

ZK(ZooKeeper)分布式锁实现

Java 程序员 后端

Zookeeper(从7个方面来了解Zookeeper基础概念)

Java 程序员 后端

[译] 微服务的设计模式

Java 程序员 后端

WPF学习——依赖项属性(2)(1)

Java 程序员 后端

《代码重构》之方法到底多长算“长”

Java 程序员 后端

《重学Java高并发》Disruptor使用实战

Java 程序员 后端

《Spring实战》读书笔记-第4章 面向切面的Spring(1)

Java 程序员 后端

【Java 集合框架】Stack、Queue 和 Deque 的使用

Java 程序员 后端

【Java知识点详解 7】装箱和拆箱

Java 程序员 后端

全面通透深入剖析工厂方法模式

Tom弹架构

Java 架构 设计模式

【C 语言小游戏】手打贪吃蛇1

Java 程序员 后端

过等保选择云堡垒机还是硬件堡垒机比较好?

行云管家

网络安全 云服务 堡垒机 等级保护

ZooKeeper分布式配置——看这篇就够了

Java 程序员 后端

“抽象类”到底抽不抽象?实例对比一看便知!

Java 程序员 后端

《菜菜的机器学习sklearn课堂》降维算法PCA和SVD

Java 程序员 后端

【Java 多线程 1】CountDownLatch

Java 程序员 后端

《JVM系列》 第六章 -- 对象的实例化与内存布局(1)

Java 程序员 后端

《吃透MQ系列》核心基础全在这里了,一文啃透!

Java 程序员 后端

「并发原理专题」AQS的技术体系之CLH、MCS锁的原理及实现

Java 程序员 后端

【Java每日面试题】大厂是如何设计秒杀系统的?

Java 程序员 后端

软件开发的过程_研发效能_Kurt Christensen_InfoQ精选文章