写点什么

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

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

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

关注

评论

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

毕业设计

whoami

毕业总结

miliving

浏览器工作原理和V8引擎

CRMEB

小白入门HarmonyOS Connect设备开发的“芯”路历程

HarmonyOS开发者

芯片 HarmonyOS 设备

三级等保是最高的吗?有什么用?

行云管家

网络安全 等保 等保2.0

如何保持系统的整洁

蜜糖的代码注释

设计原则 项目开发 3月月更

AI语音处理-文字合成语音功能

DS小龙哥

3月月更

Java面向对象知识点拆分(一)

逆锋起笔

面向对象 java基础 3月月更 Java面向对象

基于CREATE TYPE语法自定义新数据类型

华为云开发者联盟

数据库 数据类型 CREATE TYPE 复合类型

用测试来学习 Go

baiyutang

golang

[ CKS 备考指南 -01 ] 总览(送免费 15% 折扣券)

baiyutang

Kubernetes 运维 k8s 开源文化 CKS

Go语言实战之映射的内部实现和基础功能

山河已无恙

golng 3月月更

HertzBeat赫兹节拍 v1.0.beta.5 发布,易用友好的监控告警系统

TanCloud探云

Java angular 告警 应用监控 开源监控系统

数据预处理和特征选择

云智慧AIOps社区

数据挖掘 机器学习 算法 特征选择 数据预处理

【ELT.ZIP】OpenHarmony啃论文俱乐部——多维探秘通用无损压缩

ELT.ZIP

OpenHarmony 压缩算法

Redis二三事之事前预防和事中恢复

NoLongerConfused

3月月更

虎符交易所HOO持续创造今年新高,你的HOO囤够了吗?

区块链前沿News

加密资产 Hoo 虎符交易所 平台币

教你如何解决JS/TS里特定String进行拆分然后遍历各个元素

华为云开发者联盟

JavaScript string 遍历 字符串 元素

N个技巧,编写更高效 Dockerfile|云效工程师指北

阿里云云效

阿里云 云原生 Dockerfile 部署与维护 构建工具

全链路压测(六):确认范围和识别风险

老张

性能测试 全链路压测 稳定性保障

轻松应对1亿+月活,《迷你世界》背后有啥黑科技

华为云开发者联盟

分布式数据库 中间件 RDS 迷你世界

MySQL系列文章---初识MySQL中的锁

NoLongerConfused

3月月更

web前端培训:react高频面试题分享

@零度

前端开发 React

推荐 5 个 yyds 的开源 Python Web 框架

AlwaysBeta

Python django flask tornado Web

来,2W字+23张图+5W1H分析法帮你彻底拿下缓存

小梁编程汇

缓存 缓存穿透 缓存击穿 缓存并发 缓存服务

网络协议之:socket协议详解之Socket和Stream Socket

程序那些事

网络协议 程序那些事 3月月更 MIME

人工智能开源录 | 对话OpenI启智社区:智能无处不在,AI开源创新的发展与探索

OpenI启智社区

软件工程 大模型 东数西算 人工智能开源

程序员最讨厌的四件事,它能解决!

博文视点Broadview

RocketMQ系列文章---RocketMQ整体架构

NoLongerConfused

RocketMQ

Java基础系列文章---异常

NoLongerConfused

3月月更

昇思MindSpore全场景AI框架 1.6版本,更高的开发效率,更好地服务开发者

Geek_32c4d0

mindspore 昇思 全场景AI框架

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