D - Falling in love with D, but...
- Peter Verswyvelen (34/34) Apr 10 2007 The more I read about D, the more I fall in love with it. It contains al...
- Ralph Eastwood (9/72) Jul 27 2007 I use CodeBlocks at the moment, (grab a nightly build at
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+ 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
Apr 10 2007
On Tue, 10 Apr 2007 23:23:17 +0100, Peter Verswyvelen <bf3 telenet-WITHOUT-THIS-ANTI-SPAM.be> 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+ - 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, PeterI use CodeBlocks at the moment, (grab a nightly build at www.codeblocks.org), that seems pretty good, though the code completion doesn't span throughout the source code yet (ie. works partially). I think there is a subversion plugin for codeblocks, but I haven't used it yet. Cheers. Ralph Eastwood
Jul 27 2007