How does D improve design practices over C++?

Janderson ask at me.com
Thu Nov 6 20:07:21 PST 2008


Tony wrote:
> "Jarrett Billingsley" <jarrett.billingsley at gmail.com> wrote in message 
> news:mailman.356.1226010025.3087.digitalmars-d at puremagic.com...
>> On Thu, Nov 6, 2008 at 5:01 PM, Jarrett Billingsley
>> <jarrett.billingsley at gmail.com> wrote:
>>> On Thu, Nov 6, 2008 at 4:18 PM, Tony <tonytech08 at gmail.com> wrote:
>>>> Compile times as I am not doing large scale development. And with so 
>>>> much
>>>> processor power available these days, I really don't see a problem with
>>>> compile times. Some care in laying out code and headers goes a long way.
>>> Boost.
>> I did also want to make another point about this.  Processors are not
>> getting that much faster; it's not 2001 anymore.  We've pretty much
>> hit the wall for single-core performance, and compilation is an
>> extremely difficult problem to parallelize.  Yes, you can compile
>> multiple files at once, but if a single compilation unit takes 20
>> minutes to compile, it doesn't matter how many cores you've got.  The
>> shortest compile time you can get is 20 minutes.  Even if your
>> compiles are "only" three minutes, if you spend three minutes
>> compiling, followed by ten minutes of testing, that means you're
>> spending almost a quarter of your time compiling.  That doesn't seem
>> like an efficient use of time.
> 
> I have designed/coded for months without ever pressing the compile button. 
> Some programmers use the compiler in a very iterative way: using it as a 
> debugger is bad practice.
> 
> Tony 
> 
> 

I think this might be a symptom for working on a small project.  On a 
large project when you are working with many others it is very dangerous 
to hord code for to long.  You really need to check in as frequently as 
possible (and that means test frequently) otherwise:

1) QA and test systems can't perform regression tests appropriately.
2) Merging become a nightmare for everyone.
3) People don't get to see you code so frequently they can reuse it and 
improve it.
4) It becomes difficult to backout individual changes.

(Note there are some good books on this, I forgot the names).



More information about the Digitalmars-d mailing list