可视化编程 代码生成
Got forwarded an interesting link from Dr. Gregory Wilson at the University of Toronto. He's an editor at Dr. Dobbs as well, and has an article up called Extensible Programming for the 21st Century that touches on many of the topics I've been concerned with lately.
得到了多伦多大学格雷戈里·威尔逊博士的有趣链接。 他也是Dobbs博士的编辑,并撰写了一篇名为《面向21世纪的可扩展编程》的文章,其中涉及我最近关注的许多主题。
He makes some interesting assertions, starting with:
他提出了一些有趣的断言,首先是:
This article argues that next-generation programming systems will accomplish this by combining three specific technologies:
本文认为,下一代编程系统将通过结合三种特定技术来实现此目的:
compilers, linkers, debuggers, and other tools will be plugin frameworks, rather than monolithic applications;
编译器,链接器,调试器和其他工具将是插件框架,而不是整体应用程序;
programmers will be able to extend the syntax of programming languages; and
程序员将能够扩展编程语言的语法; 和
programs will be stored as XML documents, so that programmers can represent and process data and meta-data uniformly.
程序将存储为XML文档,以便程序员可以统一表示和处理数据和元数据。
Ok, #1 no problem, we arguable have this with the CLR's model, while #2 is a little different. I assume he means actual keyword syntax, as opposed to the way we "changed" programming languages in C with preprocessors and inline functions. Of course, LISP and Schema use macros to the point where one can't tell where the language starts or ends. Additionally, custom language constructs like the "using" statement in C# that "expands" into a try/finally use of the IDisposable pattern extend the language within a specific context - so I'll buy #2 also. I used to think that Number 3 is more of a stretch, but then you've got XAML sneaking up on us as well (not to mention our own foray into XML and CodeGen).
好的,#1没问题,我们可以认为CLR的模型具有此功能,而#2则略有不同。 我假设他的意思是实际的关键字语法,而不是我们用预处理器和内联函数“更改” C语言中的编程语言的方式。 当然,LISP和Schema使用宏以至于无法分辨语言的开始或结束位置。 此外,自定义语言结构(例如C#中的“使用”语句)可以“扩展”为IDisposable模式的尝试/最终使用,从而在特定上下文中扩展了该语言-因此,我还将购买#2。 我曾经认为Number 3只是一个扩展,但是XAML也会让您无所适从(更不用说我们自己对XML和CodeGen的尝试了)。
I supposed the question I am left with after reading his article is - hasn't all this already happened?
我认为阅读他的文章后剩下的问题是-这一切是否已经发生?
可视化编程 代码生成