TKO

  • TKO

    At least according to Bob Muglia, the MS VP of Servers and Tools. "J2EE has run its course" is a quote from this article: Microsoft: .Net Beat Java, Who's Next? I have to admit that I was surprised to see this in print with eWeek. And more amazed the some of the other places I frequent, such as Slashdot, haven't picked it up and started the debate going.

    I know the .NET development is really catching fire, especially with the 2.0 framework, Visual Studio 2005 and it's team development features, and SQL Server 2005, but I didn't think it had done that well against Java. After all I still see tons of Java jobs out there and it seems that lots of companies that are Unix/Linux shops would be sticking to their J2EE development.

    But in some searches on Google and Yahoo, it does seem that .NET is making lots of headlines. The new releases of tools at the end of 2005 certainly helped, but there seem to be lots of companies announcing that they're working on .NET development topics.

    Personally I don't really see one as better than the other. .NET allows you to develop in multiple languages, which can save on training costs for employees that aren't familiar with your language of choice, but that probably isn't that common. I suspect most people standardize on VB.NET or C# and want everyone to use their standard at work.

    Java on the other hand allows multiple platform development, which can be very important to many companies. Java seems a little more mature, but that's debatable as to whether it's a good or bad thing.

    In either case, the feedback around the web to this article seems to be rather quiet. Not sure if that means most people see more development moving to .NET than Java. Or maybe the Steve Ballmer interview on the future of Microsoft from the last week overshadowed it.

    Or maybe the Java guys just don't care 🙂

    Steve Jones

  • Hi everyone,

     

    General feedback here, in Spain, is that you get more JAVA announcements than .NET ones. As distinct from UK or US in Spain there is a only serious jobsite, and you can see that six out of ten positions are not NET (Java mainly and Cobol too)

    Five years ago it was the same and I wonder what will happen in the future. I have always worked with Microsoft stuff but from the beginning I heard that J2EE platform serves for serious purposes whereas .Net is for push things… Broadly speaking is the feeling in many organizations…

     

    Well, how many banking on-line platform you know which are produced by mean the use of .NET or VS6??? Here in Spain, 0.

     

     

    I know that lots of you are writing from US so that I wonder, is it the same in the States?

     

     

    Regards,

  • Well, based on the latest rankings from TIOBE (http://www.tiobe.com/tpci.htm), I think it's a VERY debatable claim which Microsoft is making.  In the August rankings, we can see that not only is Java still #1 by a mile (a position which it's basically owned for the last five years), but its rating is nearly double the combined ratings of C#, VB.NET, and C++.

    Now, I program in .NET, so I'm certainly not a Java evangelist trying to push that language.  I work with .NET all day (when I'm not doing SQL stuff), and I like the platform a lot.  But I really don't see where Microsoft get off on claiming to have "beaten" Java...

    -----------------

    C8H10N4O2

  • Well, well, well...  So MS has 60% of the development market with .Net.  If that's true, then good for them.  However, it's a little early to count out the Java competition if they still have 40% of the market or a large portion thereof

    Now, don't get me wrong, I'm a .Net guy.  Do 90% of my development in C#.Net.  It's just when I hear that some technology is dieing or has been replaced by this or that it usually isn't true.  There are notable exceptions.  For those who haven't noticed, DOS is mostly dead.  There's not a lot of Clipper work being done anymore either.  I can only hope that MS Access will die soon  But, I'm not holding my breath on that one...

    Tools improve, and so far for the most part things get better.  However, you do have to watch out when someone tells you that the latest VS IDE will take all the creative work out of programming.  What they really mean, is that the new tool will take out some of the repetitive work.  And, some well meaning idiot will try to use the tool take the place of creative programming and will fail...  It happens over and over again

    Just my 2 cents...

  • I had thought that Java was beating dot net hands down for awhile.

    From the tiobe site I find it more interesting that Ruby is making its way up, I am assuming because of RoR. Which is sweet.

  • All I will say is anyone remember the mainframe?

    Oh wait, we still have those, nevermind.

  • Well folks in Ireland anyway the demand for Java programmers far exceeds the demand for dotnet... especially where i am located.. in Galway.. on the west coast.

    Majority of the jobs around here are telecomms or insurance related..

    I'm doomed to be a dotnet programmer here and the options of moving job are rare.

    Wish I'd gone the Java route 5 years ago....

     

  • I think Java is still the world-beater in many large corporations and in university settings, though I have noticed .NET is starting to be treated with more respect. As for whether it's beating Java, I doubt that at this stage; though I suspect it might eventually do so for several reasons.

    The first is that, in this battle, Java is carrying around the weight of years of extensions, rather than Microsoft's offering. .NET has had an advantage in presenting a cleaner class model in some regards, largely because they learned directly from the Java strength and addressed some of the weaknesses. It doesn't make .NET better, but that and the number of language choices, probably make it easier at the entry level. I have taught both, as well as worked in them both productively, and find that they are now on par in terms of productivity if you know what you're doing, but that .NET seems easier to teach to neophytes. And, it seems that the class model is clearer to students, though that may just be a side-effect of the tools.

    The second reason I suspect .NET is going to beat Java in the long term is cost. I'm finding that hiring really skilled Java workers far more expensive than hiring skilled .NET coders, which seems odd to me, but is an experience that I've heard from others. Part of it is, of course, a market-related variance here in Canada; but one of the biggest barriers to entry seems to be that the best Java tools are by companies who price for the enterprise, making it harder for journeyman coders to access the experience of those tools. I have found that .NET seems to allow much more rapid prototyping and at least lends the appearance of better speed, while at the same time requiring fewer "experts" to manage the solution. That perception alone wears business resistance down, and at least gives the impression of cost reduction.

    The final reason for the possible long-term rise of .NET above Java is, I think, because .NET has ASP.NET and all its trappings. While Java and its platforms can do amazing work, it truly isn't as easy to drag together a solution in Java as it is in ASP.NET. As more companies want web interfaces, etc., they will probably gravitate toward ASP.NET as an entry into that realm as long as they run MS O/S platforms, and many, many do. It won't have anything to do with merit comparisons, though, just with the ease-of-use perception. MS has really done a fine job selling the ease factors, and none of the Java providers seem as concerned with that.

    My rambling aside, though, I would take exception with two fallacies that I think should have been excised from our collective thinking long ago.

    Anyone who has ever created a Java solution of any scale will tell you that to really optimize it you will end up using extensions that are platform-specific, or optimizations that are, etc. No project has unlimited resources, and cost constraints always dictate that you code to the strengths of your platform. This code-once, run-anywhere claim is a reality only in the narrowest solutions, or where there is a luxury of not being concerned with performance, code scale, or whatever other factors come to play in various real systems. One of Java's greatest failures is that by pushing this nonsense as a primary selling point, they masked the real quality of the platform features. Really, how often does a real-world solution have to run on multiple platforms anyhow? (Note, I'm not saying it never does happen, just that they skewed the product by making it a focal.) Worse, this issue is irrelevant to a lot of shops who standardized on Windows, and while that may be a tad insane on their part, they make up the bulk of the market.

    The bigger lie here though is the contention that Visual Studio 2005 was a step forward in productivity. While it has productive new features, it remains hampered in many places by some serious performance issues, some deadly bugs, and a paradigm shift that left many developers hunting for features that used to be directly on hand. In my shop, we are forced to maintain a hellish mix of VS 2003 and VS 2005 installations and code-bases because the new IDE upgrade can't reliably up-port some code to the new framework version (especially mobile application code), and cannot maintain backward-compatible targeting. One doesn't expect perfection in any tools, but given the time it took to push the IDE out, they should have at least provided a graceful deprecation to allow you to develop 1.1 applications within the IDE. Everyone in development understands the limitations of these tools is necessary to move forward, but VS 2005 has some limitations that render it impractical in many environments.

    I suppose having got that out of my addled brain, I can return to swimming around in these outrageous temperatures.

  • Well, the .NET guys are too busy working to talk smack. And if they Java guys were offended by the truth, they’re too busy hiding to talk smack... Employment figures and apps deployed don’t lie. I’ve interviewed lots of refugees from Java looking to future-proof their careers, but I don’t know of anybody exiting the .NET space for the happy land o’ Java. We can only hope that the real explanation for the silence is that the Slashdot crowd collectively are late sleepers... (Or they’re C++ snobs and they, too, wish Java would just go away. Heh.) The .NET trend may be different in “offshore” markets where many companies are sending their legacy apps to die (in the long, cold dark of the Maintenance Phase), so you’d expect to still see more Java than .NET there.

    To those who are wishing for Access to die, I’m sorry to report that even SQL Server Everywhere Edition will not be killing Access. And probably not Fox Pro either. Although Excel 2007 is central to the next ~1.5 years of the desktop BI strategy, Access won’t be going away. (The desktop-based data mining features that Excel is bringing are amazing, and it will be the primary interface to PerformancePoint for C-level executives.) You might as well wish for VB to wither and die. I know I have. Heh! But it’s not going to happen during this Ice Age.

  • That's an interesting observation you made, Frank, about coding to the strengths of the platform you're using.  I remember reading another editorial here where the merits of using ANSI SQL versus platform-specific SQL were discussed; there too the generic option was seen as less desirable and practical than the strengths offered by platform-specific SQL.

    I've never really seen Java programs used much except for over the web and they were always slow so I wondered how an enterprise application would fare.  I work at a university and we have various platforms on campus and we always code to the specific platform we're writing code for, relying on data exchanges to bridge them.  I agree that the mindset of run anywhere code seems like a fantasy to me because at some point you have to actually run your programs on some platform and when that happens your generic code has to be modified in some fashion to get it to run well on each platform it's running on.  Besides, it seems like a waste to not take advantage of resources that you're paying for in your platforms.

  • Yes.  I wish for Access to die.  I see the self inflicted torture of repair/compact that my customers go through.  I've spent hours debugging a perfectly good application that took out a major factory for hours that was fixed by repair/compact by not one line of code changed.  I will continue to help it go.  Even Microsoft is trying to help by not including the ODBC drivers int the latest MDAC.

    ATBCharles Kincaid

  • Hey that isn't Accesses fault, it is a fundamental issue with the system analyst not doing a good job verifying the correct infrastructure is put in place. Access is a workgroup app and not a good networkable one for the most part. My comment on these types of issues is "Stop using the wrong tools.". Otherwise Access is a great simple tool and a great learning space.

  • The attaction, and the danger, is that there are so many front ends for .NET that you can integrate legacy code without much design review.

    I remember talk of J# for .NET.  What happened with that?

    Linux vs Windows.  Java vs C++.  MS-SQL Server vs MySQL.  Oracle vs everybody including itself.

    I try to stay independent.  That is hard as I have to keep up on everything.

    ATBCharles Kincaid

  • Yes. I agree with you completely.  Just like the first devices comming out in the wireless area.  I don't mean phones for those of us outside the US by the way.  PDA means "personal".  We were trying to cram enterprise data onto a PDA.

    The divices have grown up.  Built in LASER scanners, 802.11 radios, Cellular (wireless) cards, and Blue Tooth.  They even run a "full blown version of SQL server".  Our company makes a killing using these things properly for our customers.

    Access has not grown up.  Just old.  And tired.

    ATBCharles Kincaid

  • I think a mistake Bob Muglia (or maybe Steve) is making is saying Java=J2EE. J2EE is a web application server based on Java. It may be true that J2EE is fading, but that's far from saying that Java is dead. I, for one, use ColdFusion for web development, and this language is seeing a lot of strong growth right now. And guess what? CF is based on Java as well!

    No, Java's not going away anytime soon. .Net may be cool, but there are too many companies out there that need to support more than Windows with their software, and Java fills that need.

Viewing 15 posts - 1 through 15 (of 16 total)

You must be logged in to reply to this topic. Login to reply