Warning: The Content in this Article May be Inaccurate
Readers have reported that this story contains information that may not be accurate.305 Comments
- panique, on 10/12/2007, -18/+159Q: How many Microsoft Engineers does it take to change a light bulb?
A: None. They simply declare darkness to be the new standard. - pezza, on 10/12/2007, -34/+170This just in...Microsoft also sets up a new office in fantasyland.
- nTensify, on 10/12/2007, -21/+107"sets up new office"
Uhh, wouldn't that be "expanded old office"; I'm pretty sure they've held that office for quite some time, their FUD archives are virtually the size of the Library of Congress. - adolfojp, on 10/12/2007, -18/+88Java remained stagnant for a while until .NET arrived. C# gave us the features and the simplicity and elegance of development that Java had been promising for years. In the NEXT version of the JRE, Swing might even include font anti aliasing. That statement itself should provide a good picture of Java's status in the desktop application market.
I strongly believe that .NET is a lot better than Java except for its lack of platform portability.
Ruby on Rails offers simplicity, convention and something that .NET does not: portability. However, Its lack of extensive Unicode support and Ruby's lack of speed for everything else limits its use to a very narrow field.
.NET might be the best thing to have come out of MS. However, like everything else on the software world, it is not the perfect tool for every job. And it doesn't need to be. The more competition the more innovation. - omega1045, on 10/12/2007, -19/+89Whenever someone says Java is "write once, run everywhere", I immediately know that they do not have much experience writing Java and testing what they have written on multiple platforms.
- mighty_mouth, on 10/12/2007, -26/+84.Net really has done better than Java in desktopland.
Maybe not on Linux, but we Windows users see many, many more .Net apps than Java apps. - RyeBrye, on 10/12/2007, -36/+89Yes, and we Mac users see many many... Oh wait. No we don't - We see Java apps.
If they are battling Java on the "write once run everywhere" then they have not come close to winning. - jeffyjones, on 10/12/2007, -15/+55.NET's reason for being was never "write once, run everywhere." That was never a design goal. That, and no one is writing backend stuff intended to run on a thousand different platforms. I've worked in a lot of mixed shops, and no one has ever said, "Well, let's try running these components on this server product instead." It rarely happens.
- merreborn, on 10/12/2007, -16/+52"Whenever someone says Java is "write once, run everywhere", I immediately know that they do not have much experience writing Java and testing what they have written on multiple platforms."
And whenever someone says that, I know they've bought into the FUD, hook, line, and sinker. 80% or more of java apps have no portability issues, period. There are a handful of libraries that are troublesome, but the vast majority behave fine on any platform. I've heard "write once, debug everywhere" over and over again, but never witnessed it. - negativefx, on 10/12/2007, -34/+69And of course there's many many mac users in business land.
Wait, am I in fantasyland right now? - FishersJEFF, on 10/12/2007, -5/+39On a corporate level, Java is still more widely used over .net just because it has been around longer, and many companies fear change (version 2.0 of the framework has added a lot of corporate credibility to .net). Also never have I never seen an enterprise solution that was using the swing packages because it is still listed as experimental from Sun(hence the javax) and it is very inefficient with its memory management. Actually swing is one of the main reasons that Java gets a bad wrap for being slow.
Having said that I have done work with C# and it is a very nice solution, but what I see from a lot of people is very sloppy code. Keep in mind that Visual Studio 2005 has added a lot of tools to enable very quick development, the only major issue is that the is generated is horrible. At the launch party in Indianapolis for Visual Studio they actually had issues with the machine not properly releasing memory that had been allocated.
What it really boils down to is that .net or java are both pretty good solutions, but the end result in either is only as good as the person whom is implementing the system. - DoubtingThomas, on 10/12/2007, -8/+38@omega1045:
I have been coding server-side Java for upwards around 6 years. I have deployed apps developed on bot Windows and GNU/LINUX platforms to Solaris boxes, AS/400s, NT, 2000, GNU/LINUX, etc, etc. In all that time I might have seen one maybe two cross-platform issues. I do very little client-side Java, save for an Eclipse plugin here or there, so I can't comment on that. I do use Eclipse on both Windows and Gnome and have never ran into any serious problems. - devzer0, on 11/02/2007, -15/+42>> I strongly believe that .NET is a lot better than Java except for its lack of platform portability.
One word: Mono
http://www.mono-project.com/
Works just fine. - kellyp, on 10/12/2007, -8/+34man it sure looks like sourceforge would have to disagree.
http://www.cs.berkeley.edu/%7Eflab/languages.png - sambowatkins, on 10/12/2007, -9/+31Umm.. I don't think bluray is a platform, but maybe I'm diluted
- Drahkar, on 10/12/2007, -11/+32This is a funny declaration. .NET may be more heavily used in a desktop form. (And a stress may) but Java is still heavily used all over the place.
This sounds a lot like their repeated declarations in the past of how Windows has and will dominate and replace all other operating systems.
While I won't deny that one is forced to use Windows in a Gaming market. It isn't the only option out there in total. And certainly not always the best option either. - armbar, on 10/12/2007, -3/+24Mono's good, but support for all pieces of the framework are not complete yet. Most of the important ones are, but it's not yet an equivalent.
Also, they still have to catch up with .NET 2.0. According to their roadmap, that won't be until Q4 this year. - JJBagoose, on 10/12/2007, -4/+23Since when did Swing NOT handle anti aliasing? Someone want to alert the current App I work on that it should not be doing it.
- Shakermaker, on 10/12/2007, -13/+31Yeah, because Microsoft saying .Net killed Java means it's true.
- jeffyjones, on 10/12/2007, -7/+24I took a chance back in 2001 when I decided to really dive into .NET after a lay-off, but I made the right choice. Here in the Cleveland area, everything is .NET, and Java gigs are starting to become somewhat less prevalent. There is no shortage of jobs here, and the pay is ridiculously high. It helps that Progressive (the auto insurer) is hiring hundreds of devs.
In many ways though, they were lucky that the Java community didn't step up to the place. The first Visual Studio in 2002 was not that great, and neither was the 2003 version. It was the 2005 version that showed they were really listening, and it's an amazing tool. The shop I'm working in does Java as well (many of our developers are "bi"), and they complain constantly that no IDE works as well as VS.
The thing that has really helped in the long run is all of the open source .NET tools inspired by their Java counterparts, like NUnit and NMock and such. Doesn't hurt that they're giving away the Express IDE's either.
Now if Microsoft can turn out Windows and Office as fast as they do their developer products, they'd actually be less embarrassing to admit you love their stuff! - vprice509, on 10/12/2007, -5/+22Hey sambowatkins, I don't think you are diluted, I think you are full-strength!
- illynova, on 10/12/2007, -3/+20"Mono is a nice idea, but these .Net apps made by the Microsoft toolkits still come with a crummy little .exe stub stuck on the front of their bytecode."
You haven't actually tried to run any of those exes on linux, now have you? Mono will execute a .Net exe without blinking.
Also, to the OP: I've worked on several .Net projects, and I'm currently working on porting on to mono. So long as you stay away from exotic namespaces (System.Managment comes to mind), and you don't use too many of the Forms 2.0 advanced features, you're fine.
If memory serves me correctly, there is a wxWidgets namespace that'll work fine across all platforms. The only problem is that you'll lose microsoft's incredible form developer. (Its actually FUN to build forms in VS2005) - Dochtuir, on 10/12/2007, -5/+18add this " -Dswing.aatext=true " to the java command when you run it for anti-aliasing.
- inactive, on 10/12/2007, -7/+20Tell that to the Financial Sector and they would have a laughing fit. Majority of the finacial firms we work with have Java based enterprise software serving customers.
- awgneo, on 10/12/2007, -10/+23Georgia Tech also validates this claim.
Within the past year Georgia Tech has switched one of its main CS classes, CS2335: Software Practicum, from Java to MS .Net. This may not seem like a big deal; however, it is definitely a sign here that Java is losing influence, especially in education. - fr34k5h0w, on 10/12/2007, -1/+14Okay, the Senator jokes are starting to become as repetitive as Russian and Chuck Norris jokes. Anybody else notice at least one person has to make a comment about tubes, pipes, trucks, lottery chips or some other random comment completely irrelevant to the topic? Just my two and a half cents.
- williamdyer, on 10/12/2007, -2/+14The comments on this thread are really superficial.
For one, declaring Java "dead" is a bit like GM declaring Toyota "dead." LA LA LA, I see no Java, it's dead LA LA LA LA LA can't hear anything...
For another, Java is obviously a dominant platform for Web applications, on the server-side. Google uses Java for that. Google Calendar is a Java on the server-side, and the GWTs let Google develop client code in Java, too.
For another, while .NET and C# are really very good, they are not that much better than NetBeans, Matisse, and Swing. The difference comes down to a few very technical points of language design between C# and Java, and Netbeans, with Matisse, has pretty much caught up to Visual Studio .NET.
Lastly, the results for desktop apps are inconclusive. Not many Windows desktop apps are .NET Framework apps. Microsoft doesn't use their own app framework for Office. Swing is also not widely used, and it is only recently good enough to be widely used. - MrHighTech, on 10/12/2007, -5/+17The thing with Java is that a lot of the good stable applications run on the back end. Truly Swing was in need of some help the past few years but if you take the time to look at blogs like Guy Romain's, you will quickly see that Swing can be very sexy and portable too!
So two things... J2EE is where the real stuff is (that's why MS is trying do discredit it) and Java 6 is a MAJOR improvement on the desktop (the "gray rectangle" repaint is now gone and that makes the apps look much more native) - nixfu, on 10/12/2007, -7/+19More Available Jobs A search on Monster.com will quickly reveal that there are 10 times more jobs that require Java skill than C# jobs. In fact a third of C# jobs require Java skills.
The TIOBE Programming Community index gives an indication of the popularity of programming languages. The index is updated once a month. The ratings are based on the world-wide availability of skilled engineers, courses and third party vendors. The popular search engines Google, MSN, and Yahoo! are used to calculate the ratings.
http://www.tiobe.com/tpci.htm
1 Java 21.853% 2.19%
2 C 17.829% -2.02%
3 (Visual) Basic 10.689% 4.62%
4 PHP 10.350% 1.18%
5 C 9.779% -1.28%
6 Perl 5.626% -2.20%
7 C# 3.401% 0.26%
The fact is in order to be really commited to .NET you have to pretty much be a 100% micrsoft shop, and those are QUITE rare in the real world...most operations have a good mix of platforms on the server side. - armbar, on 10/12/2007, -2/+14"because .NET doesn't give you control over what gets output on your page"
That's the worst BS I've heard today. That's like saying DreamWeaver never lets you write HTML. You can stay in WYSIWYG mode if you want, but you can move to plain HTML or code view at any time. You can even write your own custom control if you want.
Cut the crap and get the facts. - jeffyjones, on 10/12/2007, -4/+15Yeah, but if you have an app that runs on one version of the framework, there's no reason to run it in the newer version. That's what's nice about the side-by-side execution.
We recently moved up to 2.0 at Insurance.com, and there were some bumps, but it mostly went well. Still selling policies! :) - pumacub, on 10/12/2007, -1/+12@ aNoble
Again you show that you have no idea what you're talking about.
AJAX in .NET 2.0 is pretty damn slick, and easy to implement. Jebus, do a little research before you whine and complain. - mhargus, on 10/12/2007, -1/+11I've been a developer of mainly server-side applications for the past ten years, and have experience using both Java and .Net. They are both strong frameworks, have at least one good IDE to develop in, and are continuously being improved upon. I think the statement from Microsoft that .Net has beaten Java is one that can be proved or disproved depending on whose stats you want to look at, and what market you're working in. It's a statement from some marketing hack, and means little to me.
In my experience, it's the maturity of the development team that makes or breaks an application development effort. Sure, platform, tools and support play a part, but they play a much smaller role than that of the experience of the team building the system.
My 2.35 cents. - asmodeus, on 10/12/2007, -4/+14When I used OS X, I remember that Swing was anti-aliased there - but yeah, the default font rendering in the Swing widgets for the Sun version (and I'm assuming all the others?) is pretty ugly. AFAIK Java2D has been able to do anti-aliased fonts for ages, but I'm sure there were valid reasons they didn't use it for the widgets. I have a vague memory of there being some environment variable that could be set to enable it on Swing stuff, but I may be mistaken.
Mono seems reasonably good for portability to me, as long as you stay away from platform specific APIs, and use stuff like wx.NET, GTK#, or other similar cross platform stuff. - swingsetacid, on 10/12/2007, -0/+10In Soviet Russia, Chuck Norris unclogs your tubes!
- jmacdonagh, on 10/12/2007, -2/+12Right. The .NET engine itself (the CLR and other base systems) is an ECMA standard, as well as C#. What libraries you implement using these standards is up to you. Mono seems to be doing just fine in terms of legal trouble when they re-implement the actual framework libraries.
Also, Microsoft released an open source version of the actual framework and well as ECMA implementations.
http://www.microsoft.com/downloads/details.aspx?FamilyId=8C09FD61-3F26-4555-AE17-3121B4F51D4D&displaylang=en
And just because Java is "open source" doesn't mean you can do whatever you want with the source. Hell, you can decompile most of the .NET libararies and get the source as it stands now. - ucg1, on 10/12/2007, -3/+12I suspect the people saying Eclipse sucks haven't spent the time to really learn how to use it. What don't you like about it? I listed reasons why I liked Eclipse better than VS.Net 2005. At least explain yourself instead of just proclaiming something sucks.
- h2d2, on 10/12/2007, -19/+28"man it sure looks like sourceforge would have to disagree."
At some point in your life you will realize that sourceforge doesn't make you any money. And money is what makes the world go round. Just start searching for a programming job, and will realize how much in demand .NET skills are, compared to Java or even C++.
It's the businesses and job markets that decide the success of a software or programming language, not the number of abandonware found on sourceforge. - Thud, on 10/12/2007, -3/+12"Using ASP.NET pretty much means you have to EVERYTHING in .NET, javascript, css, everything."
No, it means you CAN do everything in .Net if you WANT to. There's absolutely nothing stopping you from managing your own CSS, or writing your own javascript. I'm a J2EE developer but I've also done .Net apps before, and I wrote my own javascript in most cases. - Mirag3, on 10/12/2007, -7/+16@sambowatkins
Congratulations, you are neither "diluted" nor "deluded", blu-ray is a storage medium, not a platform. - sonofagunn, on 10/12/2007, -3/+11The .NET framework competes more directly with J2EE, not Java in general. And J2EE has sucked for a long time (tons of unnecessary complexity), but with EJB 3.0 and Java Annotations, it's getting a lot better.
I've worked with both and I can attest that, if you want to risk running the Windows OS on your backend servers, then .NET is a much more pleasing environment for your developers than the common J2EE tools. However, we have much less trouble with our Solaris and Linux servers so we stick with J2EE. - niko2416, on 10/12/2007, -4/+12Tell those Java developers to use Intellij IDEA. It will quickly change their mind "that no IDE works as well as VS." I promise.
- S1mba, on 10/12/2007, -1/+9"Meanwhile, Ruby makes both Java and .NET look pretty poor."
Only in the hype department. In the reality department, Ruby can't cut it.
15 times slower than Java under load, eats up SQL time like mad cause it doesn't support prepared statements, no good development tools and practiclally 0 refactoring ability because of the limitations of tools being able to analyize dynamic languages, no ability to catch incorrect assignments at development time which allows them to become runtime bugs, etc. - corser, on 10/12/2007, -0/+8Wow java was what like 2 years old at that point.
The reason sun sued microsoft is because they were making changes that would have made ms java incompatible with Java.
Also most VMs have Just in time compiling, so the code is no longer interpreted. The great thing about Java, C# etc is that they make the job of development quick and easier at the expense of some performance. Though if you find C++ bloated then I don't think any argument would change your mind. - stimuli, on 10/12/2007, -6/+14Obviously you know what you're talking about...
/snark - MrKite, on 10/12/2007, -46/+54Since when does Java allow write-once-run-everywhere? That's total BS.
.NET wasn't meant to run on other platforms (although it runs very well on Linux).
Personally, I think C# /.NET is the best language/framework when it comes to oop, ease-of-use, tools, web development, and cleanliness (code that any programmer can read).
Languages like Ruby are horrible. Talk about a language that's bug prone and not very programmer friendly. Sure, it has some shortcuts that help out a 'lazy' programmer, but those shortcuts just make it difficult for another programmer who needs to work on the same code-base.
what the hell is this? %w(this is stupid) or foo = [ 102, 'ridiculous array', 656563.323 ] ??
You've got to be kidding me! Who designed this bug prone language anyway, some bash shell dork or something? - JamesShiell, on 10/12/2007, -5/+13And I'm a Java developer and really it's not all too bad. Especially if you're using IntelliJ IDEA and toys like WebWork2, Spring and Hibernate.
Whatever personal opinions, however, the fact that there's a huge amount of Java work available seems to show MS's statement as optimistic at best...
Steep learning curve though, especially if you're going to play with Swing. It's all to easy to make bad Swing apps. - myobie, on 10/12/2007, -4/+11Java is def not dead, but .Net is better than when it started.
Also, if Microsoft takes Ruby on Rails seriously, you could see some neet stuff in respect to conventions in .Net. I think that Microsoft trying to compete respectably is great and will lead to some great web app frameworks.
Again, Java is not dead. Most enterprise apps are not written in .Net yet. - dasch, on 10/12/2007, -0/+7Speaking as a vivid Rubyist I can only say: BRING IT ON!
- drewthaler, on 10/12/2007, -3/+10The poster who mentioned Blu-Ray is correct.
Blu-Ray is not *just* a storage format. Like DVD, the same term is used to mean lots of things. Blu-Ray also means the high-definition video storage container, and the overall specification for playback of high-definition video. The Blu-Ray video format includes the ability to run applications written in a subset of Java called BD-J. In fact, it's integral to the format because that's how menus will be defined: http://en.wikipedia.org/wiki/BD-J
Thus Blu-Ray players will be using Java, and Blu-Ray is a "platform" in the same way POSIX is often considered a "platform"... there will be different implementations but they will all be covered by a single specification. -
Show 51 - 100 of 302 discussions



What is Digg?
Browsing Digg on your phone just got easier with our enhancements to the