Background compilation and automatic transmissions.
Fri, Nov 19 2004 13:57
A major feature that VB.NET has that C# is still currently lacking is background compilation. Background compilation is much like having an automatic transmission, instead of a manual. The background compilation does the menial task for you.
Traditionally, most folk thing of automatic transmissions as being expensive and less fuel efficient. The up-front cost in the case of VB has already been paid back in version 2002, now each version comes with the auto as standard with no extra cost.
Fuel efficiency has also improved, as background compilation gets smarter about selecting what parts need to be re-compiled. Still, in congested traffic, where you have many changing projects in your solution, there will be some processor overhead with background compilation.
But this is very much like city driving. It’s that start/stop driving where one really appreciates an auto, allowing you to focus on driving, not stopping to change gear. And when projects are changing rapidly, you really do need to compile regularly, making the manual compile tedious, and often interfering with your enjoyment of a coffee while you drive J
Out on the highway, the new background compiler in 2005 is finely tuned to the editor, allow greater matching and efficiencies. This too is very much like the auto industry where the new automatic transmissions can be precisely matched to the engine. My new car (due at the end of the month) is actually more efficient on the highway than the manual transmission. This too is much like VB compared to C# in terms of compilation. C#’s lack of a background compiler means you have to actually stop to change gears! Stop and save your code. This requirement that you must physically safe files to see changes, means changes desirable or not, have to be written to hard disk before you can see their full impact. Here, VB gains in efficiency by re-using the in memory model, adjusting it to changes as you drive.
Of course, there will be some folk who’d rather drive a manual. Some people prefer to do jobs machines are better suited to do for them. Me, I’d rather have an auto any day J