写点什么

语言工作台可能最终会完全改变我们的编程方式

  • 2009-05-08
  • 本文字数:876 字

    阅读完需:约 3 分钟

Intentional 软件经过了多年的开发,终于发布了其 Intentional 领域工作台(IDW)1.2 版本。JetBrains 则开源了目前处于 Beta 2 阶段的元编程系统(MPS)。

Intentional 软件的产品经理 Magnus Christerson 在 Lang.NET 讨论会上演示了IDW ,引起了强烈反响。IDW 本质上是个语言工作台,但它也是个投影编辑环境。整个工作台围绕意图树(Intentional Tree)建立,意图树是允许领域进行多重投影的语义模型,也可用来生成代码。用户可以从不同投影查看和编辑领域,每次编辑都会更新领域和其它投影。接着,模型会编译转换为代码。

IDW 主要用来让程序员为业务领域专家搭建领域特定环境。领域专家可以用他们喜欢的任何业务领域语言表述概念和规则,这些领域语言可用文本、图表、符号、表格等方式进行描述。程序员的工作则是建立理想的投影,以及生成编程语言领域代码的转化方法。领域专家会编辑领域需求,这些领域需求接着会转化为代码。IDW 目前有 C#、Java、C++、Ruby、SQL、HTML、Javascript 和 XML 的代码生成领域,用户还可以添加补充。

演示给观众留下了极深刻的印象。 Markus Voelter 说:

如果你对 DSL 感兴趣,你务必要观看这个视频。它清楚地显示了 IDW 的潜力。如果 ISC 有更多点儿的时间来润色该系统,它会成为一场变革!

Larry O’Brien 评论说:

Intentional 软件锻造了一颗银弹。

Glenn Block 评论道:

这不是个时髦的演示,我们知道,它可是能完全改变世界的。

IDW 目前尚不公开提供,Intentional 软件只和选定的客户共享 IDW,比如 Capgemini ThoughtWorks 。Magnus C. 邀请感兴趣的同学联系他,但要求这些同学签署严格的保密协议。

JetBrains 发布了针对面向语言编程(PDF)风格的元编程系统。MPS 基本上也是个语言工作台。它目前处于Beta 2 阶段,预计本季度投入生产环境。MPS 是免费的,大多数源代码在Apache 2 许可下可用。

可用资源:Magnus C. 在Lang.NET 上进行的 IDW 介绍,Martin Fowler 在 Lang.NET 上对IDW 演示的报告,InfoQ 上由Magnus C. 所作的有关领域和DSL 的视频

查看英文原文: Language Workbenches May Ultimately Completely Change the Way We Do Programming

2009-05-08 00:212973
用户头像

发布了 151 篇内容, 共 68.9 次阅读, 收获喜欢 18 次。

关注

评论

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

模块3 作业

KennyQ

浅谈项目中的需求管理

秋去冬来春未远

需求管理 需求分析 需求和问题

消息队列MySQL存储设计

石小天

「架构实战营」

尤达 DDD 领域驱动设计思想课程总结

代廉洁

尤达DDD领域驱动设计思想

都是分布式操作系统,Laxcus和鸿蒙有何不同?

LAXCUS分布式操作系统

分布式计算 分布式存储 集群架构 鸿蒙系统 分布式操作系统

消息队列数据存储表设计

随欣所遇

架构训练营5期

性能分析优化的道与术

老张

性能优化 性能分析

商业分析:SheIn是怎样成功的?

石云升

跨境电商 商业分析 4月月更

模块8-设计消息队列存储消息数据的 MySQL 表格

卡西毛豆静爸

#架构实战营

Gitlab Java API 使用示例

Java gitlab 4月月更

消息队列存储消息数据的 MySQL 表格设计

李大虾

#架构实战营 「架构实战营」

消息队列存储消息数据的mysql表设计

五月雨

架构实战营 「架构实战营」

架构实战营:模块八作业

刘璐

【架构学习08】——设计消息队列存储消息数据的 MySQL 表格

tiger

架构实战营

市场进展不断,STI 包括ZB等一系列上线预示着什么?

西柚子

模块八作业:设计消息队列存储消息数据的 MySQL 表格

炎彬

「架构实战营」

微信小程序开发设计需要注意的五个点

源字节1号

前端 后端 软件开发 小程序开发

多系统信息化实施项目注意事项

秋去冬来春未远

数字化 信息化 系统集成 ERP 多系统

爱讲故事的计算机科学家,和他的分布式系统

多颗糖

Bigdata 作业第七周

Pyel

[Day18]-[动态规划] 打家劫舍3

方勇(gopher)

LeetCode 动态规划 数据结构和算法

GitOps多环境部署问题及解决方案

俞凡

研发效能 gitops

模块8作业

Mr小公熊

linux之rename命令

入门小站

开疆作剑,开荒为犁:2022春天,文心大模型走进产业的百花深处

脑极体

你好spring-cloud-kubernetes

程序员欣宸

4月月更

消息队列存储消息数据的 MySQL 表格

阿卷

架构实战营

作业八

Geek_f3e842

架构实战营

市场进展不断,STI 包括ZB等一系列上线预示着什么?

BlockChain先知

在线ASCII Banner艺术字生成工具

入门小站

工具

统计代码耗时的工具

Rubble

4月日更 4月月更

语言工作台可能最终会完全改变我们的编程方式_编程语言_Abel Avram_InfoQ精选文章