Deprecated, reprecated, and prepcreatedcated

Development Comments

Sounds good to me.  Let's see:

Features that are in the standard, and have never been deprecated, are precated.

Features that have been deprecated, but aren't any more, are reprecated.

Features that aren't in the standard, but are (more or less) guaranteed to be in a future standard (the library TR, for example), are preprecated.

I like this group.  Not only can we invent new features for C++, we can invent them for English as well:-).

I'd suggest adding a couple more:

Features that nobody wants in the standard are antiprecated. Example: the comefrom statement.

Features that are of limited usefulness (in spite of a very long implementation time) but did make it in the standard shall be called placated. Example: <censored>.

The upcoming proposal to add multithreading to the standard is prepcreatedcated (the result of two threads writing "precated" concurrently).

Andrei

[Andrei Alexandrescu in comp.lang.c++.moderated]

DateTime.ParseExact

Development Comments

If you're using DateTime.ParseExact with a custom format string including slashes, don't forget to escape them.

After I've catched FormatExceptions several times, I've found this explanation:

'/' is the default date separator defined in DateTimeFormatInfo.DateSeparator.  Therefore you have to escape '/' with '\' if you want to use it:

System.DateTime.ParseExact("2004/05/31 16:19:43", @"yyyy\/MM\/dd HH:mm:ss", null);

VC Build included in Visual Studio 2005 Beta 1

Development, Whidbey Comments

Several month ago, Peter Huene introduced VC Build, a command line tool to build C++ projects and solutions. For building our product, we have a huge batch file, which spawns devenv for every project. You have to know that devenv loads lots of DLLs and consumes much memory, even if you're just building a project from the command line. The number of our projects is triple-digit, so devenv is started more than a hundred times. The entire build of our software took on my machine 1 1/4 hours.

Then I changed our build scripts to use VC Build instead of devenv. Now the build takes about 45 minutes, i.e. it's reduced to 60%!

(First it didn't work properly, because VC Build didn't return an error code of the build failed. Peter posted an update after I and someone else reported some bugs)

Today I discovered that VC Build is not a nice tool hidden in the 'net anymore. Now it's part of Visual Studio 2005, at least part of Beta 1. You can find it in <whidbey installation path>\VC\VCpackages\.

(I planned to post about VC Build for long time, but I've forgotten. Funny incidence that today I found VC Build in Whidbey, and Jamie "NUnitAddin" Cansdale mentioned VC Build in his blog).