Sunday, March 19, 2006
« All in all we’re just another brick in t... | Main | CSLA .NET 2.0 release code available »

A number of people have asked why the C# edition of my new Business Objects book is coming out before the VB edition. And yes, that is the case. The C# book should be out around the end of March, and the VB book about 2-3 weeks later.

As I've said before, I wrote the books "concurrently". Which really means I wrote one edition, knowing full well that I'd be coming through later to swap out all the code bits and change a few of the figures. It really didn't matter to me which one I did first, because I was going to have to go through every chapter to do this swapping process either way.

I did write the actual framework and sample app in VB first. The initial port to C# was handled by a fellow Magenicon, Brant Estes. Believe it or not, he had the initial compilable code done in about three days! I am thinking he didn't do a whole lot of sleeping (because he did the port by hand, not with a tool - which is awesome, because it means the code style and quality is far higher).

I could give you a fluffy (if somewhat true) answer, that the reason I did the C# book first was to ensure that the C# code was fully tested and brought entirely into line with the VB code. And there really is some truth to that. By doing the C# edition first, I was able to go through every line and recheck, tweak and enhance that code. Several large chunks of functionality were actually added or altered in C# first (during the writing process) and I back-ported them into the VB version of the code.

But the real reason is what a few people have speculated: dollars. For better or worse, the fact is that the .NET 1.0 C# book is outselling the VB book by quite a lot. Nearly 2:1 actually. Due to this, my publisher really wanted to get the C# edition out first. I initially pushed back, but I personally have no rational reason to do one before the other. I do love VB very much, but that's an irrational and emotional argument that simply doesn't hold a lot of sway...

(That said, if there was more than a couple week difference in release dates, I would have insisted on VB first, and I would have won that argument. But you must pick your battles, and it made no sense to me to have a fight with my publisher over which book came out 3 weeks before the other...)

For what its worth, porting the book is far, far easier than porting (and maintaining) the code. I've said it before, and I'm sure I'll say it again, maintaining the same code in two languages is just a pain. Converting the book was a relatively rote process of copy-paste, copy-paste, copy-paste. But converting the code means retesting, double-checking and almost certainly still missing a thing or two...

Anyway, I thought I'd blog this just to make the order of release totally clear. For better or worse, it was simply a business decision on the part of my publisher.


Monday, March 20, 2006 3:04:26 AM (Central Standard Time, UTC-06:00)
Seduced by the dark side at last! It doesn't surprise me that C# sells better - perhaps nobody can tell what's going on by viewing the C# code so they all have to buy the book too ;) Rocky have you ever considered doing books on other object frameworks? CSLA works well for a lot of business development, but disconnected or aychronous type situations need slightly different solutions. Perhaps you have enough on your plate already? Or perhaps people finding the benefits of a framework for the first time don't think they know it all and buy more books :) Now that you're focusing on C# will you be doing a Mono version to bleed some cash out of those tight-fisted open source guys;) I got CSLA 1.5 Tests working with Mono (only a mod to resources & removal of COM+ transactions required) but I'm not sure how easy 2.0 will be.
I've got the VB book on order. Thanks for not rushing to publish after the first .NET beta release.
Martin K
Monday, March 20, 2006 7:44:52 AM (Central Standard Time, UTC-06:00)
I agree with Martin. I, for one, would love to see the Cobol.net version of Expert Business Objects. After all, what better business language is there than Cobol? Maybe RPG. But, that is an agrument few of the faithful to either would concede.
Bob Harvey
Monday, March 20, 2006 7:47:16 AM (Central Standard Time, UTC-06:00)
Despite being a long time VBer, I have actually pre-ordered the C# book... why? Dollars :-) The harsh reality is that C# jobs simply pay more than VB.NET jobs. I intend to supply that demand at some point :-)
Tim Ensor
Monday, March 20, 2006 9:09:53 AM (Central Standard Time, UTC-06:00)
Martin, the closest I've come to writing about another framework is the possibility of a book that uses DataSet objects instead of business objects. Books don't come close to paying a decent per-hour rate, so the only way it makes sense to write a book is if you are passionate about the topic. I have a lot of passion for the concepts behind CSLA .NET - especially the mobile object ideas - so that's what I write about.

There are other ideas around mobile objects that I'd like to explore more thoroughly, but I seriously doubt they have broad enough applicability in the business world to make for a viable book. Someday perhaps I'll get a position at a research university so I can get support for exploring those ideas :)
Monday, March 20, 2006 10:57:11 AM (Central Standard Time, UTC-06:00)
I am not exactly sure, but we were able to purchase and download the C# e-book on 14-March-2006. However, the book is take out of the site the later on the same day.
We were so eager to get the book, that I was checking twice a day on the apress site and looks like we were rewarded.

Thanks again Rocky for the good work.

Krishna Prasad
Monday, March 20, 2006 12:07:12 PM (Central Standard Time, UTC-06:00)
Not a problem for me I have 3 copies of each on order for our company :)
Barry Fitzgerald
Monday, March 20, 2006 1:13:35 PM (Central Standard Time, UTC-06:00)
Okay... thanks for confirming. At least you published the VB version, unlike Sells/AW; they just dropped the VB edition for round 2 of his book.

So to extrapolate this then and put it into perspective:

There are pretty much twice the number of C# positions on job boards as VB.NET (in any metro market). Yet, MS and VB advocates keep telling us that there is at least a 3+ :1 ratio of VB to C# developers. What does this really mean? That it's easier to get a C# job than a VB job since there are more positions and less candidates than in the VB market, and that they'll even pay you more. Hmmm... guess it's time to fire up my pinky finger and get a bigger wallet! ;-)
VBMan
Monday, March 20, 2006 1:41:05 PM (Central Standard Time, UTC-06:00)
Tim Ensor...Just an FYI. I know some salary surveys may disagree with this, but at Magenic we dont pay C# people any better than VB.NET people. Knowing the framework is what matters most to us and with that we expect people to move back and forth rather quickly.
Monday, March 20, 2006 7:46:34 PM (Central Standard Time, UTC-06:00)
Its okay Rocky, I can wait the VB .NET version of the book no rush. In my opinion what is important is the content and how CSLA 2.0 works. In case I run out of VB .NET version I'll get C# version of the book. I have no problems in reading C# code even Im a VB .NET developer.

I agree Keith, here in the company I work, we have hundred of developer resumes claiming they know .NET (C# or VB .NET). But during the actual technical exam most of them can't finished it.
For me, its not about doing it in C# / VB.Net what is important is that your passionate enough to learn upcoming technologies not only that you must also be creative on thinking solutions on the problem.

Glenn
Tuesday, March 21, 2006 12:02:46 AM (Central Standard Time, UTC-06:00)
Keith - what's your opinion on the market demand for VB devs vs C#? Does the logic in my previous post hold? Believe me, I'd prefer to continue work in VB, but if C# is what the market wants... although if all you have is VB.NET experience, C# shops will pass you over since you don't have C# coding experience(as silly as that seems).
VBMan
Tuesday, March 21, 2006 9:58:28 AM (Central Standard Time, UTC-06:00)
Well if you guys want to offer me a job my framework knowledge is pretty good - shame I'm on the wrong continent, though :-). The problem is that not everywhere follows your forward-thinking approach..
Tim Ensor
Tuesday, March 21, 2006 2:10:06 PM (Central Standard Time, UTC-06:00)
VBMan: ...it's all the same. If a company passes you over like you mention then you probably don't want to work for them any how. Besides C# is no different than VB.NET so why should companies pay more for the same thing. Only ignorant ones would do that.
John Williams
Monday, March 27, 2006 11:13:16 AM (Central Standard Time, UTC-06:00)
I know both languages equally well, I just prefer to use VB for the advantages I get from the IDE. When I answer contract jobs requesting C#, I can usually talk them into VB. The ad is usually generated by someone that just heard that C# is better. A little education goes a long way.
Friday, March 31, 2006 9:58:16 AM (Central Standard Time, UTC-06:00)
I for one wouldn't necessarily pass over someone who had extensive VB.NET experience but none with C#, even though we use the latter exclusively for new development, but somebody who claims there's no difference between the two wouldn't go very far in the screening process.

Daniel Billingsley
Comments are closed.