Valhalla Legends Forums Archive | General Programming | Opinions on C#

AuthorMessageTime
Tuberload
I was just wondering if any one has any worthwhile opinions on C#? Is it a language worth learning? From research I've done on it, it looks to be a good language. I personally like Java, but I am also a fan of the .Net platform. C# is Microsoft's equivalent of Java, correct?
May 12, 2003, 8:18 PM
St0rm.iD
I think it sucks.

Why?

1) No good free IDEs, cept Emacs.
2) .NET API is too big and hard to use
3) Javadoc > XML stupid crap
4) It's a cheap Java copy; why use a new language when you can use almost the same thing but with more support, tools, maturity, libraries, etc?
May 12, 2003, 8:58 PM
Tuberload
I personally do not like Java's Swing UI libraries. One other question for you Storm; is there any IDE’s for Java that allow for drag and drop development of the UI? I get so tired of writing the UI myself
May 12, 2003, 9:08 PM
St0rm.iD
JBuilder has one for Swing. Swing does suck btw, except on Mac.

Tuberload, if you like, we could design our own Java GUI designer...perhaps using SWT (www.eclipse.org) or wx4j (http://wx4j.sf.net).
May 12, 2003, 9:13 PM
K
I think you're wrong. ::)
Have you seen SharpDevelop? http://www.icsharpcode.net/OpenSource/SD/ not to mention that the command line compiler is free.
The .NET API is very easy to use; I spent a little time trying to think of something to demonstrate this fact, but I couldn't. It's all just common sense. Not to mention that the entire .NET platform is extremely well documented. I suppose the java API is perfect if you like to box and unbox primitive types whenever you want to use them in a collection.
Microsoft is no slouch at pushing their technology; they know that pushing something underprepared and overhyped out the door isn't going to get them anywhere (they've done it before; look at J++). To call the .NET platform immature is just laughable.
May 12, 2003, 9:13 PM
St0rm.iD
Why? Because it's been out for a few months and Java has been since 95?
May 12, 2003, 9:16 PM
K
well then COBOL .NET is a sure win!
May 12, 2003, 9:20 PM
Tuberload
Storm: I have not used any UI libraries besides AWT and Swing; give me some time to familiarize myself with one of the two you mentioned and yes that does sound like it could be a fun project.
May 12, 2003, 9:22 PM
St0rm.iD
[quote author=K link=board=5;threadid=1311;start=0#msg9788 date=1052774453]
well then COBOL .NET is a sure win!
[/quote]

But C# looks exactly like Java and COBOL is completely different, but that's OK.
May 12, 2003, 9:24 PM
K
Thats one of the major goals of the .NET platform. It doesn't matter what language you're writing in. I can write a library in COBOL.NET that can be referenced from C# or VB.NET or PASCAL.NET or any other .NET language without changing types or porting code. C# "Looks just like java" because they both derive their syntax from c++. We can continue this later if you wish, I'm going out.
May 12, 2003, 9:37 PM
St0rm.iD
Sucks for the matenence programmers.
May 14, 2003, 7:44 PM
Yoni
C# is not a language. C# is a "syntax" or "flavor" for a language I call .NET.

There is really no difference, other than syntax, between the languages that feature the ".NET" suffix.

Btw, here are some numbers with measurement units written to the right of them:
msvcr70.dll = about 340kb
msvbvm60.dll = about 1.3mb
.NET framework = about 30mb
May 14, 2003, 10:20 PM
banditxx99
Sure c# and vb.net, etc compile down to the same common intermediate language.. but that doesn't mean c# is not a language itself. And there are more differences besides syntax. As a quick example.. VB.NET is still weakly typed, as was vb6. C# is strongly typed. You won't find such things as "Variant" in c#.

As for the size, yes, that's a huge hurdle at the moment. But people will care less about the size of the framework as it starts being shipped with new windows installs. However, MS initial push for .net was for web apps, as the framework doesn't need to be on the client machine in that case.
May 27, 2003, 3:15 PM
Yoni
[quote author=banditxx99 link=board=5;threadid=1311;start=0#msg10875 date=1054048537]
You won't find such things as "Variant" in c#.[/quote]

*cough* Last time I checked, VB.NET was strongly typed, and there was no Variant in it.

Edit: Last time I checked was approximately a year ago, so I checked again now.
I was right: VB.NET doesn't have Variant. It does, however, have Object, which is the default type if no type specifier is, well, specified.
Your point still doesn't apply, though: Object exists in all .NET "languages", including C#.

Edit 2:
[quote]But people will care less about the size of the framework as it starts being shipped with new windows installs.[/quote]Not everybody's rushing to buy the new Windows installs. Some WinNT 4.0 Server users are just now upgrading to Win2k. (Somewhat thankfully,) Win2k does not ship with .NET.
May 27, 2003, 6:10 PM
banditxx99
Well you are right... I assumed wrong about vb.net being weak typed. There are more similarities than I gave it credit.. but there are some differences like case-sensitivity (perhaps you regard that as syntax), missing operators in vb (ex. <<, >>), operator overloading (vb can't overload operators), plus c# has less than half the keywords of vb.net.

As for some NT servers who have yet to migrate.. .. yup. I work in a GM facility where I'd say 90% of our servers are still NT 4. We are just now setting up AD and preparing to migrate clients. Servers may still be a long ways off though.
May 27, 2003, 7:15 PM
Grok
Hi, may I suggest you do some reading on .NET, for it sounds like much of your bias comes from knowledge of Visual Basic.

VB.NET is an entirely new language that is coincidentally(or not) similar in grammatics and keywords to the old Visual Basic. The paradigms are different.
May 27, 2003, 10:04 PM
banditxx99
Hi.. if that was towards me, I'm very familiar with c#. Just not vb.net. So I took your suggestion and did a little reading. I like to learn!

So, for anyone that cares...

vb.net is both weak and strong typed. It's weak by default. You can make it strong by using the directive:

Option Strict On

I tried a bit of code in vb.net (prior to turning that option on)

[code]
Dim w
Dim x
Dim y
Dim z


x = 1.2
y = 3
z = x+y
w = "test"
z = w & y
[/code]

That compiles and runs fine.

in c#
[code]
Object w;
Object x;
Object y;
Object z;
x = 1.2;
y = 3;
w = "test";
z = x + y;
[/code]
this doesn't compile. it fails at z = x + y.
error: Operator '+' cannot be applied to operands of type 'object' and 'object'

turning the option strict on in the vb.net will give many errors on that vb.net sample code.. including Operator '+' cannot, blah blah.

Heh.. I know all this is OT from the original post, but I did learn something, so thanks.

edit: added code tags
May 28, 2003, 3:07 PM

Search