Question:
Java Runtime versus .Net Framework Runtime?
David N
2012-01-17 16:42:41 UTC
I am developing a fairly significant application to run on personal computers. I am trying to decide whether to develop using Java or Microsoft C#. The GUI in the app will require numerous windows. In my estimation, C# using the Visual Studio (drag and drop features) makes it much easier to create such applications. I am concerned about how widespread the .Net Framework is, i.e., is it common that it is installed on Joe Blow's computer? It would be a real negative if the .Net Framework had to be installed prior to initial use of the app. On the other hand, I suspect most people have the Java Runtime already installed on their computers. However, I think it is much harder to create windows apps, think GUI, in Java using Swing, etc. than using the Visual Studio. There may be other significant issues of which I am unaware. However, I would welcome some insightful comments on this subject.
Three answers:
thebig_a_27
2012-01-17 16:50:31 UTC
Your question is based on some false premises. its quite easy to make GUI java apps if you use good tools. eclipse + window builder (both free) make an excellent java GUI design toolkit. There are many other options as well.



As for the runtimes being preinstalled, you are probably right that the JRE is usually installed and the .net framework may or may not be. As more computers move to Win7 that is less of an issue for .net though. This probably wouldn't be a major concern for a significant project anyway, it is easy to package both Java and .net apps with a native wrapper that automatically installs the needed runtime, just part of the installer. for java you can even just bundle your own JRE with the app and not worry about it.



the biggest concern I would have is whether you will want to support Mac and Linux clients. If so, Java is probably a no brainer. OTHO if limiting to Windows is OK, either one will probably be fine but I don't see a significant advantage either way until you get more specific about what your app does, then there may be some things that matter that are relevant in your particular case.
Ratchetr
2012-01-17 17:19:51 UTC
It really depends on who Joe Blow is. Who is your target audience?



Are you targeting only Windows users? Or are you going after Linux and handhelds? If Windows Only isn't OK, I would rule out C# right away (you don't want Joe Blow to have to navigate the WINE/MONO landscape).



For Windows only...what kind of consumer? Home or commercial? How many will still be running XP? Commercial users tend to be further behind than home users, and aren't always even allowed to install stuff like the .NET framework.



For home users, I would guess that more of them have at least .NET 2.0 installed than Java, although I couldn't find any hard numbers to back that up. Best I could find is the link below, but that is browser compatibility, not desktop. I'm surprised there aren't better numbers on this (or maybe I just missed them).



You might have to restrict yourself to .NET 2.0 to get the fewest complaints. But the same is true of Java. You certainly can't use 1.7.



C# is without a doubt hands down better for writing Windows forms based desktop apps. The language and the IDE are much more powerful for that sort of task. If you limit yourself to .NET 2.0, and your typical Joe Blow isn't a full 10 years behind the times, you will probably hit 90+% on the...it just works scale. But that's just a guess.
anonymous
2016-11-18 12:06:03 UTC
incorrect. if compiled code had each and every of the advantages, all our information superhighway classes would desire to nonetheless be in c or perhaps assembly. in case you spend hours installation runtime environments, do no longer blame the utility. an extremely useful administrator can deploy a gadget on one server and then permit that server deploy on all nodes on the community in one day. and in case you tell say that runtime environments produce sluggish code, then you definately're incorrect. an extremely useful programmer can produce code in say java or .internet that runs in user-friendly terms somewhat slower than a compiled C or c++ application. there are assorted benchmarks on line to coach that. do a seek. the internet runs on non-compiled code.it is not important in the journey that your code runs quicker than mine while the person could nonetheless be on a dial up line or viewing it on a cellular telephone show and connection. as properly, if all you needed to place on line ought to be placed in an html website, utilising JRE or .internet replaced into an extremely undesirable determination. kick your project supervisor.


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...