What's Wrong with C#

Started by
106 comments, last by Mayrel 20 years ago
Unclear syntax? Are you kidding? I have found C# to be one of the most easy to read languages out there. The only minor annoyance Ive found so far is the similarity (and unseen differences) between using value and reference types.
I find delegates to be a very nice addition, though.

Poor documentation? Have you ever read the .NET docs? They are some of the best, equal to or almost equal to the java docs.

As far as the API, there have been a number of instances when I would want to try something new in C# and the task I wanted was very clearly named and placed in .NET. It was easy to find. That happens less often in Java. It seems to me that Java has the API that may have been written by children.

I work with both C# and Java on a daily basis. I''ve written games in both. I can personally say that, at the end of a project, I am much less annoyed when I''ve been using C#.

So this thing goes both ways, yes?

(NOTE) This in no way is meant to bash C++, me love da C++ also
Advertisement
Didn''t they say it? Once compiled .NET program will as optimized as the JIT is and once a C++ program has been compiled it will stay that way forever :-P so doesn''t it mean that the same program in C# might run in several months much faster on a newer processor?
quote:Original post by Anonymous Poster
Didn''t they say it? Once compiled .NET program will as optimized as the JIT is and once a C++ program has been compiled it will stay that way forever :-P so doesn''t it mean that the same program in C# might run in several months much faster on a newer processor?

That''s the theory, yes.
--AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.[Project site] [IRC channel] [Blog]
See, now isn't that nice?

[edited by - boebi on April 24, 2004 9:51:12 PM]
quote:Original post by Arild Fines
quote:Original post by Anonymous Poster
Didn''t they say it? Once compiled .NET program will as optimized as the JIT is and once a C++ program has been compiled it will stay that way forever :-P so doesn''t it mean that the same program in C# might run in several months much faster on a newer processor?

That''s the theory, yes.


Theory, yes, but in reality the best you''re going to get is instruction ordering optimization, and MAYBE is rare situations you''ll get some additional processor features like SSE.

Most optimization is going to be done at compile time, whether you compile into byte code or instructions, and is probably processor independant.

As an example,

Gentoo is a linux distribution that compiles everything you install. The theory is that it''ll result in faster binaries because they are optimized for your specific system, but benchmarks reveal that the benefit is barely anything in that majority of cases. (Some of the benefits were so small that the programs would have to be used continuously for weeks to make up for the time spent compiling)

That evidence doesn''t bode well for people who claim JITed code can be optimized better.
What I see as the true benefit of the CIL is that it will enable to migration away from x86's. :-)

[edited by - cilcoder on April 24, 2004 10:26:44 PM]
quote:Original post by cilcoder
What I see as the true benefit of the CIL is that it will enable to migration away from x86''s. :-)

<SPAN CLASS=editedby>[edited by - cilcoder on April 24, 2004 10:26:44 PM]</SPAN>


This is a strong point. JIT compiling from a standard operation base removes dependence on specific machine architectures. Of course you adopt a specific underlying operation base instead. Seems like a reasonable tradeoff to me.

But I still cant get over the fact that you still have the larger problem of being limitted to a specific OS feature set for your program. This of course has been the problem all along in the field of portability. Implimenting a compiler on multiple platforms doesnt negate specific OS issues and neither will abstracting the compiler output.

Its a step in the right direction for sure..
quote:Original post by Arild Fines
quote:Original post by Dobbs
http://www.geocities.com/csharpfaq/box.html
http://www.geocities.com/csharpfaq/structs.html

You sure know how to pick your sources. Sheesh.


My, what a fine ad hominem you have there Arild! I''ve seen the same ideas on those pages expressed elsewhere in the past, on what you would probably consider more reputable sites. That was just the first one I found with a quick Google.
quote:Original post by Dobbs
quote:Original post by Arild Fines
quote:Original post by Dobbs
http://www.geocities.com/csharpfaq/box.html
http://www.geocities.com/csharpfaq/structs.html

You sure know how to pick your sources. Sheesh.


My, what a fine ad hominem you have there Arild!

Considering that those pages, and the person behind them, has virtually no credibility whatsoever, it was warranted.

Linking to those pages to support your position is like linking to a KalvinB post in a religious thread.
--AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.[Project site] [IRC channel] [Blog]
quote:Original post by Dobbs
quote:Original post by Arild Fines
quote:Original post by Dobbs
http://www.geocities.com/csharpfaq/box.html
http://www.geocities.com/csharpfaq/structs.html

You sure know how to pick your sources. Sheesh.


My, what a fine ad hominem you have there Arild! I''ve seen the same ideas on those pages expressed elsewhere in the past, on what you would probably consider more reputable sites. That was just the first one I found with a quick Google.


Challenging sources isn''t an ad hominem attack.

----------------------------------------
"Before criticizing someone, walk a mile in their shoes.
Then, when you do criticize them, you will be a mile away and have their shoes." -- Deep Thoughts
"If you have any trouble sounding condescending, find a Unix user to show you how it''s done." - Scott Adams
FaceHat Software -- Wear the hat.

This topic is closed to new replies.

Advertisement