写点什么

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

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

关注

评论

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

45天拿下美团Offer,狂抬阿里这本Java性能调优手册,不愧是No

爱好编程进阶

Java 面试 后端开发

Binder源码阅读指南之java层

爱好编程进阶

Java 面试 后端开发

BS-GX-018 基于SSM实现在校学生考试系统

爱好编程进阶

Java 面试 后端开发

dubbo实战之三:使用Zookeeper注册中心

爱好编程进阶

Java 面试 后端开发

GitHub榜首的阿里“绝巅版”工程师面试手册

爱好编程进阶

Java 面试 后端开发

Java Shutdown Hook 场景使用和源码分析

爱好编程进阶

Java 面试 后端开发

Java-进阶:Java-File-&-IO—1

爱好编程进阶

Java 面试 后端开发

蓝翔:百度开源深度学习平台飞桨的核心技术及应用

百度开发者中心

IDEA的Docker插件实战(Docker-compose篇)

爱好编程进阶

Java 面试 后端开发

TASKCTL 作业异常报错如何发送短信和邮件

敏捷调度TASKCTL

开源 DevOps 分布式 方法论 敏捷开发

GitHub 自动合并 pr 的机器人——auto-merge-bot

NebulaGraph

图数据库 知识图谱

GitHub上最火的SpringCloud微服务商城系统项目,附全套教程

爱好编程进阶

Java 面试 后端开发

Linux下玩转nginx系列(四)---nginx做Web服务器

anyRTC开发者

nginx Linux Web 音视频 服务器

GX Works2、MX OPC 6

爱好编程进阶

Java 面试 后端开发

打破虚拟边界的视频交互新方式,AR隔空书写的应用理念和探索实践

阿里云CloudImagine

音视频 AR 直播 视频云

2021最新Spring Boot 面试题

爱好编程进阶

Java 面试 后端开发

30 网站架构师职场攻略

爱好编程进阶

Java 面试 后端开发

@Configuration注解 -【Spring底层原理

爱好编程进阶

Java 面试 后端开发

BAT大厂大佬教你:Docker部署Prometheus+Grafana监控系统

爱好编程进阶

Java 面试 后端开发

极致体验,揭秘抖音背后的音视频技术

字节跳动视频云技术团队

音视频开发 视频云

Java8的这些集合骚操作,你掌握了嘛?

爱好编程进阶

Java 面试 后端开发

建木持续集成平台v2.3.0发布

Jianmu

持续集成 工作流 gitops pipeline 建木CI

Spring入门基础

乌龟哥哥

4月月更

技术文档|基于双目感知的封闭园区自动驾驶搭建--感知适配

百度开发者中心

elasticsearch实战三部曲之三:搜索操作

爱好编程进阶

Java 面试 后端开发

Meetup回顾|星策社区FeatureStore Meetup V2

星策开源社区

机器学习 Meetup Feature Store 特征平台 MLOps

Java中IO字符流、File类

爱好编程进阶

Java 面试 后端开发

预售2小时,破10000册!顶级投资人的投资策略首度全面公开

博文视点Broadview

JavaOOP面试题50题(含答案)

爱好编程进阶

Java 面试 后端开发

2021最新最全Java基础高频面试题汇总(1W字详细解析)

爱好编程进阶

Java 面试 后端开发

69-个经典-Spring-面试题和答案详解(下)

爱好编程进阶

Java 面试 后端开发

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