Posted on 06/22/2002 12:48:53 PM PDT by Dominic Harr
Microsoft .Net software's hidden cost
Sat Jun 22,11:11 AM ET
Joe Wilcox
Companies planning on moving their old programs to Microsoft's new .Net software plan had better prepare for sticker shock: Making the conversion could cost roughly half of the original development cost, Gartner says.
More Newsletters (CNet/ZDNet Privacy Policy)
|
That may come as a blow to penny-pinching information systems departments in big companies, even those very familiar with Windows programming.
Typically, moving to a new software release isn't so costly. But, warns Gartner's Mark Driver, .Net isn't just a new release of Windows.
"People mistakenly assume the cost of upgrading will somehow be the same as going from one version of a well-established product to another. That's definitely not the case (with .Net)," said Driver, who devised the cost model.
Ari Bixhorn, Microsoft's product manager for Visual Basic.Net, disputed Gartner's conclusions. He said most conversions to .Net are about 95 percent error-free, meaning they can be completed at a cost much lower than what Gartner estimates.
Gartner, however, considered factors other than code conversions in its analysis, such as training and lost productivity. Bixhorn said he didn't see either training or productivity problems as much of a concern.
Microsoft's .Net plan includes new releases of the company's Windows operating system and other server software, along with development tools and infrastructure to make programs more Internet-aware. One new technology supported by .Net is Web services, which promise to make linking internal computer systems, and systems residing in multiple companies, far easier than current methods.
What's unclear is whether the additional cost of moving to .Net will slow Web services releases. Several technology buyers told News.com this week that they are waiting for additional standards and better compatibility before they commit to large-scale projects.
The most prominent piece of .Net released so far is Visual Studio.Net, a new version of Microsoft's development tool package, which debuted in February.
Visual Studio.Net includes new versions of familiar tools such as Visual Basic and Visual C++. But the tool bundle is radically different than predecessors. It includes a new development language called Visual C# (pronounced "see sharp"), and introduces the .Net Framework and Common Language Runtime, which are technologies for managing and running programs.
The new development tool package also ushers in ASP.Net, a specialized type of software called a class library, replacing an older technology called Active Server Pages (ASP) for creating Web applications that support new Web services technology.
Still, long term, Driver predicted that making the switch to .Net for building new programs would help lift productivity and create more efficiency within companies.
"Over the course of the lifetime of an application, .Net might give you 20 percent cost advantage or more over using the older technologies," he said. "You will be able to recover that migration cost over the course of three to five years."
Companies making the switch could do so all at once, but most will likely make the change over a longer period of time. Either way, the cost of migration stays the same.
"It's an issue of paying the 60 percent up front or over the course of three years," Driver said.
The largest cost is code conversion. Because it is difficult to calculate, the 60 percent estimate in some cases could be too low.
The cutting edge can hurt
Gartner based its migration cost estimates on Visual Basic.Net and not on its cutting-edge, Java-like Visual C# programming language. One reason: Cost. A forthcoming study will say the migration cost associated with C# would be even higher than the standard Visual Studio .Net tools, Driver said.
"Some clients have asked about going directly to C#," Driver said. "For the vast majority, going from Visual Basic to Visual Basic.Net may be painful, but it's going to be the least painful of the strategies."
C# is seen as a crucial programming language for advancing .Net. Use of the language doubled in six months, according to a March study by Evans Data.
Without a doubt, companies switching to the new tools and migrating software applications over the long haul will find the switch over the easiest, but even they face difficulties in planning. Driver used the example of a developer running the older version of Visual Studio and Visual Studio .Net over a protracted period.
"That becomes untenable at some point," he said. "You've got to make the switch. So even if you go with a hybrid model, you've got to remember that you're spreading your resources thin over two different platforms."
There are other concerns about making the switch to .Net. At the top of the list is security, Driver said. Following a January memo from Chairman Bill Gates ( news - web sites), Microsoft cranked up emphasis on security. But problems have still surfaced in recent months.
"Some people are hesitant to put Internet Information Server (behind a public Web site) because of security issues. Well, .Net doesn't really address those problems," Driver said. "IIS is still just as vulnerable with .Net running behind it as the older ASP (Active Server Pages) code running behind it."
IBM and Sun also are pushing hard into Web services, advancing their own technology strategies and tools.
Security will be an important part of that emerging market. Market researcher ZapLink said on Thursday that the Extensible Markup Language ( XML) and Web Services security market would top $4.4 billion in 2006.
I'm still working thru more C#.
My hobby is making games, and I'm trying to build a middle-tier for an online wargame I've got. I'm going to build it in both Java and C#.
I am hoping that the C# might be faster. The Java is fine for a turn-based game, but it's too slow for an RTS.
And Java develops as fast as ASP.NET.
I am sorry, I apparently did misunderstand your original post #17 which said, "I had an application that took me eight weeks to code and test in ASP. Converting it to ASP.NET took eight hours."
So apparently what took one week to code in ASP took 8 hours to convert? Do I understand that correctly?
So unless I'm mistaken, the thing you got angry at me about is still true, yes?
ASP.NET develops at about the same speed as Java.
So it could have been done faster in Java (or ASP.NET) to begin with, but using Java wasn't a choice because you're an "MS-only" shop?
I don't understand something, and I honestly would like to know -- why do MS-only people get so angry whenever someone even suggests that doing it in Java might have been faster, or cheaper?
There have been many threads discussing just that, and discussing all sorts of "isn't Open Source socialism" and that kind of stuff.
I'm not a Linux guy, so I don't know much about Linux. I'm agnostic in the whole OS thing. Never had much of a preference. I'm just now starting to learn a little Linux, I have a test box on my desk with Mandrake on it that I rarely have time to touch.
Absolutely correct. I had an application that took me eight weeks to code and test in ASP.
Converting it to ASP.NET took eight hours.
What you apparently picked up on that I missed was that this claim was not accurate, in fact highly misleading.
I was, apparently, wrong in taking this statement at face value. You correctly surmised he only mean the converted *part* of it to .NET, not the business logic, which remained in stored procs.
Or, in #17, he specifically claimed that he rewrote the entire app in .NET in 8 hours.
And then only made it clear much, much later that the did *not* mean the entire app.
Now *I'm* the idiot for thinking he meant the entire app?
The most interesting thing here is, ya'll assumed he wasn't telling the whole truth up front. And you were right. I assumed he meant what he said.
Maybe ya'll know more about the mentality of MS-only developers than I do?
Many of us, now, have done our own research.
That's the point.
I was unable to find anything that is independently verifiable.
The only success stories are very scant on details and read like a press release.
I'm seriously searching for some specifics and details on *any* .NET success stories. I've asked you what, a half-dozen times in a half-dozen threads now?
I am completely shocked at the resistance here. I expected to hear a lot of gushing, "Oh, we're building apps right now, having great success, reporting and middle-tier and multiple DBs." That kind of thing.
I'm not asking for any sensitive information. I'm not asking for any trade secrets. It's no secret .NET can be used to access DBs. I'm asking if anyone's had any major success doing so.
And no one has spoken up yet. Mr. Jeeves was the only response, and I appreciate what he said greatly. He didn't break any 'NDA', and was very helpful.
Now, surely you know of at least one case like that for a major system?
In #17, he specifically said, "I had an application that took me eight weeks to code and test in ASP."
I believed him.
Yet you MS folks somehow knew he *didn't* mean what he said. He *didn't* take 8 weeks to code and test it in ASP. He only took on week. I'm guessing it was an honest mis-statement, and he didn't mean to deliberately defraud. He was just jumping in here, offering his opinion, and the words didn't quite come out right. He's explained what he meant now -- total actual coding time 1 week.
He specifically backed off his claim.
And ya'll attack someone who mistakely believed his first statement.
This is fascinating.
This entire thread, which could have been devoted to a good discussion of .NET, and been great PR for .NET, instead has become a flame fest from MS-only people.
It almost sounds like you're trying to prevent a discussion of .NET. I can't imagine that is true . . .
What was it, a knee-jerk, 'if Harr is for it I'm against it' thing?
I honestly am trying to be positive about .NET here.
I do feel .NET is good.
Yes, I also feel Java is better right now. But .NET just came out. I feel that in 3 or 4 years, they will be going head-to-head.
And that's just not pro-dot NET *enough* for you?
What am I missing here?
Right, my estimate was based on his words that said 8 weeks coding and testing in ASP.
What, that he specifically said it was originally 8 weeks coding and testing in ASP he migrated, but he in fact meant 1 week, and I believed him and you didn't? And then you never once admitted that my point still stood?
Of course I won't take that 'hard', I am proud of the fact that I try to admit when wrong. And amused when others find that difficult.
I find it rather instructive that all the MS-only folks *assumed* his original claim was not accurate, was in fact exaggerated. I just learned again to take a .NET success story with a grain of salt, and not take the claims presented as fact. This is a perfect example of why I don't trust the MS press releases that give no actual details.
When I say I spent 8 weeks coding and testing something, I mean I spent 8 weeks coding and testing something. The discussion was specifically about migrating the ASP code.
Apparently, to the MS-only world, that can mean, "total project time 8 weeks".
Odd, but if that's how ya'll think it's how ya'll think.
As far as the architecture is concerned, I still feel that if they plan to do any other DB reporting, a 3-tiered approach would have allowed for better performance, more code-reuse and better fault-tolerance. And allowed for a more flexible approach to be taken on the DB selection later.
You can do it in C#, without a doubt. I have no problem with that. But I still feel that a 3-tiered architecture always pays dividends, and is the best solution, in the long run.
If this is a single, isolated app and the company will never again need any other db reporting, then I can see why they chose to take a 'short cut' 2-tiered approach.
But I have a hard time believing any company out there has no need for heavy DB reporting. I interface with HR, Accounting and Project Control.
You'll "let me slide" when I was right . . .
Well, that's the closest you've ever gotten to honesty, so I'll take it.
Seriously, if you just wish to flame folks, can't you find another thread? We were trying to discuss .NET here.
I've specifically said .NET is good. It's starting to look like it is a requirement of a .NET thread to never mention Java or any non-MS technologies. Apparently the .NET salesmen can't take an open tech discussion.
It's the wierdest thing.
I bought my wife one of those brand new Hyundai Santa Fe's over Christmas. When talking to the salesman, I brought up things like "the Toyota seems to hold it's value better" and "the chevy gets better milage".
He didn't once get angry.
That's an interesting paralell for another reason -- one of my concerns about the Santa Fe was that it is a brand new line, with no track record (much like .NET).
The salesman was understanding when I said that worried me, and he explained how they were worried about that problem too, so he offered me the extended warranty (10 year, 10,000 miles) for a discount.
He made the sale.
*That* is how I expect MS salesmen to act. Don't attack/insult/flame anyone who suggests that there are other good solutions out there. That kind of high pressure tactics does not work with savy consumers. And you have to have the savy developers, if you want .NET to succeed.
He specifically said one thing, and ya'll "assumed" he meant another. We were specifically talking about code migration, he specifically was talking about code migration, but you assumed he didn't mean coding and testing when he said coding and testing.
Okay, whatever. It can be hard to admit error, I understand.
As for multiple DBs, that's an absolute must in any real environment, in my experience.
If only over time, you will have to migrate DBs. There's almost no way that 5 years from now they'll be using the same version of the same DB.
And certain DBs are better at some things than others. For massive data load, you have to use Oracle. For smaller DBs, SQLServer can be fine. Or even MySQL, for that matter. Or even Access, in some cases.
And then there's the whole "executives live and die by that stupid Lotus Notes/Domino DB" thing. All our HR data is in a Lotus Domino DB.
The idea of forcing all other depts to go to one monolithic DB is completely unworkable, in my experience. For political reasons, for organizational reasons, and because the people who use the data should "own" the data.
A real business has to be able to report on a wide variety of data from a variety of sources.
This is one of the really good uses for a C# 'web service', and that's what I'm playing with now. I've got a MySQL db that stores all the 'game world' data, and an applet that communicates with the game world thru an XML-based middle tier.
I only wish I didn't have to use IIS. I just can't stand that product, and am reminded why a hundred times a day.
I believe at least 2 folks here, and likely 3, are indeed MS salesmen. As with any salesman, I am critical of 'hard sell', 'our product can do no wrong' sales tactics. If you can't see those in this thread, I can't imagine we could have much of a worth-while discussion on the product.
MS Salesmen *do* dupe their customers. So do Oracle salesmen. Oracle isn't half as good as the Oracle salesmen claim. But then again, the Oracle salesmen don't get mad at me when I mention I like MySQL.
And how did I insult anyone? I still don't see it, looking back. It's very clear how I was insulted -- called names, etc. Which has become a badge of honor on these threads.
I was saying nice things about .NET, and was asking for anyone's experiences with .NET so I could hear how far along it's development is, and I got flamed for even mentioning java.
If ya'll are so locked into one company that you can't even allow the mention of another tech in a thread, I think you might wonder about a few things.
Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.