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