写点什么

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:221157
用户头像

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

关注

评论

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

易客云会员系统相关介绍

微擎应用市场

基于 TensorFlow 的 PyTorch-MNIST 手写体识别系统开发案例

华为云开发者联盟

tensorflow MNIST PyCharm Pro 华为开发者空间

告别部署难题:基于华为开发者空间的CodeArts Deploy容器化部署解决方案

华为云开发者联盟

JVM 华为开发者空间

CAD如何实现模型和布局空间的图形对齐

极客天地

国际专线网络:价格与品质齐飞,助您畅达全球市场

宽炜网络

选择MyEMS:为什么开源是能源数字化未来的最佳路径?

开源能源管理系统

开源 能源管理系统

VibeCoding On Function AI Deep Dive:用 AI 应用生产 AI 应用

阿里巴巴云原生

阿里云 AI 云原生

0基础带你精通Java对象序列化--以Hessian为例|得物技术

得物技术

编程语言 中间件

CFD专栏丨ultraFluidX 动力舱热仿真

Altair RapidMiner

CAE Hypermesh CFD 流体仿真 ultraFluidX

新手友好!ModelArts 部署 + CodeArts IDE 调用,商品商超识别模型快速落地

华为云开发者联盟

AI modelarts 华为开发者空间

灵码产品演示:软件工程架构分析

阿里云云效

阿里云 云原生 通义灵码

0910-求职与招聘热点信息汇总

Y11

求职 找工作 招聘 应届生 实习

灵码产品演示:软件工程架构分析

阿里巴巴云原生

阿里云 云原生 通义灵码

MyEMS:功能强大的开源能源管理系统,助力企业实现精细化能效管理

开源能源管理系统

开源 能源管理系统

GitCode 管代码 + Git 命令实操,云主机上轻松搞定项目版本控制

华为云开发者联盟

华为开发者空间 citcode

用华为 CodeArts 搞 DevOps!团队协作搭流水线,端到端支持软件交付

华为云开发者联盟

DevOps 华为开发者空间

非凸科技连续两年荣登 IDC中国FinTech Emerging 50

非凸科技

基于华为开发者空间,玩转MySQL系列

华为云开发者联盟

华为开发者空间 mysql'

答题赚现金程序介绍

微擎应用市场

告别扫表风暴:百度智能云数据库带你了解MySQL内核级全表扫描防护机制详解

科技热闻

精准把控人力,PJMan “负荷分析” 助力项目高效推进

Tecjt_锦图科技

项目管理 甘特图 项目进度管理

联通SD-WAN和移动SD-WAN在网络质量服务价格等对比

宽炜网络

SD-WAN

基于 MaaS 结合开发者空间 Astro 低代码平台的就业问卷 AI 择业咨询方案

华为云开发者联盟

Astro 华为开发者空间

DAT(加密资产财库)这两个月为什么这么火?

TechubNews

MyEMS:开源能源管理系统的实践与价值

开源能源管理系统

开源 开源能源管理系统

当“数据波动”遇上“智能归因”,谁在背后画出那张因果地图?

Aloudata

数据分析 agent ChatBI 智能问数 智能归因

企业如何做好知识治理?这份来自华为的经验请收好!

YG科技

免费用鲲鹏资源!华为开发者空间实操:DevKit Java 性能分析,新手也能上手

华为云开发者联盟

鲲鹏 DevKit 华为开发者空间

1688图片搜索相似商品API接入全攻略

tbapi

1688API 1688图片搜索接口 1688拍立淘接口

基于华为开发者空间,用大数据带你挖掘电商Top10热门品类

华为云开发者联盟

华为开发者空间

基于华为开发者空间的云端JVM服务远程调试:CodeArts IDE配置指南

华为云开发者联盟

JVM CodeArts 华为开发者空间

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