Breaking changes in Visual C++ 2015

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Fri May 8 00:55:53 PDT 2015


On 5/7/2015 11:30 PM, Jacob Carlborg wrote:
> On 2015-05-08 00:28, Walter Bright wrote:
>
>> D has some excellent tools that are generally nonstandard, klunky or
>> nonexistent in other languages:
>>
>> 1. unit testing
>> 2. documentation generation
>> 3. coverage analysis
>> 4. profiler
>> 5. and as of last week, a memory usage profiler
>>
>> I know many feel that these features can be improved, sure. But the
>> first three have knocked the ball out of the park, and number four is a
>> solid hit. And frankly, if I had to choose between 1..5 and package
>> manager, static analysis tool, linter, and formatter, I'd choose the
>> former.
>
> I guess we just have different preferences. I would only choose unit testing and
> documentation generation from your list, if I have to choose. Perhaps I would
> even choose package manager as the most important tool, because the other tools
> could be provided by packages in the package manager.

The coverage analysis is necessary to make the unit testing effective. 
Otherwise, one is just shooting in the dark. My experience developing Warp was 
typical - I went back and forth between unit tests and coverage analysis from 
the ground up. The result was Warp was developed unusually quickly and had very, 
very few bugs show up after release.


You don't have to add another package, run other tools, etc., like in other 
languages. Just throw a switch. This convenience should not be underestimated.

One big reason I want dmd to be in D is to get the unit testing.


> Regards to unit testing, if I compare that with Ruby, for example. Ruby doesn't
> have language support for unit tests but there are two major unit test libraries
> in use, one which is included in the standard library.
>
> The built-in unit testing in D is so limiting that a third party framework is
> needed anyway, and here there's no obvious library to pick.

On the other hand, D's builtin unit testing is so effective it has been a game 
changer, in that it has successfully changed the culture of D programming.


More information about the Digitalmars-d mailing list