Java vs MS .net, which one is better ?

M

Mr Alphaque

Hi
I am planning to open a software company to develop client-server
apps and web applications for my client. Now, i am in a difficult
situation to determine what is the best platform i should use to
develop the application for the end users. Should I use Java or MS.Net
technology...

Basically, I have these criteria in our mind before I decide which
platform I should adopt :
1. Ease of use - which one is easy to learn, java or MS .net ?
2. Speed - which one execute faster Java or .net under a server or a
PC?
3. Integration issues, - Can a .JSP web pagejava object call other MS
COM object, DLL that are written using Visual C++ or VB and vice-versa
(means a MS ASP page can call to a Java objects ?)
4. Portability - Can java run in different platform like Unix , MS
Windows and etc ? I heard MS.Net can do that
5. Programmer's productivity - Compare to MS .net visual studio, can
someone develop Java apps easily ? Is there a user development
environment available for Java developer ?
6 Debug-ability - how easy to debug a java apps problem compare to MS
..Net apps ?

I would appreciate anyone can give me some idea here..thx in advance

Regards..
 
I

Ingo Pakleppa - ingo at kkeane dot com

Hi
I am planning to open a software company to develop client-server
apps and web applications for my client. Now, i am in a difficult
situation to determine what is the best platform i should use to develop
the application for the end users. Should I use Java or MS.Net
technology...

Basically, I have these criteria in our mind before I decide which
platform I should adopt :
1. Ease of use - which one is easy to learn, java or MS .net ?

You are comparing apples and oranges. Java is a language, .net is a
framework. You could ask which one is easier, Java and C#, or Java and
VB.net. Or, conversely, you could compare EJBs with corresponding parts of
..net. And so on.

Overall, my guess is that they aren't really all that different in terms
of the learning curve. I know that Java is fairly easy to learn. The
biggest decision for you is whether you need flexibility. MS.net only runs
on a few systems. Java runs on pretty much any system under the sun.
2. Speed - which one execute faster Java or .net under a server or a PC?

Both execute nearly at native speed. Depends on your application, of
course.
3. Integration issues, - Can a .JSP web pagejava object call other MS
COM object, DLL that are written using Visual C++ or VB and vice-versa
(means a MS ASP page can call to a Java objects ?)

Yes, I have done it both ways. You will need third-party libraries for
that (I used J-Integra). Also, you will need to use DCOM; plain COM won't
work here.
4. Portability - Can java run in different platform like Unix , MS
Windows and etc ? I heard MS.Net can do that

Java can. MS.Net cannot. There are ports to other platforms, but Microsoft
has a history of dropping support for those. So expect MS.Net to disappear
for anything but Windows in the foreseeable future.
5. Programmer's productivity - Compare to MS .net visual studio, can
someone develop Java apps easily ? Is there a user development
environment available for Java developer ?

There are probably more development environments for Java than for MS.Net.
I think productivity is probably similar.
6 Debug-ability - how easy to debug a java apps problem compare to MS
.Net apps ?

Probably quite similar. The main problem with debugging is that,
especially in Web applications, quite a few problems are load-related and
therefore difficult to track down. In that case, only logging will help
you, not traditional debug tools.
 
M

Mark Preston

I am planning to open a software company to develop client-server
apps and web applications for my client. Now, i am in a difficult
situation to determine what is the best platform i should use to
develop the application for the end users. Should I use Java or MS.Net
technology...
Different issues - .NET is indeed a platform, but Java is a _language_
and not a platform. A Java platform, for instance, would be J2EE
rather than Java itself.
1. Ease of use - which one is easy to learn, java or MS .net ?
Depends what you already know. From scratch, personally I would say
Java is easier to learn.
2. Speed - which one execute faster Java or .net under a server or a
PC?
No real difference.

3. Integration issues, - Can a .JSP web pagejava object call other MS
COM object, DLL that are written using Visual C++ or VB and vice-versa
(means a MS ASP page can call to a Java objects ?)
Integration with Windows - .NET is integrated, Java is not. However,
Java does provide integration tools such as JINI.
4. Portability - Can java run in different platform like Unix , MS
Windows and etc ? I heard MS.Net can do that
Opposite side of the coin to integration - Java is portable, .NET is
not. In this case though, .NET does _not_ have the tools to make is
portable either.
5. Programmer's productivity - Compare to MS .net visual studio, can
someone develop Java apps easily ? Is there a user development
environment available for Java developer ?
Dear god, yes. Java is far better equipped with a huge range of
developer tools rather than the not-quite-ready-really state of .NET.
6 Debug-ability - how easy to debug a java apps problem compare to MS
.Net apps ?
Again, a bit apples and oranges. IMHO, Java is far easier to debug -
but others may well differ.
 
I

Ingo Pakleppa - ingo at kkeane dot com

<snip>

I think you've got it backwards. Java is platform-agnostic, .NET is
limited to M$ platforms. I don't expect to see .NET for Linux or HP-UX
or MVS any time soon ... ;-)

That actually exists - Microsoft actually encouraged these open source
projects. The catch is, who knows how long M$ will continue to do that?
Quite possibly, they'll pull the plug as soon as .Net has caught on.
 
G

Grant Wagner

Mark said:
Dear god, yes. Java is far better equipped with a huge range of
developer tools rather than the not-quite-ready-really state of .NET.

Java may have a huge range of developer tools, but .NET is hardly
"not-quite-ready-really" with VS.NET. The Visual Studio .NET environment is
a robust and productive development environment.

<url: http://www.activewin.com/reviews/software/devl/vsnet2003/index.shtml
/> provides a good overview of the latest enhancements to VS.NET 2003.
Again, a bit apples and oranges. IMHO, Java is far easier to debug -
but others may well differ.

Again, Visual Studio .NET provides a built-in debugger that makes the
process of debugging entirely painless.
 
A

Anonymous

Please bear in mind the comments so far have been more or less from Java
supporters. I would consider myself neutral.
I've done seven years of Java and two of C#.
Different issues - .NET is indeed a platform, but Java is a _language_
and not a platform. A Java platform, for instance, would be J2EE
rather than Java itself.
Depends what you already know. From scratch, personally I would say
Java is easier to learn.

Of course if you want to program for .NET just learn Visual Basic .Net, Java
(sorry J#), or C#..... which would you like to learn?
I would say the Microsoft platform is easier, especially with the GUI
wizards built into SharpDevelop (GPL) or Microsoft Visual Studio....
No real difference.
True.

Integration with Windows - .NET is integrated, Java is not. However,
Java does provide integration tools such as JINI.

..Net has a huge range of features to port Java to it, vice versa is much
more difficult.
Opposite side of the coin to integration - Java is portable, .NET is
not. In this case though, .NET does _not_ have the tools to make is
portable either.

Hmmmm this is a falsehood. .Net is portable, just look at the DotGNU and
go-mono websites for cross platform .NET.
SharpDevelop is a free IDE to build C# (and VB .NET) with.
Dear god, yes. Java is far better equipped with a huge range of
developer tools rather than the not-quite-ready-really state of .NET.
Proof .NET is not ready? .NET had XML parsing *built in* before Sun got 1.4
out of the door.
Java has a larger range of IDEs yes, but no standardized one (Eclipse,
Intellij seem to be the best).
Try and get a free Sun J2ME JRE for Pocket PC... nope impossible. .NET is
already available for this platform and has been the last 2 years.
Again, a bit apples and oranges. IMHO, Java is far easier to debug -
but others may well differ.

Bear in mind this is a personal opinion. I find debugging much easier in
Visual Studio with C#.

One drawback .NET does have is it still uses old school coordinate based
GUIs in Visual Studio, not dynamic layout managers like Java, but this can
be solved by getting (free) third party layout managers.


B Brown. Cumbria, Lancaster Uni Computer Science graduate (just thought I'd
mention I'm in the same region ;)
 
T

Tim Tyler

: On Mon, 28 Jul 2003 09:27:28 -0400, Sudsy wrote:

:> I think you've got it backwards. Java is platform-agnostic, .NET is
:> limited to M$ platforms. I don't expect to see .NET for Linux or HP-UX
:> or MVS any time soon ... ;-)

: That actually exists - Microsoft actually encouraged these open source
: projects. The catch is, who knows how long M$ will continue to do that?
: Quite possibly, they'll pull the plug as soon as .Net has caught on.

There's the "Shared Source CLI" - on BSD and OSX.
....and there's MONO - which runs on several flavours of Linux.

None of these are very close to being ".NET", though - and nor do
they run on HP-UX or MVS.
 
M

Mark Preston

Java may have a huge range of developer tools, but .NET is hardly
"not-quite-ready-really" with VS.NET. The Visual Studio .NET environment is
a robust and productive development environment.
I freely admit to having not tried it - all I am going off is the
reviews in my monthly journal and the fact that the goalposts keep
moving. Of course, that may well be more to do with extending already
good features or with the problem that other (ie. Non-Microsoft)
companies are having the temerity to make .NET available for other
platforms - such as Borland, for example.
Again, Visual Studio .NET provides a built-in debugger that makes the
process of debugging entirely painless.
A platform is inherently a different issue that a language and the
language is always easier to debug than a wide-scope platform. I
seriously doubt that .NET has changed that.
 
T

Tukla Ratte

Hi all,
thanks for all the advices and sharings here, that really helps me a
lot..I welcome any more ideas to flow in.
I secured some money to hire some developers to run the software
development business,

A few more developers will be able to buy food soon. That's good to
hear these days.
i just don't know what is the right camp i
should join so i can hire a right expertise here, java or .Net ?

Why don't you tell us what your business goals are? Server
development? User interfaces? Small or large businesses?
Cross-platform or Windows-centric? I dunno, stuff like that.
That
is the reason i posted this message. BTW, i found out this similar
discussion as well from :
http://www.javalobby.org/threadMode3.jsp?message=91768602&thread=8436&forum=61
It seems like both of them have pros and cons..I am really headache
now :-(

Wait till you start having to manage your developers. <eg>
 
J

Jon A. Cruz

Ingo said:
On Mon, 28 Jul 2003 09:27:28 -0400, Sudsy wrote:

That actually exists - Microsoft actually encouraged these open source
projects. The catch is, who knows how long M$ will continue to do that?

I've seen nothing to indicate that MS encouraged these efforts. At most,
they seem to be biding their time, and I've read things from them that
imply that they'll weigh their options when the time comes.

Quite possibly, they'll pull the plug as soon as .Net has caught on.

Exactly.
 
A

Andreas Rueckert

-- said:
My customers are using different platforms, some of them are using
Microsoft (windows centric) and some of them are using cross platforms
such as Unix, Linux. Databases they use are mostly MS SQL and Oracle.

--<snip>--

I think you start at the wrong abstraction layer. Get you a software
engineer. Model your requirements and then model your solution. When
you have the specs generate the code for your target platforms. Look
at things like MDA instead of focussing too early on the target platform.

HTH,
Andreas
 
?

_.-=

Hi Alphaque!

If there's one thing Microsoft stands for in development, its cheap
'labour'. You can get a Microsoft Network Administrator for about half the
price of a Unix Network Administrator (which may not be the same in the
region you are in). You can find so many Microsoft solutions development
professionals that you can even let them develop the whole package for you
and let one cool-but-geeky dude test it and then pay them the contractual
amount. You have to make sure you get the contracts right though because you
have to state that the payment will be after ALL the bugs have been
eliminated - there are many cases where the developers seem happy with half
the money and then tend to disappear.

If you do happen to work in a Unix/Linux environment, introduce a
Windows-based server and write up everything using ASP. That's a cross
platform solution for you if you're into 3-tier-development. There just has
to be a catch though - the licensing for Windows and any development tools
you may be using.

With open source solutions, you can still hire some one to get the work done
but what you save on licensing will have to be spent on salaries,
considering that the client bears the cost of licensing at the server-side.

Hope this helps and good luck!

Best Regards,
NiCk EvErEady
 
M

Manish Jethani

_.-= said:
With open source solutions, you can still hire some one to get the work done
but what you save on licensing will have to be spent on salaries,

But you get more "value for money." Better solutions, more
competent personnel, for lower/same cost.
considering that the client bears the cost of licensing at the server-side.

Clients also bear labour costs, depending on the pricing model.

Manish
 
R

Raymond DeCampo

Mr said:
Hi
I am planning to open a software company to develop client-server
apps and web applications for my client. Now, i am in a difficult
situation to determine what is the best platform i should use to
develop the application for the end users. Should I use Java or MS.Net
technology...

Basically, I have these criteria in our mind before I decide which
platform I should adopt :
1. Ease of use - which one is easy to learn, java or MS .net ?
2. Speed - which one execute faster Java or .net under a server or a
PC?
3. Integration issues, - Can a .JSP web pagejava object call other MS
COM object, DLL that are written using Visual C++ or VB and vice-versa
(means a MS ASP page can call to a Java objects ?)
4. Portability - Can java run in different platform like Unix , MS
Windows and etc ? I heard MS.Net can do that
5. Programmer's productivity - Compare to MS .net visual studio, can
someone develop Java apps easily ? Is there a user development
environment available for Java developer ?
6 Debug-ability - how easy to debug a java apps problem compare to MS
.Net apps ?

I would appreciate anyone can give me some idea here..thx in advance

If you do not know the answers to these questions you should not make
the decision. My best advice -- hire a CTO you can trust and let him or
her make the decisions about the best technology to use.

Ray
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,902
Latest member
Elena68X5

Latest Threads

Top