Posted on 05/04/2002 11:54:48 AM PDT by Bush2000
Microsoft's new C# programming language is gaining in popularity, with usage nearly doubling in the last six months, a new study shows. C# is Microsoft's new Java-like language and a crucial piece in the software company's .Net Web services strategy, in which software is made available over the Net to be accessed by multiple devices, such as PCs, cell phones and handhelds.
Twelve percent of all North American software developers have begun using C#, up from 7 percent six months ago, according to a new survey by market research firm Evans Data. The firm also predicts that the number of programmers using C# will double to 24 percent in the next year.
The majority of developers using C# are only dabbling with the new language, however. Most current C# programmers are using the new language for less than 20 percent of their development work, choosing other languages for the brunt of their work, the survey of about 800 developers showed.
C# is not displacing any languages, because most C# users are trying out the technology instead of committing to it wholeheartedly, an Evans Data representative said.
Evans reports that C# is popular among users of Microsoft's Visual Basic programming language and among those developers using Extensible Markup Language (XML). The C# language is less popular with Java developers, Evans reports.
Microsoft is using C# in its battle for software developers. The company's .Net Web services plan is up against rival technologies sold by Sun Microsystems, inventor of the Java language, and other Java backers, such as Oracle, IBM and BEA Systems
pyx: "Damned Microsoft! Don't they know how to build their own language, instead of bastardizing Java?!"
Microsoft: "But we did. We call it 'C#'"
pyx: "Damned Microsoft! Always trying to hog the market!"
Funny thing. It is exactly the technical merits of .NET and C# that are getting them to be considered. You may not consider them, as an anti-MS bigot, but many others are, and doing well. Catch me in four to six months, and I'll update you on the progress of the projects I am personally leading. I bet they will be on time, on budget, and performing handsomely.
Actually, I do know that they work. Now, will they have a nasty hidden bug? Who knows? Then again, who knows about Java, either. Of course, any new product is at higher risk new than three years down the road, but also remember that products get updates and those updates may also introduce nasty bugs. Hence, Java may have one right now, introduced just in the last minor revision. Also, whom ever created the JVM a person uses may also introduce a hidden nasty. So, while .NET is the newest, it is not so new as to be too high a risk, while Java may also have a nasty being a bit seasoned.
The difference is -- when I pitch a Java solution, I know it will work because I've built them before, and put them into production, and worked thru the issues. I know the issues, and I know how to deal with them. I've got a working example. I can point to functionality, screen shots, years of up-time. I know how long it will take, how much it will cost.
You do *not* have any of this with .NET. What you do have is a certainty that there will be unforseen problems. And you aren't even informing your customers of that.
Java went thru that stage almost a decade ago, and at that time it was not ready for business-critical use.
Just like .NET isn't ready now.
Again, are you telling your clients the truth -- that there is a much greater chance (in fact, a certainty) of .NET's having critical problems no one has yet solved, compared to Java?
Or are you selling them that a .NET solution is just as 'ready' as a Java one?
Because suggesting untested .NET is as functional and ready as mature and Java is just plain fraud.
Many features were actually held back, and you will see them shortly. I think Microsoft has been doing a great job as of late concentrating on security. They have been concentrating on reliability, and with XP it shows. The .NET servers are also doing very well. They are in BETA, but, so far, I can say that I REALLY like them. For the admins out there, I'd say they will, too.
.NET is new to many people, and for that I can see your point that they cannot honestly say that .NET works, as they personally have no experience with it. As with many new products, case studies, white papers, and prototypes play a pivotal role in decision making. I think if I were a newbie to .NET, as a customer, I'd want extensive testing beyond normal. All in all, I think .NET will work out just fine, while it will still have that hesitancy for adoption that any new product or technology usually has. Frankly, no company impresses me enough for me to blindly embrace their new products.
BTW, it isn't .NET's performance that I worry about, not that performance was your primary consideration. It has been the hardware. I use Dell servers in most cases, and the Intel bus SERIOUSLY needs to be at LEAST 400mhz raw, for a 1,200Mhz transfer rate! This 100/133Mhz crap has got to go! Intel, AMD, are you guys listening???
Again, we both agree that we need to revisit this in a year. Hell, make that 1 Feb 2003, about a year after .NET's public release. I'd be glad to compare notes on accomplishments. I expect much, and you do not. 1 Feb '03 will be fun!
At present, I'm afraid that's the ONLY solution, especially for firms with large investments in proprietary corporate VB 6 code libraries.
Don't get me wrong, VB.Net has some neat features and is a worthwhile product in its own way, but most corporations already have VB 6 investments, and VB 6 code is no longer supported in VB.Net.
Using VB.Net for NEW projects is one thing, but modifying existing VB 6 projects is no longer an option for those who want to upgrade to .net.
This creates a new problem for Microsoft. From now on corporate decision-makers (not the kids who write the software, but the grizzled veterans who have to sign off on paying for coding software) will have that small worry in the back of their minds that Microsoft may come out with the next release of VB.Net that isn't backwards compatible with today's version, just as Microsoft did with VB 6 to VB.Net. This "concern" could easily spread to other Microsoft development platforms, especially if new releases of MS Office/Excel/Word fail to support the VB 6 VBA scripts of today at some point in the future.
If that path is taken long enough and covers too many platforms, Microsoft will get a reputation as not being customer friendly, not understanding the value of code re-use (it's tough to re0use code when the new version of the language no longer supports it), and not understanding backwards compatibility.
Novice developers and Microsoft Yes-Men probably won't have a problem with those sorts of ramifications, but the decision-makers in corporate America will certainly take notice.
There is even historical precedent. In 1982 Apple computer was leading America in computer hardware and software marketshare, when suddenly they decided to pull all backwards compatibility support for the Apple II, II+, IIe, and IIc systems in favor of the "better" way of programming for first Lisa and then the Mac. Legions of developers lost their entire Apple II development libraries, as no new hardware was being built that supported any of it.
Apple never again led this nation in either hardware or software marketshare, although every techie will correctly point out that the Mac is a much better platform.
The lesson being that smashing your developers and corporate customers may hurt MORE than the improved platform makes up.
How long would Sun survive if its new version of Java no longer compiled existing Java code?!
That's funny. VB 1 ran my ThunderWare apps just fine. (grins)
Yes, sometimes you do have to take revolutionary steps, but I'll give you an example of implementing Revolution while maintaining full backwards compatibility with existing software: C++. Every C++ compiler, including the first, is fully backwards compatible with the older C programming language, yet the revolutionary new methodology of C++ is still implemented inside.
You really can have a revolution and be backwards compatible if you have intelligent design.
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.