写点什么

Charles Simonyi 在 JAOO 会议上揭开意图软件产品的面纱

  • 2007-09-28
  • 本文字数:1175 字

    阅读完需:约 4 分钟

在 9 月 24 日的丹麦 JAOO 会议上,Charles Simonyi(最近的太空观光者和前微软首席的 Word 和 Excel 架构师)将软件的短暂历史归纳为分离问题和解决方案间的斗争,并谈到了两种工作方式间的不匹配,它们是领域专家思考和保存他们的领域知识的工作方式与程序员必须保存并重写那些领域知识以构建为那些领域服务的软件的工作方式。

Charles 所创建的意图软件的目标是建立一个世界,在其中,领域专家可以用他们熟悉/ 顺手的符号或输入形式(方块、线条、表格、公式等等)书写需求。这个“领域代码(domain code)”被当作软件开发项目的一等公民,被用来作为产生应用其余部分的输入。业务使用者书写领域代码,开发者书写程序产生器。

这一目标已被意图软件开发成为“领域工作台”产品,该公司为此付出超过5 年的时间,该产品目前正处于非公开的beta 测试,并被一些咨询公司作为产品使用,包括Capgemini。领域工作台完全符合Martin Fowler 定义的语言工作台的全部需求。

在幕后,领域代码以一个被称为“意图树(intentional tree)”的树型结构表示,它可被投影成多重符号以便业务使用者可以用更适合他们的方式来表达领域代码。

领域代码可类比领域特定语言,但是它们是不可执行的,而且可以简单很多。因为它们不必是一个正式的可被解析的语言,它们可以有二义性。二义性的问题可使用底层领域代码(它们可捕获数据的不同子集)的多重符号/ 投影来解决——Charles 给出了一个CAD 系统的例子,在其中你可以画一个圆,但是接下来你可以在一个单独的视图中定义这个圆是什么。

Charles 邀请了 Henk Kolk(Capgemini 的技术副总裁)展示他们使用意图的工具所完成的一些工作。Henk 谈到了养老金领域,该领域的养老金计划极其复杂且还随着时间推移频繁的变化。一家公司试图为一个养老金计划建立一个通用数据模型,这耗费了他们好几年的工夫。

Henk 提到意图的工具允许那些习惯了用 Word 和 Excel 结合自制的公式 / 符号的业务专家使用相同符号来捕获复杂的养老金计划信息。下图显示了内置在领域工作台中的表格界面,它看上去与原来以 Word 作为来源的表格是一样的:

领域工作台允许代码完成,同样允许相同领域代码的多重投影:

业务使用者甚至可以在他们自己的定义旁边将可执行的测试内嵌于领域工作台中:

Henk 解释了整个工作过程:业务使用者可以很自然地参与进来,独立地开始“编码”,接下来所有的那些业务知识被保存并被用于产生应用的其余部分。Capgemini 最初试图为养老金计划构建一个通用的 DSL,但是现在使用意图后,他们打算为他们所有的养老金公司客户发布一个领域工作台。

关于意图软件目前还没有太多的报导,但是 InfoQ 将发布一个对 Charles Simonyi 的专访视频(在 JAOO 录制),对于本文中谈及的议题也会被拍成录像。一篇研究论文也会深入探究意图软件。该工具还没有一组启动的时间表,但是我们将对任何变化进行紧密跟踪报道。

2007-09-28 02:22769
用户头像

发布了 255 篇内容, 共 56.8 次阅读, 收获喜欢 10 次。

关注

评论

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

第 02 周作业

夏秋

极客大学架构师训练营

第 02 周学习总结

夏秋

架构师训练营第二周命题作业

hifly

设计模式 极客大学架构师训练营 UML 依赖倒置原则 接口隔离原则

0期架构Week2作业2

Nan Jiang

架构师训练营——第二周总结

jiangnanage

作业

chenzt

【架构师第二周作业】依赖倒置

浪浪

第2周总结

娄江国

极客大学架构师训练营

银行业数据治理之「数据资产管理」

数据司令

大数据 数据仓库 金融科技 数据治理 数据资产

江帅帅:精通 Spring Boot 系列 05

奈学教育

Spring Boot

第2周作业

娄江国

极客大学架构师训练营

设计原则

GalaxyCreater

架构

架构师训练营2 ——框架设计

默默

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

whiter

极客大学架构师训练营

0期架构Week2作业1

Nan Jiang

第二周作业

极客大学架构师训练营

聊聊面向对象的设计(OOD)原则

Jerry Tse

极客大学架构师训练营 作业

设计一个软件框架的关键点

dony.zhang

【漫画】云通信企业公众号,打造私域流量的利器

阿里云Edge Plus

云通信

week2作业

慢慢来的比较快

江帅帅:精通 Spring Boot 系列 05

古月木易

Spring Boot

架构师训练营 Week02 学习心得

极客大学架构师训练营

你不会还不懂依赖倒置吧?赶紧来看看

hellohuan

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

软件的本质与设计原则

dony.zhang

DIP和SIP的理解和学习

拈香(曾德政)

极客大学架构师训练营 面向对象设计原则 DIP 设计原则 SIP

透过本质和发展看编程

拈香(曾德政)

架构师 面向对象设计 极客大学架构师训练营 面向对象设计原则

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

王鑫龙

极客大学架构师训练营

架构师训练营第二周作业

Jerry Tse

极客大学架构师训练营 作业

7-ELEVEn工作法

wujunmin

管理 零售

视频豪横时代,应用如何快速构建视频点播能力?

阿里云Edge Plus

音视频 CDN 直播 点播

架构师训练营第二周命题作业

兔狲

作业

Charles Simonyi在JAOO会议上揭开意图软件产品的面纱_编程语言_Floyd Marinescu_InfoQ精选文章