写点什么

软件开发的过程

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

    阅读完需:约 3 分钟

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

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

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

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

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

查看英文原文: Programming Processes

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

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

关注

评论

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

架构师训练营 - 学习笔记 - 第三周

心在飞

极客大学架构师训练营

ARTS打卡 第4周

引花眠

ARTS 打卡计划

架构师训练营-第 03 周总结

Eric

极客大学架构师训练营

架构师训练营 - 第三周作业

teslə

架构师训练营-第 03 周作业提交

Eric

极客大学架构师训练营

Open-Falcon安装注意事项

wong

Open-Falcon Nightingale Monitor

ARTS-WEEK3

Allen

故障演练利器之ChaosBlade介绍

心平气和

故障演练 故障注入

极客时间 - 架构师培训 -3 期作业

Damon

每周学习总结 - 架构师培训 3 期

Damon

week3.课后作业

个人练习生niki👍

单例模式 组合模式

程序员的晚餐 | 6 月 21 日 自制小火锅

清远

美食

设计模式练习及感想(训练营第三课)

看山是山

设计模式 极客大学架构师训练营

week3 学习总结

任小龙

ARTS-WEEK4

一周思进

ARTS 打卡计划

代码重构-学习总结

飞雪

ARTS 第 3 周

乌拉里

三周作业

飞雪

架构师训练营 - 第三周总结

teslə

Prometheus 2.19.0 新特性

耳东@Erdong

Prometheus

技术学习进阶(死磕法)

dudu

学习 技术

架构师训练营-第 02 周作业

Eric

搞定 HTTP 协议(三):如何严谨地描述一个 HTTP 报文?

零和幺

https HTTP

138 张图带你 MySQL 入门

苹果看辽宁体育

MySQL 数据库

信息的表示与存储-整数的运算

引花眠

计算机基础

易纲:上海可以在人民币自由兑换等方面先行先试

CECBC

数字货币 区块链技术 金融科技中心

十万同时在线用户,需要多少内存?——Newbe.Claptrap 框架水平扩展实验

newbe36524

架构师训练营 - 第 02 周学习总结

Eric

Go:使用Delve和Core Dump来调试

陈思敏捷

debug gdb Go 语言

架构师训练营第三周作业

CATTY

单例模式和组合模式

鲁米

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