There has been some debate about whether .Net will kill Java some day @ http://www.linkedin.com/groupAnswers?viewQuestionAndAnswers=&gid=43315&discussionID=11307898&split_page=1
My position is that .Net will not and does not need to kill Java. So no flames .....
Here are some comments posted that concur with my own observations & sentiments ..
________
As much as I wish, .NET will not entirely replace Java - is what seems
to be the case. .NET is not so much prevalent in mobile space as Java
is. Many players such as IBM and Google are still pushing for Java as
for non-MS OS Java is the only major managed platform (I still don't
think Mono is anything beyond concept level yet and not ready for
enterprise apps certainly and the sole reason for many shops to use
linux is to prevent licensing cost). Eclipse has certainly prolonged
Java's lifespan coupled with Java -> JavaScript tools that Google
uses for its web suite such as maps.
________
Derrick HallerUntil .NET can run on a UNIX/Linux machine it will never "kill" java. I
feel Oracle will do more damage to java than .NET. I believe they have
already announced they rae not supporting older versions of Java. .NET
will run on the majority of windows platforms while Java will do the
same with UNIX although I do agree that Java has not made nearly as
many enhancements to their architecture compared with .NET
__________
Brian H. Madsen [MVP]
Horses for courses....
as any tradesman would tell you, it's about using the right tool for the job.
Insofar as will .Net "kill" JAVA - then i don't think so. Will more and
more users migrate from JAVA to .Net? yes, certainly so - especially
with adoption rates as high as they are these days.
So, why don't I think it will "kill" it off - well, corporations
has invested millions upon millions on systems that these days are
vital to either their core products, services or simply their internal
systems - as we well know, there's houndreds and thousands of legacy
systems in place today that rates back to before .Net was even here.
These systems are still actively being used and modules are built to
extend their initial implementation reason.
What i am very pleased by, is that there's whole communities out
there today that focuses solely on adapting .Net to their base systems
- be it MONO or other similar platforms. This tells me that .Net is
definitely here to stay.
_______
James, please forgive me, but is not Java now an Oracle product? Oracle
has an absolutley horrible reputation in the area of developer support.
If anything, Oracle tends to destroy programming platforms, not help
them.
As for various versions of .NET, it simply is not true that each
version is substantially different. 2.0 added generics to the core
framework, 3.0 added WCF, WPF, WF, and a few other APIs, 3.5 added
LINQ, 4.0 added dynamic. The ecosystem around .NET is amazingly large,
yet, the core bits (IL) you run an app with have not changed all that
dramatically since .NET 1.0. To say they are different is to really
misrepresent what has happened.
MS has a core product, it's called .NET, and it is on it's 4th major release.
As for the language debate, I addressed that earlier. C# and Java will
co-evolve. Even Java people will say that C# is ahead right now, but
Java will probably catch up at some point. Obj-C will recede, and a
mobile framework that enables you to program the iPhone/Droid/etc. with
a common language (again, probably both C# and Java) will emerge.
Simply too much economic incentive to take mainstream development
languages and techniques to the mobile form factor. Monotouch has
already proven technical viability. Java moving there too is only a
matter of time.
____________
Looking comments of this discussion, it actually reminded me the grand
phylosophical discussion - Java vs. Microsoft - I really refer to 2
main threads of development architectures, design patterns, tool
families, run-time frameworks, deployment strategies, toolsets,
languages, libraries etc. - what really constitutes one platform vs.
another.
Since .Net Framework is a most modern (for the tme being) platform
on Microsoft line, the question is asked about lifespan Java vs. .Net
but it is really a question about Java path vs. path following
Microsoft development vision, ideology and platform, and one of
potential values of this discussion is to review and validate
development trends - for newbies to select the path (which is really
career determining decision), for others to adjust long-term
commitments.(either to switch either way or to stay if both paths are
viable).
While .Net Framework is the best development platform to date
offered by Microsoft (and I stayed in Micrsoft camp for at least 15
years), it will be replaced with something else in future (it is not
matter of "if" but "when"), but this is rather to advantage of the
overall platform, which is not .Net but tuned to current delivery
targets DNIA architecture - distributed network internet architecture -
a platform to develop and maintain enterprise solutions, which happen
to require today to become RIA, but tomorrow it will be something else
(such as pointed out in other comments mobile applications).
I have on my machine all Visual Studios since 1998 and evolving
together with Microsoft vision was a relatively smooth process - what
we do today has very direct, natural and consistent roots from earlier
technologies - COM/DCOM/COM+/WSDL, DAO/RDO/ADO/ADO.Net etc. - and
because of it is maintained by one company all of these are supported
to date.
Just few weeks ago I was assisting the client with migration from
NT40 to W2K3 and exposing legacy COM+ application as web services - the
best testament of long life time of the development thread today called
.Net but in reality part of long rooted, historically stable and would
be supported in future vision to build modern solutions at all levels.
__________
Brian Bass
While I am an avid C# programmer I have also been consulting for over
10 years and have found the reverse to be true. Because Java was the
hot language in the early 90s there is a big glut of Java developers
already out in the marketplace. Also, those old developers are now
managers and directors of IT. Recently I found out an old employers
director of IT was once a Java developer and has now mandated that all
new programming is to be developed in Java. I worked at Nokia a couple
of years ago and was on one of the only .Net teams there. The rest were
Java. It is almost as if it is a religious war when you talk about Java
vs .Net.
I recently defended .Net to people and the fact is always that .Net
kills Java in speed tests, lines of code and time to market all the way
around. If the business world was only forward thinking all projects
would be developed in C#. But in the balance sheet world Java requires
no money for licensing, has more open source add ins and there are more
Java developers so you don't have to pay them as much as a .Net
developer. The business director has to ask - will this software do the
same thing as the other language and the answer is usually yes. Then
the director has to ask some questions - What have we been using in the
past? Is it worth it to change? Would hardware be a limitation - Wintel
or Sun? and many other business specific questions. Java seems to be
winning out in that arena because it is hard to put a dollar value on
performance and productivity.
I also recently worked at a non-profit and they used projects from
colleges to enhance their websites. The colleges would turn out AJAX
with Java Beans and Hibernate web apps. I converted them to ASP.Net
AJAX and found that the college kids of today are being taught by their
professors that Java is the top language. These professors are ones who
got their degrees at the height of Java. But, if the college kids were
smart they would learn .Net instead and be able to command a higher
salary in the marketplace.
So I don't think Java is going to be killed any time soon. I think the
old systems will always be put on an upgrade path to the next version
of the language they were originally developed in. It is the new
development where .Net should win, but that is all based on whether the
client is from a Java world or Microsoft world. The fact is there are
more people that come from a Java world than .Net. There are more shops
that utilize Java. I just look at all of the open source projects and
Google APIs and can see that Google is a little anti-Microsoft in their
tools. It is frustrating because .Net is soo much better than Java and
Google is ignoring a growing segment of developers.
I think the turning point will be Windows 7 penetration. Since the
OS is popular and shops are actually willing to migrate old NT servers
to Windows 7 the .Net Framework is ready, willing and able to be
utilized. Over the years the Java operating systems will lug behind
even more and will eventually fade away. Maybe in 20 years there will
be new languages, but I am willing to bet the .Net framework is here to
stay and will eventually dominate the software and web industries.
__________
Jeff Potts"Does anyone agree or disagree? ==> Larry Ellison et. al. are going
to train customers and favor Oracle (aka proprietary) over Java for BI,
BPM, etc.
That is not good news for Java."
---------------------------------------------------------------------
It may or may not affect JAVA. Then again, Oracle's proprietary
development system is not a broad-based development language. It has a
specific focus, and it has been around for long enough that if
elimination was the motive, JAVA would be past history.
And, as for Bill Gates being the son of the Devil, some
anti-establishment types consider Oracle to be the Seventh Level of
Hell.
I've been developing Microsoft apps since Windows was version 2.0.
In that time I've seen all the trends that have popped up between then
and now. There is a big enough "maverick" contingent out there that
will absolutely refuse to follow any path forged by a big, evil
corporation bent on profit (perish the thought) no matter how much
easier it makes their lives. One only need to look at the fact that
Borland and Delphi are still around (and still have a sizable
application/developer base) to see the absolute worst that could happen
to JAVA.
JAVA isn't going anywhere far. So don't fret.