OT: on IDEs and code writing on steroids

Yigal Chripun yigal100 at gmail.com
Sun May 17 12:39:44 PDT 2009


Ary Borenszweig wrote:
> BCS escribió:
>> Hello Georg,
>>
>>> So, in a way, Microsoft may be right in assuming that (especially when
>>> their thinking anyway is that everybody sits at a computer that's
>>> totally dedicated to the user's current activity anyhow) preposterous
>>> horse power is (or, should be) available at the code editor.
>>
>> I think that any real programing project now days (regardless of 
>> language) needs tools to help the programmer. The difference between D 
>> and C# is that with D you /can/ get away without an IDE and with C# 
>> you won't get much at all done without one.
> 
> I can't agree with this. Most of the time I use an IDE for the 
> autocompletion, not much for the build-and-jump-to-error stuff. And I 
> don't see D being easier with regards to remembering what's the name of 
> that function, which members does a class have, in which module are all 
> these.
> 
> Why do you say that with D you can get away without an IDE and with C# 
> you can't? I think you can do the same as in C#, don't use an IDE and 
> get away with pretty much everything, except you'll be slower at it 
> (same goes for D without an IDE).
> 
> Again, this also applies to Java. When I started using Java I used the 
> command line and an editor with just syntax highlighting, and made 
> programs of several classes without problem. Refactoring was a PITA, and 
> I'm thinking it's like that in D nowadays. :-P

An IDE provides for a different and IMO much better work flow than using 
a text editor.
a programmer using a text editor + batch/command-line compiler 
implements a single threaded work flow:
while (not finished) {
   1. write code
   2. run compiler
   3. run debugger (optional)
}

an IDE allows a concurrent implementation:
you have two threads that run simultaneously - a "Programmer" and an "IDE".
the programmer "thread" writes code and at the same time the IDE 
"thread" parses it and provides feedback: marks syntax errors, provides 
suggestions, reminds you of missing imports, etc..

The second approach is clearly superior.

btw, this has nothing to do with the language. For instance, there are 
eclipse/netbeans plugins for C++ and once clang is finished and 
integrated with those, C++ will have the full power of a modern IDE, 
just like Java or smalltalk have.
Of course the language can be designed to make this easier, but it is 
just as possible for non cooperating languages like C++.

IMO, designing the language to support this better work-flow is a good 
decision made by MS, and D should follow it instead of trying to get 
away without an IDE.



More information about the Digitalmars-d mailing list