Recently I have been doing some research on C# and I found out that as if Microsoft copied from Sun's Java. The two languages are almost identical and I see no major advantage for C#. In fact, Java is more cross-platform.

My quesiton is, why was there a need for C#? To me, its seems that C# didn't present anything new.

Thanks

baldurk
—
2003-02-11T19:55:10Z —
#2

*cough*worlddomination*cough*

flamebait aside, I really don't know.

donBerto
—
2003-02-11T21:43:36Z —
#3

interesting point. if it's not obvious from the general thread of this forum, I'm a bit anti-m\\$

but with all things considered, I agree with you. I find nothing new with c# that java doesn't already do. maybe it's just so that m\\$ can have a product against sun's popular java. or maybe there's something more in the fine print that you and I have missed. anyway, I'd like to ask if anyone here thinks that anybody can write 10 pages about the difference in c# and java. I have to write a scientific argumentative research paper for my technical writing class [for my related field, which is CS] and if you guys think you can write 10 pages on the _SCIENCE_ aspect of it, then I would gladly write about the topic and share with you folks.

-thanks

Amithran
—
2003-02-12T00:20:45Z —
#4

Well, originaly microsoft was contracted with sun to use there java VM. However, microsoft desided to go and create there own java. (Which went against the contract, consiquently causing sun to sue MS.) The latest court decision I believe may now force microsoft to follow through and have the sun java vm included in windows release.

But basicly, C# is a JAVA clone.

davepermen
—
2003-02-12T08:37:41Z —
#5

c#, as language, is bether than java, imho. and it provides right from the start good performance, and very good bindings to .. everything else:D (com, interfaces, dx9, gl ports are there as well, etc..)

.NET as platform is World Domination, but its rather cool nontheless.

at least its microsoft behind it, and they want it. so it will get good support, and big and strong and powerful. unlike sun, who had major problems for a long time with java, making it very "low-loved" by pc's..

CyraX
—
2003-02-13T13:14:46Z —
#6

C# was implemented so that Visual Studio .NET would make sense **giggle**. A far as better interfaces are concerned... hmm lets see, dont we have anything called C++ and COM already? Well the real reason for C# to come out was that it could incorporate modules from EVERY language that exists for Windoze. That is the reason. In JAVA there is a problem with using C++ modules. They have to be implemented in a particular form. Dont you remmeber the story of the Big Blue doing the same? They would sell a computer(sorry Mainframe) to corporates and give the Fortran language along. Else you get none. Every OS has a fav. Language. it was C++ earlier. Now its become C# However there is nothing new in C#. \< Pun intended > Replace "JAVA" with C# Replace "SUN" with Microsoft \. However as a language and grammar fan, I do say that C# makes things pretty good. Think about the flexibility with arrays and pointers. The basic structure (grammar) of the two languages is the same. Differences are in the data types and the compilers.

squidfishes
—
2004-08-25T18:23:50Z —
#7

Also, now C# is no longer Microsoft-only. Mono is a cross-platform C# managed environment.

Everyone here knows my opinion on the mather, but there again i don't have more than 6 hours of experience with C# so i won't comment it. As for the integration of a Java VM in Windows...well... nowdays we have Java VMs embedded in all kinds of crazy stuff like Phones, Refrigerators and.... credit card chips )

davepermen
—
2004-08-25T18:46:23Z —
#9

the mono project is sorta mad.. a huge piece if you browse it. but they do great work. even working to support c# 2.0 yet.. wohoow. (much bether than 1.0)

anubis
—
2004-08-25T20:20:54Z —
#10

i'm waiting to see the winforms port working...

davepermen
—
2004-08-25T20:24:12Z —
#11

yay!

i'm looking for some task to serialize the window-forms-data into a class, and back.. DDX or something it was called in mfc.. not sure about existing support.. else, i just scan the class and the form for equal called members:D

anubis
—
2004-08-25T20:27:28Z —
#12

hey... i'm in the channel dave

davepermen
—
2004-08-25T20:39:05Z —
#13

nice. i'm not:D

NomadRock
—
2004-08-26T04:39:47Z —
#14

I dont like C#'s take on transparent network apps. I think the language did to a lot to get Java into gear and update the language though (1.5)

Mostly though they are basically the same and it will come down to the OpenGL DirectX thing. Microsoft just wanted a version they could mostly own.

Properties are very nice but Delphi has had these for years and imho they have a much better implementation. Delegates are very nice, but the implementation just seems overly complicated.

Microsoft has much more marketing power than Sun in the general consumer and developer range, so I think C# will quickly outpace Java at least on the Windows platform. I think it will eventually be much like OpenGL and DirectX are now.

anubis
—
2004-08-26T11:24:20Z —
#15

Delegates are very nice, but the implementation just seems overly complicated

delegate void Name(...);

what is overly complicated with that ???

so I think C# will quickly outpace Java at least on the Windows platform

Sun wasn't smart enough to ensure that Java becomes the next language for Gnome (allthough they are one of the tree big comapnies behind it), so Novell pushed C# and started Mono, so i think C# will outrun Java on linux, too.

davepermen
—
2004-08-26T12:18:08Z —
#16

yeah.. and now thanks to mono i can even use c# on systems that don't have .NET (means i have no admin rights to install it:D)

NomadRock
—
2004-08-26T13:01:08Z —
#17

Delegates are more complicated than their simplest constructor.

C# is also very bad at being thread friendly. Microsoft just tried to hard to make everything transparent. Some things work alright this way, but others just dont.

C# will gain ground, but remember that mono only develops the C# part of .NET and not anything else. Windows .NET applications will not be transferable straight to linux mono. Think windows forms for an example. Yes it will be possible to make apps that work on both, but you have to consider the majority of people that only care about Windows. If a pure Windows guy makes an Java applet or application that he only wrote for Windows, chances are it will still run in Linux. Plus layout managers are cool.

anubis
—
2004-08-26T13:04:24Z —
#18

why ? winforms will be fully supported in the next version... they will get problems with avalon though

davepermen
—
2004-08-26T20:42:05Z —
#19

haven't had any thread issues with c#.. actually, i think c# is great for threading.. i've only worked with c/c++ threads before, though..

NomadRock
—
2004-08-26T21:10:23Z —
#20

none of the GUI stuff is threadsafe. There are many many functions that are not threadsafe. Java makes some very good allowances for making operations threadsafe that c# does not. Delphi was the best in this respect though imho.