Ted Leung on the air
Ted Leung on the air: Open Source, Java, Python, and ...
Ted Leung on the air: Open Source, Java, Python, and ...
Tue, 30 Nov 2004
Integrated tools
[23:14] |
[computers/programming] |
# |
TB |
F |
G |
3 Comments |
Havoc Pennington was writing about the monotone version control system, and concluded with this.
Anyhow, there's unquestionably a lot of room for improvement in our developer tools. One of the questions in my mind is how far you can get if you define the problem as only version control; at some point the really useful stuff would involve the editor, the bug tracker, and so forth as well.
The best version control system (in terms of features, UI is a different story) that I ever used was IBM's CMVC, which integrated very tightly with the bug tracking system. When I used it I also forced it to integrate (badly) with Emacs.
From where I sit, the framing of the problem definitely affects the solution.
I was thinking about Language Oriented Programming and came to the conclusion that we really needed to meta-program these tools.
What we need is an Integrated Rapid Development Environment for domain specific languages (DSLs). We can then design and write down a DSL in EBNF and this system will generate a browser/editor for this language and an interpreter/compiler generator which will allow us to add (multiple) semantic meanings of this language and which will generate for us among others a compiler and interpreter for whatever of the language we have designed. It will also create a language aware diff (for versioning repositories), pretty-print, profiler, debugger, and the dissembler.
So we need to rise to a new meta level of abstraction: stop designing and building by hand one environment for one programming language (and do so again every few years) but to design and build an environment, which will create a full environment for any language.
Posted by gmlk at Wed Dec 1 01:22:55 2004
What we need is an Integrated Rapid Development Environment for domain specific languages (DSLs). We can then design and write down a DSL in EBNF and this system will generate a browser/editor for this language and an interpreter/compiler generator which will allow us to add (multiple) semantic meanings of this language and which will generate for us among others a compiler and interpreter for whatever of the language we have designed. It will also create a language aware diff (for versioning repositories), pretty-print, profiler, debugger, and the dissembler.
So we need to rise to a new meta level of abstraction: stop designing and building by hand one environment for one programming language (and do so again every few years) but to design and build an environment, which will create a full environment for any language.
Posted by gmlk at Wed Dec 1 01:22:55 2004
Yay CMVC! I remember it fondly. ish. Did you use the dodgy java interface?
Posted by Jon at Wed Dec 1 01:53:48 2004
Posted by Jon at Wed Dec 1 01:53:48 2004
Jon,
No, I used the Win32 interface. When I used it there wasn't a Java UI.
Posted by Ted Leung at Thu Dec 2 10:20:31 2004
No, I used the Win32 interface. When I used it there wasn't a Java UI.
Posted by Ted Leung at Thu Dec 2 10:20:31 2004
You can subscribe to an RSS feed of the comments for this blog:
Add a comment here:
You can use some HTML tags in the comment text:
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
<a href>
, <em>
, <i>
, <b>
, <blockquote>
, <br/>
, <p>
, <code>
, <pre>
, <cite>
, <sub>
and <sup>
.You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk