Welcome!

Java Authors: Trevor Parsons, Andreas Grabner, Elizabeth White, Pat Romanski, Michael Bushong

Related Topics: Java

Java: Article

C#: Is the Party Over?

Five years later what do we see? The .NET platform has been under constant development

(March 13, 2006) - One of my tasks at Sun was to keep abreast of the technologies in the marketplace that competed with Java. At certain points in the release we would summarize where we were compared to other technologies and, if necessary, focus on areas where we could improve.

The biggest unknown at the start of my last project was C# and .NET. I heard through the grapevine that a project from Microsoft, known as "Cool," was on its way, a project that was the forerunner to C#. However, it was less than a year before the Java 5 project started that both those technologies were publicly announced.

Five years later what do we see? The .NET platform has been under constant development, often too fast for many corporate users to adopt. There has been a 1.0, 1.1, and 2.0, each which could be counted as a significant version in their own right. Following the churn of the .NET SDK, the Visual Studio product has required its own aggressive update schedule, although when comparing feature lists, C# is not singled out for any special attention on Visual Studio's Web pages. Looking at the forums, Visual C++ and Visual Basic and not C# attract the lion's share of the forum attention. In addition, the underground community site, gotdotnet.org, has undergone significant site and management changes. Given that C# hasn't necessarily been the instant success that many thought it would have been, it hasn't been for lack of trying. The MSDN site has adopted many of the best practices used on other developer Web sites. You can now read and vote on C# bugs and submit suggestions among other community-building initiatives. The C#, C++, and C compilers are now free, although not obviously as optimized as the professional edition. While C# has gained some traction in those years, why didn't it make the grade?

Java Didn't Stand Still
The first reason I can attribute to C#'s struggle is that the Java platform did not stand still. Many of the benefits that the Java platform delivered were not solved by moving to C#, the most significant difference being OS independence. While C# was in rapid release mode, the Java platform was able to fine-tune the language and at the same time invest heavily in stability and scalability. At an application level, the differences are even more marked. Deploying a .NET service leaves a company a small choice of application servers and OS versions. The reverse is true of Java and J2EE, where there were almost too many J2EE application servers to choose from. The market has now moved to an open source J2EE application server model, which brings me to my next point: the open source movement.

Open Source Changes Everything
The momentum of the open source movement has often been documented as being a threat to the proprietary software market, yet at the same time analysts have questioned the validity of a never-ending supply of free labor. The truth is somewhere in between. While developers had to get budget approval for MSDN licenses, their Java colleagues were able to deploy a system for free. Now with the advent of a new crop of open source J2EE application servers to follow JBoss, the justification for a team to spend thousands of dollars on basic development tools becomes harder, especially if it means a choice between deciding on a new laptop and a renewal of your existing desktop tools.

The growth of open source Java hasn't stopped there. You only have to look at Hibernate, the Spring Framework, and Struts/Shale to see that developers can work together to solve their own problems. Being open source doesn't necessarily mean those developers have to work for free; however; it does provide a way for individuals and companies to work together without being restricted by working group policies or internal company politics.

The Mono project, which aims to provide an open source implementation of C# and .NET, has also been around for four years now and is now part of Novell. Providing the compiler is only part of the challenge. The .NET platform uses many Windows services that until Mono started didn't even exist on Linux. Microsoft has awoken to the open source movement; how much they will help Mono is yet to be seen. Mono today is still a development project much as .NET is still looking for full traction.

Conclusion
Is the C# party over? If the plan of C# was to slow the defection of Visual C++ developers to Java, then it was certainly better than nothing. The long-term savings for Microsoft in sharing a CLR between projects was more than worth the initial effort. However, C# is still not the de facto choice for Web site or enterprise development and other languages such as Python and PHP, which are bringing in a new generation of developers who don't have a need to migrate Visual C++ applications. C# isn't going anywhere soon but its best days may be behind it.

More Stories By Calvin Austin

A section editor of JDJ since June 2004, Calvin Austin is an engineer at SpikeSource.com. He previously led the J2SE 5.0 release at Sun Microsystems and also led Sun's Java on Linux port.

Comments (79) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Peter Sham 01/18/07 01:31:52 PM EST

Just pass by and see the comment on MS tools and technology. I happened to work with both Java and .Net and I THINK MS tools SUCKS. Just look at how clumsy VS do refactoring. Compare that with Eclipse, VS looks like a baby.

Rob Karatzas 08/18/06 01:05:22 PM EDT

As I mentioned in my 22-Aug-2005 post here, and after harping on this (for YEARS now) on why the Java language is not a
"one size fits all" language, I think the Sun folks finally got the (
MS ) message about supporting other languages on their JVM (like the
MS CLR has):

http://enterprise-applications.webbuyersguide.com/news/4287-wbgenterpris...

Respectfully
Rob

Charles Oliver Nutter 08/13/06 04:35:20 PM EDT

I believe the prevalence of open source projects for the Java platform is the single largest advantage Java has over .NET. With free tools, multiple platforms, and libraries for everything under the sun available, The Java world has rolled itself into a really gigantic snowball. As a JRuby developer, I frequent Ruby community forums. While there, I see more people ask "how can I do in Ruby what I can do with library X in Java". It has certainly left its mark.

I believe the next great battle for platform supremacy will be for alternative languages. So far, Java has won and held onto the important metrics for adoption, but the recent push by Microsoft to bring dynamic languages into the fold threatens much of that domination. The world is finally seeing how languages like Ruby and Python can speed development time and reduce cost-of-implementation. Microsoft has the head start this time.

It is my hope that projects like JRuby, Groovy, Jython, and others will help again win the battle for Java developers (and Ruby, Groovy, and Python developers) around the world, helping to bring that all-important diversity to the greatest VM platform available.

Danny Kalev 08/11/06 05:47:24 PM EDT

http://it.sys-con.com/read/117741_f.htm is recycles article originally published in October 2005.
While I can see the value of reposting older articles that may still be relevant, claiming that this is a new article is misleading.Why not state the original date of pyblication?

Anil 08/11/06 12:58:37 PM EDT

see comments from .NET developers here
http://channel9.msdn.com/ShowPost.aspx?PostID=224778#224778

David R. 08/11/06 11:08:19 AM EDT

I have worked with both environments Java/J2EE and Dot Net with C#. It is more fun programming with the MS tools and technologies and far more productive than my Java experience. I AM a Java developer and a Websphere with RAD (IBM plugins with Eclipse) developer. I do think the Java IDE tooling has been getting better but it is still rather lame when compared to Visual Studio 2005. I think that the big test for Dot Net and C# will be when Vista and Longhorn get released either people will start to adopt Dot Net at a much quicker pace or not. I do think that Mircosoft has been improving its technologies in a very significant way and has changed its corporate perspective where developers are concerned.

Adrian 08/11/06 10:35:45 AM EDT

Sheeze louise! This still going? and why do JDJ News Desk keep reporting the same "Five years later" item, which probably should be reading "Six years later" as thats how long this old "news" has been here. It was a daft comment when first posted, posting again doesn't make it any better.

Casper 08/11/06 10:12:14 AM EDT

I beg to differ. I am not pro-Java nor pro-C#, I developer with the right tool/language for the job. Without a doubt, C# is easier, more consistent and just basically a nicer language than Java. It is not Java's fault per se. The language and API is getting old, depricated and bloated. Also, it seems SUN did not really know what they want. First a push on Applet and Swing, then forgetting about it and moving to the insanely complex EJB world and now finally again it looks as though they are trying the desktop (finally systray integration, after 10 years!).

Hans 08/11/06 09:26:30 AM EDT

The comment on the professional versions having optimized compilers very obviously shows that he has absolutely no idea of .Net. I hope he has a deeper knowledge of java ;)

JDJ News Desk 08/09/06 09:35:03 AM EDT

Five years later what do we see? The .NET platform has been under constant development, often too fast for many corporate users to adopt. There has been a 1.0, 1.1, and 2.0, each which could be counted as a significant version in their own right. Following the churn of the .NET SDK, the Visual Studio product has required its own aggressive update schedule, although when comparing feature lists, C# is not singled out for any special attention on Visual Studio's Web pages.

Jeff Miller 07/17/06 03:26:08 AM EDT

Having had the opportunity to spend some of my career time working in both the Java/J2EE and Microsoft .NET areas - I find the assumptions and conclusions in this article to be biased and incorrect. Both Sun and Microsoft have top-notch people working for them. Each "side" knows what they are doing. Based on my observations - I have seen several companies drop Java and move to .NET (the actual language used for .NET does not have to be C#). I also know of companies in the enterprise area that will only use Java (i.e. never .NET). I see this article as "preaching to the choir". To me it has the same impact as seeing an article in a Microsoft-biased magazine saying "Java is dead".

Andrew Hilton 12/16/05 01:03:52 AM EST

"The C#, C++, and C compilers are now free, although not obviously as optimized as the professional edition. "

What do you mean by this? And where's your evidence? As far as I know the only difference are the bundled tools to assist team & enterprise development.

This statement implies that solutions built using the Express products have somehow been knobbled performance wise. Extremely unlikely since all products use v2 of the .net framework.

kLAx 12/10/05 05:15:21 AM EST

Thy this: http://msdn.microsoft.com/vstudio/express/visualcsharp/

kLAx 12/10/05 05:09:36 AM EST

That is just the pace of the innovation and enfusiasm.

Would you suggest the .NET community slow down?

Too fast for who?

JDJ News Desk 12/08/05 06:44:47 PM EST

C#: Is the Party Over? Five years later what do we see? The .NET platform has been under constant development, often too fast for many corporate users to adopt. There has been a 1.0, 1.1, and 2.0, each which could be counted as a significant version in their own right. Following the churn of the .NET SDK, the Visual Studio product has required its own aggressive update schedule, although when comparing feature lists, C# is not singled out for any special attention on Visual Studio's Web pages.

Adrian 11/18/05 04:27:31 AM EST

Yep, this Calvin guy just does not want to accept than anything else could be as good as Java and rising in popularity. Not sure he even understands that C# is not really the point in the Microsoft .NET camp, since programmers can choose VB.NET, C# or even J# (like you needed anything closer to Java than C#) to program in the .NET environment.
I'm working along side Java programmers now who are always complaining that the wrong versions and variants of the Java VM on different platforms and browser costs them time and delivery deadlines. .NET version 2 (and yes that means C# version 2, and VB.NET version 2) was released this month, and naturaly the next step in the evolution of .NET (version 3) is bound to be underway.
Microsoft.com has a lot of products to promote and it is right that it should concentrate on products that non-techies are interested in, like Office 2003 and Windows Vista. The techies know to go to the MSDN site for their news on .NET and other products.
Calvin should be worrying about the take up of VB.NET and C# in competition with Java... a .NET programming language is a .NET programming language regardless of whether you want it VB flavoured with VB.NET or Java/C++ flavoured with C#.
In case you are wondering, I do actually like Java very much (from an academic point of view) as a programming language, I'm just making my living with C# and VB.NET right now.

Drewes Kooi 11/17/05 08:45:19 PM EST

What a biased article, .net is a great environment to develop, vs2005 is probably the best development environment there is. ASP.NET 2.0 is great to develop web applications, there is one standard, not 10 different frameworks as is the case with java.

Calvin Austin 11/10/05 08:20:59 PM EST

Its about 5 months since I wrote this article. Microsoft are now talking about C# 3.0, with even more language changes. No news on C# adoption from Microsoft.com, no customer cases, no customer testomonials on any kind on new launch pages.

Looks pretty lonely out there for C# developers.

Brendon 11/10/05 07:08:07 PM EST

In my opinion, there are no IDEs that can compete with VisualStudio.NET. Where I live, the ratio of .NET positions to JAVA positions is probably 5:1. Is the party over? For JAVA it is.

Thomas 11/09/05 12:34:35 AM EST

This is a blatant marketing driven rant with no grasp of reality. C# and .NET are just starting (check out NET 2.0 and VS 2005), bot the language and the tools are progressing in leaps and bounds. If you throw in the up coming Vista, there is enough technology to keep MS developers busy for the next 5 - 10 years. What significant progress has Java made recently? Where is Java going? ... For better or for worst Java is the in question, not C# (.NET).

flame on ...

kLAx 11/08/05 03:39:42 AM EST

ATI Catalyst® Control Center written in C#

http://www.ati.com/products/catalystcontrolcenter/features.html

MS Microsoft Expression Interactive Designer (Sparkle) written in C#

http://www.microsoft.com/products/expression/en/interactive_designer/id_...

The list goes on...

And I agree the party has just started!

ALP 11/05/05 08:59:20 PM EST

As a developer in both camps, my initial reaction to JDJ publishing this article was that somebody is feeling the heat to bolster Java. However, it needs no bolstering. Technical people understand that having these two great platforms makes things better for developers. You need not look any further than the things that made it into Java 1.5 that had existed in C# (.NET 1.0 & 1.1) and the things in C# (.NET 2.0) that had previously only existed in Java. To paraphrase Yakov Fain, don't lock yourself into any one language -- regardless of vendor.

Adrian 10/19/05 05:35:43 PM EDT

Lets not forget some Java to C# migration. Recruitment agencies don't advertise these vacancies dirctly very often because they get swamped by "wanna be's" who don't have the neccessary experience. I have direct contact with around 100-150 agencies and discuss market conditions with them on an almost daily basis. Since about June this year 2005 there has been a dramatic rise in the calls I get regarding C# work (sometimes 6 or 7 a day, I have to turn the mobile phone off for periods to get work done), when before it was VB.NET, I have experience with both. In the end VB.NET and C# are virtually the same language, the differences is mainly syntax. Demand for .NET in general has been rising quickly in the last 12 months in line with a recovery in the IT recruitment market from the "dotcom bust" recession.
e-government initiatives, investment banking / trading seem to be the big drivers for .NET right now.
In the end I see two big sellers in the IT Services market from where I am "standing", .NET (any language) AND Java. It stands to reason .NET growth will be stronger, it has not been around for as long and in general "Microsoft" Organisations have only in the last year started to spend money on .NET projects (remeber - market recession recovery).
Sounds like Microsoft are not doing us any favours on the price of MSDN Universal over here, Government / Public sector and education organisations do get massive discounts (in the region of 30-50% I beleive).
I'm not trying to be argumentative, I'm just pointing out that C# is not the failure you think it is. The vast majority of code samples, application blocks and enterprise library software available from Microsoft is written in C#. You do need to dig beyond the MSDN web site home page if you are measuring Microsofts commitment to C# by web page count and length.

Calvin Austin 10/19/05 12:57:30 PM EDT

@Adrian. There was a large percentage of MS shops in the UK even when I lived there. So I would expect some to move from Visual C++ which was heavily used, to C#. (btw I checked a few independent jobs sites and didn't see the hot migration to C# you mentioned)

The UK and Europe are very lucrative markets for Microsoft, they can still use dollar/pound pricing and will use the press and other sources to maintain that position.

MS can sell a $2000 copy of software like MSDN univ for 2000 GBP, an instant $2000 additional profit which ultimately the UK tax payer (through government uying) pays for.

Adrian 10/19/05 05:44:18 AM EDT

Calvin, you are out of touch with reality, at least as far as the UK is concern. C# has had a slower start than VB.NET only really getting hot in the last 6 months. There is convincing evidence in the IT recruitment market that C# is now booming in green field developments and organisations that have gone C++ to Java and now on to C#, or C++ straight to C#.
The party is just starting to warm up...

SYS-CON Spain News Desk 10/16/05 01:25:30 PM EDT

Java Developer's Journal - C#: Is the Party Over? Five years later what do we see? The .NET platform has been under constant development, often too fast for many corporate users to adopt. There has been a 1.0, 1.1, and 2.0, each which could be counted as a significant version in their own right. Following the churn of the .NET SDK, the Visual Studio product has required its own aggressive update schedule, although when comparing feature lists, C# is not singled out for any special attention on Visual Studio's Web pages.

Calvin Austin 10/16/05 12:55:53 PM EDT

@Steven W. Thank you for your blog quote

"I don't know what group of developers Mr. Austin knows, but the VAST MAJORITY of developers i know (in Microsoft shops) have not even started using .NET yet"

Exactly. My point is that C# and .NET were a based on Microsofts needs at the time, and were not as a direct result of developers needs.

Steven W 10/16/05 09:02:46 AM EDT

I had to revive my blog just to reply to this article.

http://www.ripplingcreek.com/2005/10/c-pregame.html

kLAx 10/14/05 01:13:46 PM EDT

C# is better

:)

Master of None 09/26/05 11:05:15 AM EDT

Both Java and dotNet are hopelessly over-rationalized and bloated frameworks for 90% of web applications. The build and deploy paths for both are precariously fragile.

PHP simplifies radically. Gives you a flat API for what you need to get done, and deploy has a solid feel, like a file copy. uh...did I mention there's no build?

Kumar Srinivasan 09/19/05 04:21:03 PM EDT

This article dosn't talk about C# in any technical terms and the article author has just blabered about open source and JBoss. Dont get be wrong JBoss is a fantastic application server and so is Linux as an OS. Just because Java was first and did things the correct dosnt mean that Microsoft desperate but correct direction with .NET and C# is not winning. C# is defenitely rocking and despite the punishing version schedule it is fantastic.

Carlos S 09/13/05 08:32:58 AM EDT

Dear.
Instead you write a article talkink about a subject about a issue you do not understood. Becouse be a developer is diferent then build a plataform.Please first study about bussines then talk about a issue.

Calvin Austin 09/08/05 10:53:46 AM EDT

@Joe, careful I said C#, not VB.NET, not ASP.NET , not Visual Studio, not Visual C++. My Bio is very clear btw.

In all of the .NET deployments in the enterprise, C# is used by a minority. I guess you won't see that stat at the PDC this year?

C# didn't kill Java, despite predictions. If you want to invest in your career with C# then sure, but don't say I didn't warn you about lackluster support, weak adoption and constant churn.

Joe Taylor 09/08/05 10:33:08 AM EDT

The Java community is in peril of losing market share to the reality of .NET, that much is sure.

But is it best served by this rant parading as a technical article?

The author, whose job it is to assess technology should be fired, or at least heavily ridiculed into abdicating his responsibilities in this regard. In lieu of providing solid responses to the threat of .Net, he dismisses them, praising Java for what he earmarks as the .Net platform's foibles.

How very typical, and sad for a develoment community. Instead of solid counter argument it gets this article, which is little more than flame bait.

Me 09/07/05 11:56:43 PM EDT

C# 2.0:
- Generics
- Nullable Types
- Anonymous Methods
- Yield Statement
- Partial Classes
...C# is just getting started

Joe Taylor 09/01/05 03:44:11 PM EDT

ADO.NET
MS Enterprise Library
Indigo

MS Shop 09/01/05 01:48:08 PM EDT

Wow. Someone from Sun bashing Microsoft. Shocking. Your assessment on the success of C# to date is absurd.

Calvin Austin 09/01/05 01:19:56 PM EDT

@matt: You are confirming one of my original points. Despite investing millions into C# and over 5 years of development, its just another language used by a minority of .net developers.

MS does not want to upset the VB community, or even the C++ developers. They want VB users to take a leap to VB.NET but they won't strong arm them there just yet. C# will still be a proving ground for .net experiments and for the development teams its lack of adoption makes those type of changes easier.

btw Another point I made was proved right this week. The PDC turning down the mono BOF.

@peter yes I will give you growing from 7% share to 15% over 3 years is a huge growth of 200%.

Matt B 08/31/05 08:23:21 PM EDT

@Calvin

"Check out the Visual Studio 2005 home page even today.

Tell me how many times C# shows up on that page. yup 1 time. You are free to choose C# but Microsoft are not pushing it."

Actually it shows up 0 times, just as many times as "C++", "VB", and "Visual Basic". Visual Studio isn't about a single language, it's about language independence.

"Ok what about this page [visit link]

Not much C# there either, plenty of references to C++ though."

I counted two references to "C++", one in "ead news about Visual Studio, Visual C++, Security, and all sorts of random stuff from my blog." and one that's a link to Visual C++.

You've really put the nail in this debate now Calvin! Do you know when to drop a losing argument?

.NET is about language independence. That's why you find so few references to ANY language on those Microsoft pages, yet plenty of references to .NET technologies such as ASP.NET.

Calvin's Evil Twin 08/31/05 08:04:33 PM EDT

Angsuman Chakraborty is an idiot. Accept it and move on...

Peter Jones 08/31/05 07:21:11 PM EDT

I don't know where you get your facts becuase there are none presented in this article. I can only assume it's pure opinion. My opinion is the opposite - C# & .Net is being taken up at a great rate to the detrement of Java and other languages and platformns. In a growing economy with huge skills shortage, employers should/will allways choose an environment with the greatest resources. Java does not provide this - at least where I live.

Angsuman Chakraborty 08/23/05 10:40:44 PM EDT

Will the MS FUD makers please stop commenting?
In fact I am getting tired of the FUD in the comments which makes no sense. C# is history. Accept it and move on. Even VB has better future.

Calvin Austin 08/23/05 02:44:45 PM EDT

@GB I know its hard to believe that C# is only at 15% in the enterprise. don't blame me though.

Check out the Visual Studio 2005 home page even today. http://lab.msdn.microsoft.com/vs2005/

Tell me how many times C# shows up on that page. yup 1 time. You are free to choose C# but Microsoft are not pushing it.

Ok what about this page
http://msdn.microsoft.com/vstudio/

Not much C# there either, plenty of references to C++ though.

GB 08/23/05 12:44:04 PM EDT

JDJ reputation just went down by allowing this crap to be published. How can a serious journalist can write an article like that. It's full of lies. If you want to bash Microsoft, at least use arguments that are defendable, not lies.

David 08/23/05 11:32:14 AM EDT

Very good article. I can see clearly the future: Java.

ASP.Net Guy 08/23/05 08:51:55 AM EDT

This guy is sounds like someone who knows that Microsoft is kicking his ass.

Rob Karatzas 08/22/05 09:21:40 PM EDT

I code 50/50 with both Languages (Java & C#).

I think you missed tons of things in regards to .NET. I like them both, but the Java JVM is not the .NET CLR, nor CLI.

C# + CLI are a spec that is truly open and not proprietary (like Java). The framework and CLI support numerous languages, some of which are considerably better than Java for doing what that language was designed to do. Java is not a 'fit' for every kind of computer language destined for some special purpose (and is too constrainted).

respectfully, rob

Calvin Austin 08/22/05 08:06:49 PM EDT

@alex. Thanks for reading. This was originally going to be my last article for the JDJ hence the reflection on what happened to C#. I've managed to put together one more article.

When C# started, the talk of the day was that it would be the end of Java. I was even told as much when I started 5.0 by a Microsoft employee.

The reality is that C# has a none to shabby 15% of the enterprise market. Most companies would be happy with that. However it wasn't the Java killer as predicted.

Alex Leon 08/22/05 07:12:09 PM EDT

Normally, I like your articles, but this one was just way out there for me. I have been a Java developer since the first JDK, and I have also been using C# since it's inception.

If you are going to point fingers at Microsoft for releasing three major versions of .NET in five years, then you need to take equal blame for Sun releasing three major upgrades to the JDK in it's first three years of existence, with just as many core functional and API changes.

It's also unfair to compare two frameworks with entirely different goals. Java is built in the principal of OS independence. .NET, and more specifically, the CLR is built on the principal of language independence.

The failure of C# to catch on as a language and standard is that Microsoft has never forced their huge VB and C++ developer communities to switch over. If they had done that, there probably would have been a larger adoption of it.

Matt B 08/22/05 05:00:01 PM EDT

It amazes me that you pick the smallest problem that people had with your article to attempt a comeback.

No defense about the laughable error you made with the claim about "premium" compilers, or the fact that you dig at Microsoft for releasing three versions of .NET in three (four? five?) years, while ignoring the many releases of Java over the same time?

And who brought ECMA into the debate? Your original quote certainly didn't:

"The .NET platform has been under constant development, often too fast for many corporate users to adopt. There has been a 1.0, 1.1, and 2.0, each which could be counted as a significant version in their own right. Following the churn of the .NET SDK, the Visual Studio product has required its own aggressive update schedule"

"Has been" is past tense. There has not yet been a final 2.0 release of "The .NET platform", which you claim there has been.

There has yet to be a .NET 2.0 final release of Visual Studio, which you claim there has been.

Here's a really interesting aspect you are ignoring: How many releases has Java had within the same timeframe, or especially the same time frame as we are looking at with .NET - the first several years of it's release to the world?

I think the original question remains why someone who is incredibly and demonstrably unfamiliar with C# and .NET is writing smear opinion pieces about it?