Java vs MS .net, which one should i use ?

C

CY FOK

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 my end users. Should I use Java or MS.Net technology or should I mix
both of them ?

Basically, I have these criteria in 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 page 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 ?

In java (except Java script), i can hide away my source code from being
known by the end users, can I do the same in MS .NET ?

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

Regards..
 
M

Massimo

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 my end users. Should I use Java or MS.Net technology or should I mix
both of them ?

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

Both of them requires you to learn the framework libraries, but .NET has the
advantage that you can use them from various languages (most notably VB and
C#, but there are others); with the Java platform, you have to stick to the
Java language.
2. Speed - which one execute faster Java or .net under a server or a PC?

Modern java VMs are quite fast, but not as native code.
3. Integration issues, - Can a .JSP web page 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 ?)

You can call anything from anything else, if you really need to; the
question is ease of use... and various MS technologies are surely a lot
better integrated.
4. Portability - Can java run in different platform like Unix , MS Windows
and etc ? I heard MS.Net can do that

Java was actually the first cross-platform commercial development
environment; .NET followed the same line.
Currently, Java applications can and will run almost everywhere. The .NET
framework is available only on Windows platforms, but there are some
portings in progress (most notably, the Mono project).
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 many, but 90% of them are written in Java, so are painfully slow
and quite ugly to use because of he horrible aspect Java GUI controls take
when run on Windows machines.
In my opinion Microsoft's IDEs are still the best ones around.
6 Debug-ability - how easy to debug a java apps problem compare
to MS .Net apps ?

It really depends on the IDE you're using.
In java (except Java script), i can hide away my source code from being
known by the end users, can I do the same in MS .NET ?

In Java you can't hide anything, the bytecode can always be decompiled; the
best you can do is obfuscate it.
The same is true for .NET.

Massimo
 
R

Rob Tillie

You have forgotten 1 criteria for judgement. Which platform will survive
and/or will be dominant. I think nobody knows the answer yet, but imagine
that something shocking happens in one of the communities, you do not want
to be in that one.
But probably, there will be room for both of them. However, Java needs to
make a couple of changes to cope with .NET, but all they are doing is
fighting with IBM and other vendors.
Besides this, if you want to build enterprise apps, you'll have to compare
the Java 2 Enterprise Edition to .NET, which is a lot more complicated.

Greetz,
-- Rob.
 
R

Ron Bullman

CY FOK,

Just few toughts, but related to your start-up situation.
I am planning to open a software company to develop client-server apps and
web applications for my client.
This is very general approach. You should narrow down the domain where to
operate i.e. you need to find/ specify the niche were to operate. The
situation will be much easier if you/ your partners do have experience of
this niche, but you really need first to understand the niche in and out.
The opportunities/ threads of the niche and yours/ your teams_true_
strentghts and weaknesses are utnmost important to understand. After you
have the knowledge how to do business in the niche, the selection of the
development environment will emerge pretty straightforward manner.

And please keep in mind that the nature of the company you are starting to
create will be pretty different based on the ratio of own products contra
services offered. Also don't choose the niche based on only its
opportunities take your time to understand how the niche will reflect to
your stakeholders.

Today you can't ride anymore with the technological hype, you need to be
able to offer true substance, and preferably such substance which makes the
diifference ;-).


Ron
 
P

Peter van der Goes

CY FOK 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 my end users. Should I use Java or MS.Net technology or should I mix
both of them ?

Basically, I have these criteria in 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 page 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 ?

In java (except Java script), i can hide away my source code from being
known by the end users, can I do the same in MS .NET ?

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

Regards..
Something to keep in mind if you are planning on developing custom apps for
clients as a consultant (vs. selling packaged apps): you may not be the one
making the decision on language and development/operating environment.
Often, IME and in the more recent experience of one of my kids (who consults
for Perot Systems, Dallas TX USA), the client dictates the weapon based on
their own preferences and existing software.
To maximize your potential client list, you'll need to be able to do both in
the foreseeable future.
 
C

Cowboy \(Gregory A. Beamer\)

CY FOK 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 my end users. Should I use Java or MS.Net technology or should I mix
both of them ?

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

Pretty much the same, depending on how deep you go.
2. Speed - which one execute faster Java or .net under a server or a PC?

I would bet on .NET here. With UNIX, you have to go Java or compile your own
CLR (implementation for BSD right now). With Linux, you can use Mono, so
either.
3. Integration issues, - Can a .JSP web page 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 ?)

If you are talking integration with COM, aim for .NET. Interop is a pain
either way, but MS has made it much easier. If your back end is Java, I
would aim at Java, as .NET is not the easiest to contact Java with (I have
seen it done either way).
4. Portability - Can java run in different platform like Unix , MS Windows
and etc ? I heard MS.Net can do that

..NET now on BSD, Linux (as Mono) and Windows. Java is pretty much open.
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 ?

I am not really fond of the Java tools out there, compared to Visual Studio
..NET (NOTE: Last serious delve into Java was a year ago). JBuilder is
probably the best if you go that route (it was when I was coding Java).
6 Debug-ability - how easy to debug a java apps problem compare to MS ..Net
apps ?

Debugging is fairly similar in both. The Visual Studio .NET tool may give a
slight advantage, but I have not worked with Java for over a year, so I am a
bit stale with the Java tools.
In java (except Java script), i can hide away my source code from being
known by the end users, can I do the same in MS .NET ?

First, JavaScript is not Java in any sense of the word. Both .NET and Java
are compiled to byte-code (.NET is called IL for Intermediate Language). As
such, they are hidden from the casual user, but can be decompiled fairly
easily. Visual Studio .NET 2003 ships with an obfuscator and there are other
free obfuscators out there (Dan Appleman's is free and fairly decent). On
the Java side, you can also find obfuscators.

If you go .NET, put your code into CodeBehind files and compile them prior
to pushing your web apps. For windows apps, you will deploy a "compiled"
version. Make sure you obfuscate. The suggestions are pretty much the same
in the Java world.


--
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA
Author: ADO.NET and XML: ASP.NET on the Edge

****************************************************************************
****
Think Outside the Box!
****************************************************************************
****
 
C

Cowboy \(Gregory A. Beamer\)

And .NET 2.0 should be even easier if rumors are true. J2EE is getting more
complex.

Hey, I like Java. I am glad MS moved into something truly OO with less
complexity than C++. I am impressed with the foray, with some exceptions.
But, if the world moves to Java, I will move back. I develop as a career and
holy wars waste a lot of time.

--
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA
Author: ADO.NET and XML: ASP.NET on the Edge

****************************************************************************
****
Think Outside the Box!
****************************************************************************
****
 
L

luke

A good point. Microsoft has a history of churning its technologies
every few years (especially when they prove to be less than capable of
competing against Java or other platforms), causing confusion and
problems for Microsoft-only shops. Witness J++, COM, DNA, Active X,
etc, all of which tried to compete with Java and just could not.

On the other hand, Java is embraced by multiple vendors (IBM, Oracle,
HP, Sun, etc) and works on almost all platforms, including Linux, the
fastest growing server OS in the world, as well as Windows, Mac OS X,
and various other UNIXs. It has also remained relatively backward
compatible, such that applications created in 1996 still will run
today.

With regards to IBM, IBM is actually one of Java's strongest backers,
and IBM's J2EE app server Websphere powers:

65% of the Fortune 500 companies
80% of the top US healthcare companies
75% of commercial banks worldwide
90% of the top commercial banks in the US
67% of the world's largest banks use IBM messaging servers
15 of the top Wall Street brokerage firms
7 of the 8 largest US telecommunications companies

I would think that the current .NET will be replaced sometime within
the next 4-5 years.
 
M

Michel Gallant

I would suggest reading all the available articles on comparison of
J2EE and .NET Web applications.

If you believe that the future looks like a healthy mix of both Java and .NET
than you need good expertise in both areas, since you will likely want to
"do business/interop" with web objects using both technologies.

Both Java 2 (say v 1.4+) and .NET have significant infrastructure deployment
issues, depending on what your clients platforms are (Win98 - WinXP) so you
need to have good in-house experience in deployment.

IMO if security infrastructure is an issue (should be), than .NET has the edge.

- Michel Gallant
MVP Security
 
S

Scott M.

I wouldn't say the COM was developed to compete with Java since COM was
around many years before Java ever existed. I would also say the DNA and
ActiveX were just extensions of COM based architecture. COM has been a
successfull paradigm for over a decade and it won't go away anytime soon for
legacy reasons.

With .NET Microsoft has taken programming architecture to the next level. I
won't deny that it was created to compete with Java, but you must understand
that .NET has been in development (in one form or another) for going on 5
years and it has been in full release for almost 2 years now.
 

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

Top