AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

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

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

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

关注

评论

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

图文讲解 AQS ,一起看看 AQS 的源码……(图文较长)

程序员小航

AQS jdk源码 源码阅读 java 并发

深化区块链技术的应用 体现其价值产业发展良机

CECBC

区块链技术 数字经济

那些不可貌相的代码规范

废材姑娘

代码质量

十多位全球技术专家,为你献上近十个小时的.Net微服务介绍

newbe36524

容器 微服务 .net core netcore

ARTS打卡 第11周

引花眠

ARTS 打卡计划

热潮-区块链的价值能够体现在哪些方面?

CECBC

区块链技术 标准化 应用价值

Suricata-流的处理

Phantasm

网络安全 suricata flow

ARTS打卡Week 10

teoking

程序的机器级表示-控制

引花眠

计算机基础

LeetCode题解:21. 合并两个有序链表,迭代,JavaScript,详细注释

Lee Chen

大前端 LeetCode

视读——沟通的艺术,看入人里,看出人外(第二章)

废材姑娘

读书笔记 视觉笔记

ARTS 打卡(20.07.20-20.07.26)

小王同学

Java 常见的几种 OOM

hepingfly

Java OOM

ARTS Week11

时之虫

ARTS 打卡计划

Requests模块基本操作

有梦想的tester

如何让区块链技术能够更好赋能数字社会建设

CECBC

区块链 数字经济

BGP、OSPF、MPLS路由协议RFC分享

Phantasm

应用开发基础之-并发编程

superman

微服务、DDD

chenzt

如何理解Java8 的函数式编程

Rayjun

Java 函数式编程

第十章作业

武鹏

ARTS-WEEK10

一周思进

ARTS 打卡计划

LeetCode题解:21. 合并两个有序链表,利用数组排序,JavaScript,详细注释

Lee Chen

大前端 LeetCode

关于 Bash 的 10 个常见误解

柴锋

bash Linux DevOps Shell

十年一梦,小米的原罪得到救赎了吗?

脑极体

当实证资产定价遇上机器学习

分析101

人工智能 学习 金融科技 金融 资产定价

吃灰的旧显示器别扔!

小匚

学习 随笔杂谈

设计模式之——JDK动态代理的源码分析

诸葛小猿

动态代理 cglib 代理模式 Proxy

求刚好大于当前数组组合,Code Review最佳实践,JVM框架原理,JVM垃圾回收原理 John 易筋 ARTS 打卡 Week 12

John(易筋)

Code Review ARTS 打卡计划 JVM虚拟机原理 JVM垃圾回收原理 Array算法

面试这么撩准拿offer,HashMap深度学习,扰动函数、负载因子、扩容拆分,原理和实践验证,让懂了就是真的懂!

小傅哥

Java 面试 hashmap 负载因子 扰动函数

计算机网络基础(十六)---传输层-可靠传输的基本原理

书旅

计算机网络 网络 协议族 网络层

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