Falling in love with D, but...

Ary Manzana ary at esperanto.org.ar
Wed Apr 11 05:32:56 PDT 2007


Lionello Lunesu escribió:
> Peter Verswyvelen wrote:
>> The more I read about D, the more I fall in love with it. It contains 
>> almost everything I ever wanted to
>> see in a programming language, and I've been coding for 25 years now: 
>> from 6502 assembler to C/C+
>> + (Zortech! ;-), C#, a bit of Java, Scheme and Prolog, SQL, and 
>> "Logix" - an inhouse visual mostly
>> functional language which my team created for videogame 
>> designers/artists. Logix was used to create
>> some special effects and mini-games on Playstation 3. It was amazing 
>> to see that artists with no
>> programming skills could create incredible stuff given the right 
>> visuals / notation...
>>
>> Anyway, D looks really great, but I'm spoiled with todays popular RAD 
>> tools such as integrated
>> debugging, edit-and-continue, code completion, parameter tooltips, 
>> refactoring, fast navigation, call
>> graphs, builtin version control, etc... as found in e.g. Visual Studio 
>> 2005 + Resharper 2.5 or Eclipse/
>> IntelliJ IDEA. It's also handy to have a huge standard framework such 
>> as DOTNET or J2SE/EE, or even
>> STL/boost. It's not really necessary: my first videogames did not use 
>> any code from the OS, it was 100%
>> pure self written assembly code directly talking to the hardware, but 
>> that was a century ago ;-)
>>
>> So as soon as I want to get started with D I find myself stuck (also 
>> because of my RSI... I just refuse to
>> type a symbol all over again ;-). It is as if I got this brand new car 
>> engine that looks to outperform all
>> others, but I can't find the correct tires, suspension, etc. Frustrating.
>>
>> One thing I don't like about current IDEs: they still work on the text 
>> level, which is horrible for
>> refactoring in a team (think extreme programming). For example 
>> renaming a symbol should be one
>> change under version control, but it currently means that all source 
>> files refering to the symbol (by
>> name!) must be modified, potentially giving a lot of merge conflicts 
>> and co-workers shouting not to
>> rename a symbol anymore, just leave the bad names... The advantage of 
>> a pure drag-drop-connect-
>> the-dots visual programming language like Logix is that it can work 
>> very close to the AST, directly
>> linking to statements/functions by "pointer/identifier", so a 
>> symbolname never matters for the
>> computer, only for a human, and a rename is just one modification to 
>> the symbol and not to its
>> references. Of course we programmers don't want to work with visual 
>> graphs (screen clutter!), we want
>> to see code, but I think we might also benefit from writing code 
>> closer to the AST; after all, code
>> completion and all those handy code snippets are a bit like that: you 
>> insert a foreach loop using a
>> single keystroke, and fill in the symbols, but its still just text. 
>> Why not insert a foreach statetement in a
>> high-level AST, and regard the text as a representation/tagged 
>> navigation of the (high level) AST,
>> instead of translating the text into the AST... I heared some old LISP 
>> editors worked like that, but I never
>> saw one.
>>
>> So maybe it would be a good idea to develop and IDE just as 
>> (r)evolutionary as D is? Or does it already
>> exist, meaning I just wasted half an hour typing this email ;-)
>>
>> Keep up the amazing work,
>> Peter
> 
> Wow! You've worded my feelings quite nicely :)
> 
> I also hate the way we're writing text files. If the files/modules get 
> large, we split the text files. If we get too many files, we make 
> folders/packages, etc.. 

That reminds me of "Divide and conquer". It's not prehistoric, it's just 
that it's easier for a human to handle small cases. Same as you split a 
function into smaller functions, you split a file into multiple files to 
understand the whole easier.

I like the ideas proposed in this thread, but I'd also like to see a 
screenshot of this visual language, or some more thorough explanation... 
or a plan to make that kind of IDE, because I can't imagine well how 
that is going to work.



More information about the Digitalmars-d mailing list