OT: on IDEs and code writing on steroids

Yigal Chripun yigal100 at gmail.com
Wed May 20 12:26:00 PDT 2009


BCS wrote:

  > minor point; I said you have to give the compiler all the source files.
> You might not actually nned to compile them all, but without some 
> external meta data, it still needs to be handled the full because it 
> can't find them on it's own. And at that point you might as well compile 
> them anyway.

you are only considering small hobby projects. that's not true for big 
projects where you do not want to build all at once. Think of DWT for 
instance.
besides, you do NOT need to provide all sources, not even just for 
partially processing them to find the symbols.
there is no difference between C#'s /r <someAssembly> and GCC's -l<lib>

I don't think you fully understand the C# compilation model -
in C# you almost never compile each source file separately, rather you 
compile a bunch of sources into an assembly all at once and you provide 
the list of other assemblies your code depends on. so the dependency is 
on the package level rather than on the file level. this make so much 
more sense since each assembly is a self contained unit of functionality.

> 
>> sure, you don't get the full power of an IDE that can track all the
>> source files in the project for you. That just means that it's worth
>> the money you pay for it.
>>
>> you can write makefiles or what ever (scons, rake, ant, ...) in the
>> same way you'd do for C and C++. In other words:
>> if you prefer commnad line tools you get the same experience and if
>> you do use an IDE you get a *much* better experience.
>> same goes for D - either write your own makefile or use rebuild which
> 
> 
>> uses the compiler front-end to parse the source files just like you
>> suggested above for C#.
>>
> 
> where did I suggest that?

I replied to both you and Daniel. I think I was referring to what Daniel 
said here.

> 
>> where in all of that, do you see any contradiction to what I said?
>> again, I said the D compilation model is ancient legacy and should be
>> replaced and that has nothing to do with the format you prefer for
>> your build scripts.
>>
> 
> I think that you think I'm saying something other than what I'm trying 
> to say. I'm struggling to make my argument clear but can't seem to put 
> it in words. My thesis is that, in effect, C# is married to VS and that 
> D is married only to the compiler.

I understand your thesis and disagree with it. what i'm saying is that 
not only C# is NOT married to VS but also that VS isn't even the best 
IDE for C#. VS is just a fancy text-editor with lots of bells and 
whistles. if you want a real IDE for C# you'd probably use Re-Sharper or 
a similar offering.
> 
> My argument is that a D project can be done as nothing but a collection 
> of .d files with no extra project files of any kind. In c# this is 
> theoretically possible, but from any practical standpoint it's not going 
> to be done. There is going to be some extra files that list, in some 
> form, extra information the compiler needs to resolve symbols and figure 
> out where to look for stuff. In any practical environment this extra bit 
> that c# more or less forces you to have (and the D doesn't) will be 
> maintain by some sort of IDE.

this is wrong. you cannot have a big project based solely on .d files. 
look at DWT as an example. no matter what tool you use, let's say DSSS, 
it still has a config file of some sort which contains that additional 
meta-data. a DSSS config file might be shorter than what's required for 
a C# project file but don't forget that this comes from DSSS relying on 
rebuild which embeds the entire DMDFE.
in practice, both languages need more than just the compiler.

> 
> To put it quantitatively:
> 
> productivity on a scale of 0 to whatever
> c# w/o IDE -> ~1
> D w/o IDE -> 10
> c# w/ IDE -> 100+
> D w/ IDE -> 100+
> 
> Either C# or D will be lots more productive with an IDE but D without an 
> IDE will be lots more productive than C# without an IDE. D is designed 
> to be used however you want, IDE or not. C# is *designed* to be used 
> from within VS. I rather suspect that the usability of C# without VS is 
> very low on MS "things we care about" list.
> 





More information about the Digitalmars-d mailing list