Will Java Replace .NET?

N

news

I have learned .NET since January this year (04) and now used it to build
redburg.co.uk. I have used the XML/XSLT methods to build the HTML from a MS
SQL database and this has meant I can build large sites very quickly showing
images, text etc. It was a relief to dump ASP.

I have seen technology move many times, and I want to focus on learning
something which will be used in the 2005-2010 period. I assume this will be
Java since Java allows object solutions. Are there are websites showing
trends in e-commerce and detailing which languages are likely to dominate
the software market.

Most Hosts disallow Java work on the servers, so it makes it harder to use
it. I think outside the corporate world of amazon, google etc there is a
market of small business users. Demands from customers are so high now, that
the small business is being pressured to upgrade to more advanced systems
and technology.
 
J

Jon Skeet [C# MVP]

news said:
I have learned .NET since January this year (04) and now used it to build
redburg.co.uk. I have used the XML/XSLT methods to build the HTML from a MS
SQL database and this has meant I can build large sites very quickly showing
images, text etc. It was a relief to dump ASP.

I have seen technology move many times, and I want to focus on learning
something which will be used in the 2005-2010 period. I assume this will be
Java since Java allows object solutions. Are there are websites showing
trends in e-commerce and detailing which languages are likely to dominate
the software market.

What exactly do you mean by "object solutions"? .NET is clearly object-
oriented too.

I think it's highly likely that both Java and .NET will remain viable
and well-supported solutions for the next five or six years at least.
 
J

Josip Medved

I have seen technology move many times, and I want to focus on learning
something which will be used in the 2005-2010 period. I assume this will
be
Java since Java allows object solutions. Are there are websites showing


..NET allows object solutions too so I dont get your point... Java was
there before .NET that is true, but I dont think that either of them
will win... I know Java a little and all I can say that .NET framework
learned from Java's mistakes and I like it better...

For that period of time in my crystal ball I see .NET and Java side
to side... :)
 
I

Ivar

I'm sure that no. .NET will saty good choise for windows platform and java
stays for multi platform (linux,windows).

Many guys argue about "write once, run every where"
..NET guys say about this "write once, test evry where" - don't know what
thew mean, I haven't got any trouble with java yet.
Besides it with .NET "run every where" isn't possible yet and I'm sure that
for long time.

With java you just need to write more ulilty classes to keep stuff going,
but it isn't hard.
For example many .NET users say swing and awt are dummy, again you can get
around it with writing your own UI controls (yes,needs more work but
possible).
For to prove that see
http://www.lumisoft.ee/untitled.gif
It's java application looks exactly same in windows/linux, it has
hierachical grid,grid uses DataSet data from .NET webservices and so on.

If somebody interested from source code of java UI
controls(grid,outlookbar,menu,...), let me know I'll publish it then.
 
G

Guest

I am switching my career to C#.NET and expect JAVA to fade away very slowly
(like FORTRAN). There was internet news of a SUN memo discouraging the use of
Java internally. Unless I get hungry, I am guiding my career away from Java.
I've run a small TCP/IP-TCP client server using C# on LINUX using mono to
communicate with a C# program running under XP Prof.
 
J

Jon Skeet [C# MVP]

Landon Kelsey said:
I am switching my career to C#.NET and expect JAVA to fade away very
slowly (like FORTRAN). There was internet news of a SUN memo
discouraging the use of Java internally. Unless I get hungry, I am
guiding my career away from Java.

Well, they'll both fade away slowly eventually - nothing lasts forever
in computing. Even Cobol will die some time :) As to which dies first
out of .NET or Java, I think only time will tell, really.
I've run a small TCP/IP-TCP client server using C# on LINUX using
mono to communicate with a C# program running under XP Prof.

There are two problems with using Mono for production apps:

1) As .NET moves on, Mono is bound to move on at a slightly delayed
rate. I wouldn't bank on using any .NET 2.0 classes from Mono in 2005,
even though I'm sure *some* of them will be there pretty early.

2) You never know when MS will try to slap Mono down with a law suit.

Of course, MS could easily help to make .NET properly multi-platform in
the same way that Sun has with Java, but it's against their interests
to do so, at least at the moment.
 
J

John Saunders

Ivar said:
I'm sure that no. .NET will saty good choise for windows platform and java
stays for multi platform (linux,windows).

Many guys argue about "write once, run every where"
.NET guys say about this "write once, test evry where" - don't know what
thew mean, I haven't got any trouble with java yet.

Do you write Java programs once and then have them run without problems on
multiple different platforms - without testing on those platforms? That's
what _I_ mean when _I_ say "write once, test everywhere".

In general, I've found that customers and clients like to hear that you
tested your code on their platform. Maybe that's changing with Java, but it
certainly used to be the case, and doesn't sound unreasonable.

John Saunders
 
N

news

I find the object nature of .NET lacking in the sharing of classes. This is
partly due my lack of knowledge and partly the limits in .NET

I would like for example to build a class for string handling and then use
it from all applications. Although this is possible, the .NET framework is
based around Projects and Applications, which I find more difficult.
Especially I found when using same UI (eg Datagrids) in different
applications it to be hard, and finally (to save time) I just copy the code
from one to another.

I really just want to follow the trend, and I saw .NET just by chance about
a year ago, and was surprised how easy it was. It was such a joy to remove
my ASP code.
 
W

William Stacey [MVP]

I find the object nature of .NET lacking in the sharing of classes. This
is
partly due my lack of knowledge and partly the limits in .NET

You need to give more specific example.
I would like for example to build a class for string handling and then use
it from all applications.

Ok. You can do that. Need more info.
 
I

Ivar

Do you write Java programs once and then have them run without problems on
multiple different platforms - without testing on those platforms?
Ok there is minimal testting, just run application see it all it's
features - it won't take long time.
You can test main functionality in one platform.

You probably think .NET on another platform like mono, do you think that's
running better than java.

About java and .NET, seems IBM,HP,ORACLE, ... all big companies are doing
worng bet on JAVA - if you say java isn't suitable.
i can almost bet on this that none of these switch over to .NET completely,
they may add some minimal support.

Like Jon said time will show.

I hope that everyone is happy with his/her choiche.
 
J

John Saunders

Ivar said:
Ok there is minimal testting, just run application see it all it's
features - it won't take long time.

Thank you for agreeing with me. "Write Once, Test Everywhere".
You can test main functionality in one platform.

You probably think .NET on another platform like mono, do you think that's
running better than java.

I don't think any such thing. Perhaps you are confusing me with someone
else.

John Saunders
 
R

Richard Blewett [DevelopMentor]

Interestingly IIRC Mono has generics already in production [1] whereas the CLR won't get them till mid-2005

[1] http://www.mono-project.com/news/index.html#12-2f9-2f2004-202-3a00-3a00-20PM

Regards

Richard Blewett - DevelopMentor
http://www.dotnetconsult.co.uk/weblog
http://www.dotnetconsult.co.uk


1) As .NET moves on, Mono is bound to move on at a slightly delayed
rate. I wouldn't bank on using any .NET 2.0 classes from Mono in 2005,
even though I'm sure *some* of them will be there pretty early.
 
N

news

William

Example: Datagrid handles MS SQL updates but points to different databases
based on domains - actually what I am doing.

What I want to do is take an instance of a database class, get the domain
name (getURL) and then create an object, this object has the classes/methods
for handlings of the new database, ie the instance has the database
specified.

DataBase - class
UpdateDB - method

eg - this is generic language - not C#

DataBase thisDB = new DataBase();
thisDB = removeHTTP(removeTLD.getURL());

now ... I dont want updateDB(thisDB)
but thisDB.updateDB();

This is the first problem, the second one is then building the methods into
the DataGrid.

I read some text saying this is possible, but I gave with the boring code.

Anyway, my code works by just naming a class in a new project which has the
database hardcoded, then the rest of the methods use the database name.

But my post was really about what happens when .NET is retired? What is
next, should I be learning Java? Most developers are waiting for Natural
Language Processors which will allow more advanced communications.

Trevor
 
J

Jon Skeet [C# MVP]

news said:
Example: Datagrid handles MS SQL updates but points to different databases
based on domains - actually what I am doing.

DataGrid doesn't handle updates itself, as far as I know - it handles
DataSets. The database communication is usually performed by
*DataAdapter.
What I want to do is take an instance of a database class, get the domain
name (getURL) and then create an object, this object has the classes/methods
for handlings of the new database, ie the instance has the database
specified.

DataBase - class
UpdateDB - method

eg - this is generic language - not C#

DataBase thisDB = new DataBase();
thisDB = removeHTTP(removeTLD.getURL());

now ... I dont want updateDB(thisDB)
but thisDB.updateDB();

And what makes you think you can't? Sure, .NET doesn't come with
classes which do what you want, but there's no reason you couldn't
write them.
This is the first problem, the second one is then building the methods into
the DataGrid.

Absolutely not! The DataGrid is there to display data to a user, not to
deal with the database directly.
I read some text saying this is possible, but I gave with the boring code.

Anyway, my code works by just naming a class in a new project which has the
database hardcoded, then the rest of the methods use the database name.

So just avoid making it hardcoded. Either you're not communicating your
example well, or it's not a good example...
But my post was really about what happens when .NET is retired? What is
next, should I be learning Java?

What makes you think that Java will outlast .NET though? You haven't
given any good reasons so far, IMO.
Most developers are waiting for Natural
Language Processors which will allow more advanced communications.

I'm certainly not. Natural language processing is an inherently
heuristic business - not the kind of thing I want to be using for
development, myself. In fact, you're the first person I've heard
talking about them, so I suspect that most developers *aren't* waiting
for them.
 
R

Richard Blewett [DevelopMentor]

Fantastic! What metric are you basing your estimate on?

Of course if we are talking about the software that most people use, then it will be the software on their home/work machines/devices. Now, the world of devices is far to raw to make real estimates on how that is going to pan out. So lets look at PCs. The vast majority of these are running Windows of some form or another. So it goes like this: either most Windows users will start running Java software on their machines or most users will stop using Windows. In the next 5 years I think this is unlikely in either case.

1) Users moving to Java apps: means that most commercial software will be written in Java - if thats the case then Java needs a proper story about how it writes a decent client App that is acceptable and usable and supprted in such a way that is accessible to home users. This is some way off at the moment IMO.

2) Users moving to a non-Windows platform: possible - but seeing as lots of people people still use Windows 9x then I think its unlikely in the 5 year period that the majority of users will switch to another platform.

So we are left with what happens on the server side - and yes this is the real battleground - at least for the immediate future. And I think most of these decisions are not made on a technical level but on a commercial level - which vendor goes that extra mile and m aybe shares the same golf course.

Both platfor,ms will exist for a very long time and I think we will see the superceding of the whole concept of what we see today as managed platforms before we see the death of either .NET or Java

Regards

Richard Blewett - DevelopMentor
http://www.dotnetconsult.co.uk/weblog
http://www.dotnetconsult.co.uk

IMHO, Java will take 60% of the market share, .NET will take 40%.
Binh
http://vmdd.tech.mylinuxisp.com/catalog/
 
D

Daniel O'Connell [C# MVP]

Miha Markic said:
Exception that supports the rule perhaps? :)

Perhaps. The rule in mono seems to be "Cool stuff first, boring stuff
never".

Generics got done before mono got decent warning and error messages. Thus,
the 1.0 compiler was probably not up to spec at that point.

That is the rule in code though, everyone wants to do the cool stuff, ;).
--
Miha Markic [MVP C#] - RightHand .NET consulting & development
SLODUG - Slovene Developer Users Group
www.rthand.com

Richard Blewett said:
Interestingly IIRC Mono has generics already in production [1] whereas
the CLR won't get them till mid-2005

[1]
http://www.mono-project.com/news/index.html#12-2f9-2f2004-202-3a00-3a00-20PM

Regards

Richard Blewett - DevelopMentor
http://www.dotnetconsult.co.uk/weblog
http://www.dotnetconsult.co.uk


1) As .NET moves on, Mono is bound to move on at a slightly delayed
rate. I wouldn't bank on using any .NET 2.0 classes from Mono in 2005,
even though I'm sure *some* of them will be there pretty early.
 
N

Nick Malik [Microsoft]

Hi Trevor,
But my post was really about what happens when .NET is retired? What is
next, should I be learning Java?

I'm with Jon on this. Java predates .NET and many of the problems faced by
early Java programmers were accounted for in .NET. With the 2.0 framework,
we have many of the features we've needed all along. With the growth of
open source in .NET, we have begun to respond to the Java onslaught.

Personally, I know many folks who switched from Java to .NET and haven't
looked back.
Most developers are waiting for Natural
Language Processors which will allow more advanced communications.
Yech. I wrote a couple of those Natural language systems, in Prolog, and I
can tell you that there is nothing "advanced" about describing an algorithm
in English. When I want to communicate an algorithm in an article or book,
I write it in code. Why? Because it is more "advanced" to describe things
in a language that is designed for the description. If you want to discuss
philosophy, use English (or French). But if you want to describe complex,
mathematical operations, use code.

--- Nick
 

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