[java] Java or .net? The answer is obvious!

Started by
14 comments, last by Oluseyi 18 years, 9 months ago
An article

It's more into the features of Java, but it mentions where .NET is within those features. It's worth a read.

Yea, it just really depends on the project. Currently at this time, Java will reach more people than .NET. It's mature, and .NET will too later. But this article is a few years old, but I still find most of it true even today. Is .NET failing to expand? Read for yourself, and don't forget to click on the links for more descriptions. It is definitely an eye-opener, anyway :)

Last thing I'll mention: what benefits your project? How much people will be able to access it? Are you going to limit who views it? Do you want to go beyond Windows to get more sales? Do you want the lowest support language for your mobile projects? Let your documentation decide for itself in what it needs. Don't have it? We'll see you here.

[Edited by - dxFoo on July 29, 2005 9:26:46 PM]
Advertisement
Well, I looked at that link a little bit...

All I can say is, it comes off sounding *extremely* biased.

And here's a logical flaw that I thought was amusing:

Quote:
Java is built primarily on portable pure Java libraries. Pure Java libraries have safer and more robust behavior than comparable native libraries.

.NET on the otherhand is built on top of mostly native libraries. The libraries usually are composed of DLLs? and COM components that comprise the Windows OS. The big problem is that the behaviour of these libraries are not as "managed" as one would like.


If Java wasn't based on a Native library, or rather... if it weren't libraries compiled for specific platforms, it could only run on a processor that supported Java. And that defeats the purpose of portability, right? My Athlon sure doesn't support executing EITHER .Net bytecode nor Java bytecode.

Maybe they mean that the high-level libraries for .Net are written in managed C++, and everything except for the native-support layer in Java is written in Java? Even so, would you rather have A) A proven, stable library that takes longer to JIT compile, but is unprovably "safer", or B) A proven, stable library that is already shipped to each platform as native code and is equally proveably "safe" (but no one bothered to stop bashing each other to realize this) ???

The Big Problem is that you have more work cut out for you when you try to port the Managed C++ libraries to another platform. The author completely missed that point.

Note: I'm not even sure that the .Net libraries ARE native code. I'll go look at the .dll files and see if they're MSIL or x86.

Quote:
Here's a good piece on the weaknesses of ASP.NET as compared to Java frameworks. The most conspicuous .NET shortcomings, as explained, are as follows:

Page flow is hardcoded.
No form action can be specified.


The writer of that page never messed around with ASP.NET for more than five minutes. If he did, he would have seen what the Code Behind is supposed to be used for.


I don't think I'm going to analyze any more. I especially don't want to start a flame war. The Ultimate Bottom Line Is That You Must Use It Yourself(tm) - because all these "articles" you read can be biased, or simply lacking complete information for making good decisions.

[Edited by - Nypyren on July 29, 2005 11:46:16 PM]
I use Java because...

1. I don't have to spend money on OS or any tool to have a decent development environment; I can focus on content, I can pay my developers a better salary; I can invest in quality instead of tools;
2. It's pure OOP that grants me true control of the code I write; And it's easier to write perfect OO code than in any OO language I learned;
3. It has a vast community of great and friendly developers who ran across all possible problems I might find while developing; And they will help me if I need them, for free;
4. There are TONS of open source solutions for almost every situation, and I'll hardly meet a situation where I'll have to reinvent the wheel, re-write a solution.

Yet, I believe that those who choose .NET must have their reasons. Everybody here knows that Java has many issues yet to be resolved.

But I'm sure I'll never regret my choice ;)

Son Of Cain
a.k.a javabeats at yahoo.ca
It looks like mscorlib.dll and System.dll on my computer is mostly MSIL... I found four references to Kernel32.dll in mscorlib.dll and two references in System.dll, so they appear to be doing some [DllImport] that won't be automatically portable to other operating systems...

But the bytecode itself is more-or-less platform independant, which, in my reverse engineering experience, is 99.9% of the hard part.
Quote:Original post by Son of Cain
I use Java because...

1. I don't have to spend money on OS or any tool to have a decent development environment; I can focus on content, I can pay my developers a better salary; I can invest in quality instead of tools;
2. It's pure OOP that grants me true control of the code I write; And it's easier to write perfect OO code than in any OO language I learned;
3. It has a vast community of great and friendly developers who ran across all possible problems I might find while developing; And they will help me if I need them, for free;
4. There are TONS of open source solutions for almost every situation, and I'll hardly meet a situation where I'll have to reinvent the wheel, re-write a solution.

Yet, I believe that those who choose .NET must have their reasons. Everybody here knows that Java has many issues yet to be resolved.

But I'm sure I'll never regret my choice ;)

Son Of Cain


In my experience using Visual Studio .Net 2003, everything you said above about Java development is also true for Visual Studio and C# well except for Item #1 (for Visual Studio, anyway). So I guess a lot of times, it comes down to money.
Uh, no.

This topic is closed to new replies.

Advertisement