[.net] C# Vs Java (Please no flaming)

Started by
103 comments, last by Washu 19 years, 5 months ago
Quote:Original post by nuvem
And that's personally why I think .Net will eventually, really catch on. There are a ridiculous number of languages in development for .Net right now, so it's only a matter of time before someone develops the next "killer" language.

It's amazing how easy it is to put your own .Net language together.
Definitely. (My final project last semester in my advanced programming theory class was porting BF to use the runtime. Fun stuff. ;) ) In fact, if you're already comfortable with x86 assembler and another HLPL, learning IL should be a snap. Most of the constructs you'd expect are already there, and it's an interesting change of pace from raw, straight-up x86.

Of course, this is not to say that every language will translate efficiently into .NET. In theory, since every programming language I know about is Turing-complete, it should be possible to convert them all into one runtime. The difficulty here, of course, is the fact that thousands upon thousands of different language features must be implemented one by one when you're making a new language. But previous successful efforts like PerlNET and Eiffel.NET have convinced me that the challenge is hardly insurmountable.
- k2"Choose a job you love, and you'll never have to work a day in your life." — Confucius"Logic will get you from A to B. Imagination will get you everywhere." — Albert Einstein"Money is the most egalitarian force in society. It confers power on whoever holds it." — Roger Starr{General Programming Forum FAQ} | {Blog/Journal} | {[email=kkaitan at gmail dot com]e-mail me[/email]} | {excellent webhosting}
Advertisement
Quote:Original post by Pxtl
Okay, I'll say it: C++ templates are better than sex.


That's the first time I ever heard someone compare a programming language to sex. Anyway, I chose C# over Java last week, and I'm glad to say I did. I don't really see a point in comparing though. It just depends what you need to accomplish:

* Does it need to be on an applet on the web?
* Does it need to process quickly? Does it need to be close to low level?
* Does it need to be fully OO because of its complexity?
* Which company (MS / Sun) will keep the runtime files the longest? Which company will stay alive after 10+ years? Will your users be able to download the correct files after one of them go out of business? Is it really professional to go for the smaller company with a web-focused language? To me, it'd be like saying "download this old companies runtime software so you can run our new professional game!" Is it worth the time to learn it for you and your team?

After that, you'll get your answer on what you need for your project. There's no use comparing if you don't have a project lined up. You don't know what you need.
Java isn't used just for applets, I'm using it for high speed applications. So the question is if this thread was about C# and Java, or just about C# and a small subset of Java.

You forgot to mention C# alows piggy messing of a native code and a NET VM compiled code. It would be funny to know what it could do if someone would do an another smart attempt on a copy protection. I remmember from my experience that it alows a very nasty maintenatce problems. Not to mention a very nasty "feature" to abuse.

Other difference is difference in executable files. Exe loader for C#, jar file format for Java (You could use exe loader as well, but it would force you to create files for each supported platform.). Java way is simplier for future, it would alow to get rid of x86 platform more easily. (big dream of the majority of game developers). For users, C# looks more like old files. That is for users that don't use link from the desktop, JNLP, or a batch files for precise control of JVM.



Quote:Which company (MS / Sun) will keep the runtime files the longest? Which company will stay alive after 10+ years? Will your users be able to download the correct files after one of them go out of business?

Size and richness of the company isn't any guarantee of longetivity. Do you remmember the Oracle and the Locus?
I'm burning a JVM on the gold CD, it's just a small portion of burned data, so it would persist for pretty long and be ready when needed. Abilities of OS and CPU are big unknown for majority, so worry about this for more than 3 years into future is stupidity.

Raghar

And because this thread is allready derailed, I'd derail it further.


I looked at XNA. When I seen Mickerosoft page then I imagined a slower programs and ugly compatibility problems. Probably good estimate what would be XNA. Something like problems with DVD burners and no name DVD-ROMs
It might be of some value if you'd like to program for windoze and Xbox at the same time, but rest of the platfors might be slower by a factor of 3.

Quote:It's amazing how easy it is to put your own .Net language together. Reflection.Emit provides everything you need to output code to an exe, and you get a whole set of standard libraries with no work involved.

It remminds me how few years ago everyone was happy that all resources are for Java, not for 5 different languages, and everything works without compatibility problems. So there was a very interesting undemand for additional languages on JVM. Funny. Would you like another C, pre ANSI C, PAC, BASIC, and few other languages resource hell?

Raghar
Seems like the topic has been finalized, and I can see someone who is trying to start a flame war.

In time the project grows, the ignorance of its devs it shows, with many a convoluted function, it plunges into deep compunction, the price of failure is high, Washu's mirth is nigh.

This topic is closed to new replies.

Advertisement