写点什么

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

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

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

关注

评论

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

剧本杀是不是个好生意?

石云升

商业洞察 商业分析 7月日更

高并发服务优化篇:详解RPC的一次调用过程

Coder的技术之路

RPC RPC调用

在腾讯,我的试用期总结

程序员鱼皮

Java c++ Python 大前端 后端

想在Java八股文面试中脱颖而出?这《1000道互联网大厂Java工程师面试题》必不可少!

白亦杨

Java 编程 程序员

JIRA 如何连接到云平台的 bitbucket

HoneyMoose

5分钟速读之Rust权威指南(四十三)宏

wzx

rust

【涨知识】你不知道的Python常用开发工具!猿来这么多!

小阿杰

Python 后端 开发工具

CTF中的一些常见骚操作(可以没有,但不能不会)

网络安全学海

网络安全 信息安全 CTF 渗透测试 漏洞分析

图像的读取,显示与存储操作

IT蜗壳-Tango

7月日更

Linux之du命令

入门小站

Linux

优化和调整Spark应用程序(七)

Databri_AI

spark 缓存 持久化

从脑瘫患者重获交流到免开颅微创,脑机接口更安全了吗?

脑极体

nacos的作为服务配置怎么玩?

卢卡多多

nacos 服务 7月日更

Druid 0.15 版本启动错误

HoneyMoose

区块链技术如何赋能食品安全链路追溯

CECBC

勇于尝试新鲜事物,利于项目来积累学习经验

吴脑的键客

职业规划

[架构实战营]模块二作业

xyu

#架构实战营

免费分享Mysql从入门到精通的优秀图书

Java入门到架构

JIRA 链接 bitbucket 提示错误 Invalid OAuth credentials

HoneyMoose

在线XML转HTML工具

入门小站

工具

如何保证 Serverless 业务部署更新的一致性?

Serverless Devs

云计算 Serverless 云原生

架构训练营模块二作业

Lemon

软件库与框架的区别

码界行者

架构 框架

数字人民币的基础:共识与信任

CECBC

聚焦Real Time DaaS 赛道,Tapdata 获数千万美元 Pre-A 轮融资

tapdata

实时数据服务平台 Real Time DaaS

大数据训练营-0711课后作业

cc

小解c# foreach原理

喵叔

7月日更

想在Java八股文面试中脱颖而出?这《1000道互联网大厂Java工程师面试题》必不可少!

Java 编程 程序员

【Kubernetes技术专题】系统架构介绍

码界西柚

k8s 7月日更

想跳槽却简历石沉大海?一起来围观月薪20k的软件测试工程师真实简历 (含金量高面试题)

程序员阿沐

面试 软件测试 自动化测试 经验分享 简历

Nginx配置location

刘旭东

nginx 反向代理

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