Re: [Dtone-compiler]A slight turn in mission
Status: Alpha
Brought to you by:
anshil
From: Axel K. <ax...@dt...> - 2001-11-11 10:49:51
|
On Saturday 10 November 2001 18:02, chi...@co... wrote: > Hello, > > > Now image another way of programming. The whole source of a project is > > not text file based, but source tree based, stored on your machine (or > > possibly even a remote) inside a running a "source server". You connect > > to this source > > A novel idea, but I don't think this'll make much of a difference for the > end-user, when compared to e.g. JBuilder or a Smalltalk IDE. Well I've worked in example with JBuilder, Delphi, MS Visual C++ or Redhat SourceNavigator. I think the main problem of this IDE's is that they put the graphical interface ontop of the text interface, which actually not really supports this abstraction layer. So some curiosity show up, first while you're typing a codeinsight compiler has to constantly compile you're text in background, often enough misunderstanding what you type. To allow cross links you've to build tag databases, also sometimes out of date, jumping to the wrong functions etc. > You may however want to consider storing only an _abstract_ syntax, and > allowing the abstract syntax to map to one of several _concrete_ syntaxes. > Now that'll be really interesting. :-) That is what I'm thinking about, in example you think of function call only as a function call, not how it's syntax is or how it looks like in a text representation. In a far sight view there are many cool possiblities, but also some limits :\ Take in example example equations, in text representation this looks like: x = sin(x) * sin(x) / x But the D-IDE "== dide ?" :o) could in example show the correct mathematical representation if you configure it to do so: 2 sin(x) x = ------------ x However there are also the limits, in contrast to maths some things can have more crucial side effects in programming, like in example: x = sin(x) * (sin(x) / x) can actually be something different than the above if you consider overflow and underflow conditions. Also you cannot have too far differences in the repesentation. In example I cannot think about a lot of ways you can view a function call, "name '(' [parameters,]* ')'". Or you cannot make the same code 100% viewable in Pascal representation and then the same time in a C like representation, because once you call printf() but in Pascal you donnot have this function. However yes you could configure if you want to view your "d-code" blocks with {} brackets, or with BEGIN END statements, or maybe totally abstracted with some graphic coloring. Same thing it does not matter really if you actually write "public, private, protected" or "+:, -:, *:" :o) or just click a button. - Axel |