2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

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

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

关注

评论

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

倒数 3 天|RocketMQ 能力全景图即将发布,定义下一代消息队列未来方向

阿里巴巴云原生

阿里云 RocketMQ 云原生 消息队列

运力升级助力算力流转,中国数字经济的加速时刻

脑极体

目标检测的发展与现状

阿炜小菜鸡

目标检测 8月月更

正畸MIA微种植体支抗技术中国10周年交流会在沈举办

联营汇聚

基于YOLOV5行人跌倒检测实验

阿炜小菜鸡

8月月更 行人检测

python绘制一个时间的七段数码管实例基本的七段数码管绘制

BROKEN

8月日更 8月月更

开源一夏 | 云服务器ECS安装Mysql、JDK、RocketMQ

六月的雨在InfoQ

开源 8月月更

Nacos配置中心之客户端长轮询

急需上岸的小谢

8月月更

深圳大数据培训多长时间可以找工作

小谷哥

开源一夏 | 基于若依springboot架构实现数据多维统计

六月的雨在InfoQ

开源 8月月更

Service Mesh落地路径

阿泽🧸

Service Mesh 8月月更

服务器

武师叔

8月月更

视频目标检测

阿炜小菜鸡

8月月更 视频目标检测

【爬虫+可视化】Python爬取疫情并可视化处理数据(爬虫入门案例)

BROKEN

Python 8月月更

Axure9基本交互操作(一)

乔乔

8月月更

学生管理系统架构设计

张立奎

【K8s入门必看】第三篇 —— K8s必备基础概念大梳理

Albert Edison

Docker Kubernetes 容器 云原生 8月月更

数据库治理的探索与实践

阿里巴巴云原生

数据库 阿里云 微服务 云原生

多个平台显示IP属地,必须大力推行互联网实名制

石头IT视角

C++对象的初始化和清理之构造函数和析构函数分析与实例(一)

CtrlX

c++ 面向对象 后端 代码 8月月更

git操作

Jason199

git 8月月更

什么是内部客户服务?

Geek_da0866

经验分享|盘点企业进行知识管理时的困惑类型

Baklib

web前端培训课程哪个比较好?

小谷哥

企业即时通讯软件有哪些功能?对企业有什么帮助?

BeeWorks

荣科科技:未来主要围绕在线互联化、生态化和智能大数据运营这三个方向发展

BeeWorks

知识分享|如何设计有效的帮助中心,不妨来看看以下几点

Baklib

【python小游戏】用python写一款小游戏--贪吃蛇

BROKEN

8月日更 8月月更

那些年,在Linux指令上踩过的坑~

芒果酱

Linux 签约计划第三季

七日算法先导(三)—— 快速排序,插入排序

工程师日月

8月月更

SRv6网络的安全解决方案

穿过生命散发芬芳

8月月更 SRv6

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