Java v. .Net?
JEmLAC writes: "Fawcette's running an interesting piece (in conjuction with JavaOne) on a presentation by Gartner analyst Mark Driver concerning the emerging niches for Java/J2EE and .Net in the deployment of Web services. His take is that by 2005, they will be co-standards."
Another important question: Has anyone succeeded at using SOAP to crack a "web services" server?
Healthcare article at Kuro5hin
All of this talk of web services and WSDL/SOAP repositories reminds me of how people used to talk about objects, object repositories and CORBA.
I think it is just another big marketing load of crap. Sure WSDL/SOAP work, but so does CORBA/IIOP. The problem is it is just a pipe-dream. What are the chances that a company will have a complex service, which solves my business need, that I can just plug into. Sure they may have some simple common services - even complex ones(that will not fit meet my need). But, the integration costs will not go away.
Sorry about ranting - I just get sick of hearing the same things repackaged as the ultimate solution every 4 years.
I'm currently in the middle of implementing a large scale, customized CRM system for a global company.
.Net because we needed a system wide platform to build all the customisations on. I would rather have used a more mature technology (Enterprise Java anyone) but MS was insisted upon us.
.Net all the right ups and books about it got me excited. It really does bring everything you need to build a web application into one platform. The problem ...
.Net because it "did everything".
They insisted on using MS technologies (server maintenace would be easier they said).
So we decided to use
When I first started to get into
There are far too many cracks that things fall through. All the little nitty gritty things that you don't want to become intimately involved with when building an enterprise system, do exactly that, force you to get intimately involved with the low level stuff.
If I wanted to do low level work I woulda used a custom built platform (combo of server scripting, php or asp, and my own server side binaries with all the funky stuff in it). But no, we chose to go
Yeah it did everything alright, just not completely.
For example, anyone tried printing the contents of a rich text box control? Why use a prepackage rich text box control if you have to right your own low level rtf parser to print? how furked up is that?
SOAP is the external interface of the web service. The idea is that you implement this interface using Java or the .NET framework.
Of course, a SOAP-compliant web service could be implemented through Perl, C, shell scripts, REXX or specially-trained gerbils, the client program using the web service shouldn't know (or care).
Sort of what I expected...
Good solution to most things, but riddled with gotchas...
On a side note, we adventured with the rich text box too - we ended up implementing printing via the DHTML edit control in IE 5.5 (with a custom print template). That's a mess too, if you're wondering...
Thanks for the heads up.
...
Let's not stir that bag of worms...
(* For example, anyone tried printing the contents of a rich text box control? Why use a prepackage rich text box control if you have to right your own low level rtf parser to print? how furked up is that? *)
Just because you *can* use a RTF widget does not mean you should. Are you yelling at MS because they gave you the *option*? (Perhaps if they didn't give you the choice of regular HTML approaches, then you have something to fuss about.)
Choice is not evil, but the misuse of it.
Personally I think B-to-B and intranet web interfaces will disappear when a decent HTTP-friendly GUI standard finally catches on. Customers, developers, and managers *keep* asking for web apps to act like GUI's, and they don't do that very well. Web interfaces are fine for active brochures, but crappy for medium-duty business forms.
Also, is it possible/practicle to run a Python interpreter on CRL/.Net? It seems that CRL favors staticly-typed languages. I like good scriptish langs myself.
Table-ized A.I.
The C# language and core libraries underlying .NET are also well-documented and standardized. This means that free and third party implementations are going to happen (in fact, Mono is almost there), and a lot of free code can move more easily between the Windows and non-Windows worlds than was possible before.
And Sun needs the competition. The threat to their business from C#/.NET may finally get Sun to open up Java more. And it may get Sun to finally address some serious limitations of Java and the JVM that they have been promising to address for years but failed to do anything about.
In the long run, I think the two platforms will just merge. Runtimes will simultaneously support JVM and CLR, and Java and C# compilers will target each others runtimes.
All this is good as far as I'm concerned. I'm using Java for a lot of my work right now, but I may give Mono a try once it is fully self-hosting on Linux.
We are porting some java sites to asp.net, and have been very happy with the results. As to your comment 'rarely know why' - here is why we are doing it: 1) Cheaper hardware - replacing overpriced Sun and HP boxes 2) Very clean design/coding methodology - nice code separation 3) Performance - we are seeing 2-20x perf gains with ASP.net over Java equiv 4) Excellent error handling 5) Nice caching infrastucture 6) Data access layer that makes Java look like a beta product 7) Great integration of SOAP/XML 8) Good degugging
Overall, the platform has may advantages and is a pleasure to code in with the VS.Net IDE. We are not looking back.
AC, since you seem to have real life experience with .NET, it would be interesting to get more specific information.
.NET, plus you can get alot of the software for it for free. Running on Unix boxes is just a way to scale up Java, something that is not available for .NET.
My thoughts on your post:
1) Java runs fine on the same HW as
2) Same for Java.
3) Performance is often better for asp, what are your specific applications and platforms ?
4) Examples ?
5) Java has this too. Nice infrastructure that is.
6) What do you mean by data access layer ? Java is excellent for data access.
7) Java too.
8) Most java tools have this too.
Oh, I can't help quoting you because everything that you said rings true
I was hoping that .NET would slap Sun hard enough to make
them improve multi-language support in the JVM. At least put in the
tail-call support that Guy Steele originally wanted. However, from
quotes in the article it seems Sun isn't getting enough heat.
I love this guy. You read the article, and by 2005, it sounds as though Java and .NET are going to be all there is. 70% of corporations use VB now, he says. Yada yada yada.
The thing is, you can't even write much of the stuff that gets developed today in either Java or .NET. You cannot write low-level stuff, like OSes and device drivers, where C is still a dominant contender. You are hard-pressed to write embedded stuff, though I'll grant that Java has some potential there if the momentum gets going. You'd be equally hard-pressed to write instrument control applications, with their combination of low level and performance requirements; many of these are currently written in C++. Neither Java nor .NET is even slightly appropriate for high-performance scientific work, where FORTRAN is still the ruling candidate by a long way. You get the idea. Apparently, things like C, C++ and FORTRAN will have disappeared in three years!
Whatever the speaker concludes about Java and .NET, he does the programming world a disservice by completely glossing over whole markets, which are at least as important as "enterprise apps" (big databases, and about the only people who are ever going to care about "Web Services"). IMNSHO, neither Java nor .NET will be nearly as significant in three years time as this article would have you believe.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
The article suggests that Sun should focus on training more developers. As a student raised on Java, I think they're already in a good position here, but MS is currently on a push to get .NET
taught at many of the elite universities as well.
Doing some things better than Java (with a
decade of hindsight) gives them an edge here...
Now's a perfect time for Sun to reinvent Java a bit. Things like generics and the tail call optimization, for the researchers, but more importantly, a general push to the public again. Face it, there wasn't much fanfare when Java 1.4 was released. It's time to get excited about it again, is Java is going to hold out...
4. Fewer open source competitors. Java is infested with open sourcers which makes it an unattractive market for commercial companies.
One word: Huh?
I've yet to encounter a (non Microsoft) company that actually view a broad range of alternative suppliers as a Bad Thing. How on earth does open source products make it unnatractive for commercian companies?
I've worked with one of the (IMHO) most inbread and inflexible of large computer companies (TLA, but not the one you're thinking), and even that one embraced open source when it could further their cause, or ignored it when (they thought) it couldn't.
May we live long and die out
Well, one of us is missing the point, anyway. :-)
I'm well aware of what "business applications" are; I work at a software house that does both "business" and "engineering" work. I'll grant you that Java and .NET are targetted principally at business apps, and that business apps are likely to be the only things that care about Web Services. However, with all due respect, your claim that this is the arena in which most developers work is utterly falacious. There is far more development work done outside of business apps than in it. This is supported both by every survey I've ever seen, and simple, objective measures like how much business my employer gets in each area.
IMHO, the focus on new technologies for business apps rather than engineering ones is more due to the low maturity of tools in that field and the scope for improvement -- there is a lack of good tools at present -- rather than the fact that there is more need for tools in the first place.
And so, I stand by my original point. While there may be only two big players in the business apps market by 2005, there will still be many more in the market as a whole, and most of them will be old and established things like C and FORTRAN, not new, immature technologies like .NET. I feel that the article was misleading in this respect.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.